Completed
Push — master ( f2f6e8...470987 )
by mw
33:59
created

testMakeAnonymousContainer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 8
nc 1
nop 0
dl 0
loc 14
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace SMW\Tests\DataModel;
4
5
use SMW\DataModel\ContainerSemanticData;
6
use SMW\DataItemFactory;
7
use SMW\SemanticData;
8
9
/**
10
 * @covers \SMW\DataModel\ContainerSemanticData
11
 * @group semantic-mediawiki
12
 *
13
 * @license GNU GPL v2+
14
 * @since 2.5
15
 *
16
 * @author mwjames
17
 */
18
class ContainerSemanticDataTest extends \PHPUnit_Framework_TestCase {
19
20
	private $dataItemFactory;
21
22
	protected function setUp() {
23
		parent::setUp();
24
25
		$this->dataItemFactory = new DataItemFactory();
26
	}
27
28
	public function testCanConstruct() {
29
30
		$this->assertInstanceOf(
31
			ContainerSemanticData::class,
32
			new ContainerSemanticData( $this->dataItemFactory->newDIWikiPage( __METHOD__, NS_MAIN ) )
33
		);
34
	}
35
36
	public function testMakeAnonymousContainer() {
37
38
		$instance = ContainerSemanticData::makeAnonymousContainer();
39
		$instance->skipAnonymousCheck();
40
41
		$this->assertInstanceOf(
42
			ContainerSemanticData::class,
43
			$instance
44
		);
45
46
		$this->assertTrue(
47
			$instance->hasAnonymousSubject()
48
		);
49
	}
50
51
	public function testGetSubjectOnAnonymousContainerWithoutSkipThrowsException() {
52
53
		$instance = ContainerSemanticData::makeAnonymousContainer();
54
55
		$this->setExpectedException( '\SMW\Exception\DataItemException' );
56
		$instance->getSubject();
57
	}
58
59
	public function testCopyDataFrom() {
60
61
		$subject = $this->dataItemFactory->newDIWikiPage( __METHOD__, NS_MAIN );
62
63
		$semanticData = new SemanticData(
64
			$subject
65
		);
66
67
		$instance = ContainerSemanticData::makeAnonymousContainer( true, true );
68
69
		$this->assertNotEquals(
70
			$subject,
71
			$instance->getSubject()
72
		);
73
74
		$instance->copyDataFrom( $semanticData );
75
76
		$this->assertEquals(
77
			$subject,
78
			$instance->getSubject()
79
		);
80
	}
81
82
}
83