Test Failed
Pull Request — master (#186)
by Bekh-Ivanov
03:40
created

testStatemetsAreMergedWhenPatched()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 31
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 31
rs 8.8571
cc 1
eloc 24
nc 1
nop 0
1
<?php
2
3
namespace Wikibase\DataModel\Services\Tests\Diff;
4
5
use Wikibase\DataModel\Services\Diff\StatementListDiffer;
6
use Wikibase\DataModel\Services\Diff\StatementListPatcher;
7
use Wikibase\DataModel\Snak\PropertyNoValueSnak;
8
use Wikibase\DataModel\Snak\SnakList;
9
use Wikibase\DataModel\Statement\Statement;
10
use Wikibase\DataModel\Statement\StatementList;
11
12
class StatementListDifferPatcherTest extends \PHPUnit_Framework_TestCase {
13
14
	public function testStatemetsAreMergedWhenPatched() {
15
		$guid = 'some-guid';
16
		$statementLatest = new Statement(
17
			new PropertyNoValueSnak( 1 ),
18
			new SnakList( [ new PropertyNoValueSnak( 3 ) ] ),
19
			null,
20
			$guid
21
		);
22
		$statementFrom = new Statement(
23
			new PropertyNoValueSnak( 1 ),
24
			new SnakList( [ new PropertyNoValueSnak( 1 ) ] ),
25
			null,
26
			$guid
27
		);
28
		$statementTo = new Statement(
29
			new PropertyNoValueSnak( 1 ),
30
			new SnakList( [ new PropertyNoValueSnak( 2 ) ] ),
31
			null,
32
			$guid
33
		);
34
		$latestStatementList = new StatementList( [ $statementLatest ] );
35
36
		$differ = new StatementListDiffer();
37
		$patcher = new StatementListPatcher();
38
39
		$diff = $differ->getDiff( new StatementList( [ $statementFrom ] ), new StatementList( [ $statementTo ] ) );
40
		$patcher->patchStatementList( $latestStatementList, $diff );
41
42
		$statement = $latestStatementList->getFirstStatementWithGuid( $guid );
43
		$this->assertEquals( 2, $statement->getQualifiers()->count() );
44
	}
45
}
46