public function testGetRankChange()
 {
     $expected = new DiffOpChange(Statement::RANK_PREFERRED, Statement::RANK_DEPRECATED);
     $difference = new ClaimDifference(null, null, null, $expected);
     $actual = $difference->getRankChange();
     $this->assertInstanceOf('Diff\\DiffOp\\DiffOpChange', $actual);
     $this->assertEquals($expected, $actual);
 }
 /**
  * Generates HTML of a statement change.
  *
  * @since 0.4
  *
  * @param ClaimDifference $claimDifference
  * @param Statement $baseStatement The new statement, if it exists. Otherwise the old statement.
  *
  * @return string HTML
  */
 public function visualizeClaimChange(ClaimDifference $claimDifference, Statement $baseStatement)
 {
     $newestMainSnak = $baseStatement->getMainSnak();
     $oldestMainSnak = $newestMainSnak;
     $html = '';
     $mainSnakChange = $claimDifference->getMainSnakChange();
     if ($mainSnakChange !== null) {
         $oldestMainSnak = $mainSnakChange->getOldValue() ?: $newestMainSnak;
         $html .= $this->visualizeMainSnakChange($mainSnakChange, $oldestMainSnak, $newestMainSnak);
     }
     $rankChange = $claimDifference->getRankChange();
     if ($rankChange !== null) {
         $html .= $this->visualizeRankChange($rankChange, $oldestMainSnak, $newestMainSnak);
     }
     $qualifierChanges = $claimDifference->getQualifierChanges();
     if ($qualifierChanges !== null) {
         $html .= $this->visualizeQualifierChanges($qualifierChanges, $oldestMainSnak, $newestMainSnak);
     }
     $referenceChanges = $claimDifference->getReferenceChanges();
     if ($referenceChanges !== null) {
         $html .= $this->visualizeReferenceChanges($referenceChanges, $oldestMainSnak, $newestMainSnak);
     }
     return $html;
 }