TripleNodeTest::nonEqualsProvider()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 36
Code Lines 26

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 36
c 0
b 0
f 0
rs 8.8571
nc 1
cc 1
eloc 26
nop 0
1
<?php
2
3
namespace PPP\DataModel;
4
5
/**
6
 * @covers PPP\DataModel\TripleNode
7
 *
8
 * @licence AGPLv3+
9
 * @author Thomas Pellissier Tanon
10
 */
11
class TripleNodeTest extends \PHPUnit_Framework_TestCase {
12
13
	public function testGetSubject() {
14
		$tripleNode = new TripleNode(
15
			new ResourceListNode(array(new StringResourceNode('s'))),
16
			new ResourceListNode(array(new StringResourceNode('p'))),
17
			new MissingNode()
18
		);
19
		$this->assertEquals(new ResourceListNode(array(new StringResourceNode('s'))), $tripleNode->getSubject());
20
	}
21
22
	public function testGetPredicate() {
23
		$tripleNode = new TripleNode(
24
			new ResourceListNode(array(new StringResourceNode('s'))),
25
			new ResourceListNode(array(new StringResourceNode('p'))),
26
			new MissingNode()
27
		);
28
		$this->assertEquals(new ResourceListNode(array(new StringResourceNode('p'))), $tripleNode->getPredicate());
29
	}
30
31
	public function testGetObject() {
32
		$tripleNode = new TripleNode(
33
			new ResourceListNode(array(new StringResourceNode('s'))),
34
			new ResourceListNode(array(new StringResourceNode('p'))),
35
			new MissingNode()
36
		);
37
		$this->assertEquals(new MissingNode(), $tripleNode->getObject());
38
	}
39
40
	public function testGetType() {
41
		$tripleNode = new TripleNode(
42
			new ResourceListNode(array(new StringResourceNode('s'))),
43
			new ResourceListNode(array(new StringResourceNode('p'))),
44
			new MissingNode()
45
		);
46
		$this->assertEquals('triple', $tripleNode->getType());
47
	}
48
49
	public function testEquals() {
50
		$node = new TripleNode(
51
			new ResourceListNode(array(new StringResourceNode('s'))),
52
			new ResourceListNode(array(new StringResourceNode('p'))),
53
			new MissingNode()
54
		);
55
		$this->assertTrue($node->equals(new TripleNode(
56
			new ResourceListNode(array(new StringResourceNode('s'))),
57
			new ResourceListNode(array(new StringResourceNode('p'))),
58
			new MissingNode()
59
		)));
60
	}
61
62
	/**
63
	 * @dataProvider nonEqualsProvider
64
	 */
65
	public function testNonEquals(TripleNode $node, $target) {
66
		$this->assertFalse($node->equals($target));
67
	}
68
69
	public function nonEqualsProvider() {
70
		return array(
71
			array(
72
				new TripleNode(
73
					new ResourceListNode(array(new StringResourceNode('s'))),
74
					new MissingNode(),
75
					new MissingNode()
76
				),
77
				new MissingNode()
78
			),
79
			array(
80
				new TripleNode(
81
					new ResourceListNode(array(new StringResourceNode('s'))),
82
					new MissingNode(),
83
					new MissingNode()
84
				),
85
				new TripleNode(new MissingNode(), new MissingNode(), new MissingNode())
86
			),
87
			array(
88
				new TripleNode(
89
					new MissingNode(),
90
					new ResourceListNode(array(new StringResourceNode('s'))),
91
					new MissingNode()
92
				),
93
				new TripleNode(new MissingNode(), new MissingNode(), new MissingNode())
94
			),
95
			array(
96
				new TripleNode(
97
					new MissingNode(),
98
					new MissingNode(),
99
					new ResourceListNode(array(new StringResourceNode('s')))
100
				),
101
				new TripleNode(new MissingNode(), new MissingNode(), new MissingNode())
102
			),
103
		);
104
	}
105
}
106