コード例 #1
0
 /**
  * @dataProvider diffClaimsProvider
  */
 public function testDiffClaims(Statement $oldStatement = null, Statement $newStatement = null, ClaimDifference $expected)
 {
     $differ = new ClaimDiffer(new OrderedListDiffer(new ComparableComparer()));
     $actual = $differ->diffClaims($oldStatement, $newStatement);
     $this->assertTrue($expected->equals($actual));
     // Additional fail-safe checks to guard against an ArrayObject bug in PHP 5.3, that returned
     // true when using == to compare two ArrayObject instances with differing content.
     $this->assertEquals($expected->getQualifierChanges()->getArrayCopy(), $actual->getQualifierChanges()->getArrayCopy());
     $this->assertEquals($expected->getReferenceChanges()->getArrayCopy(), $actual->getReferenceChanges()->getArrayCopy());
 }
 /**
  * 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;
 }
コード例 #3
0
 /**
  * @dataProvider nonAtomicClaimDifferenceProvider
  *
  * @param ClaimDifference $claimDifference
  */
 public function testIsNotAtomic($claimDifference)
 {
     $this->assertFalse($claimDifference->isAtomic(), "isAtomic reports claimDifference as atomic, although it is not");
 }