NodeSimplifierFactoryTest::testNewNodeSimplifier()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 21
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 0 Features 2
Metric Value
c 4
b 0
f 2
dl 0
loc 21
rs 9.3142
cc 1
eloc 14
nc 1
nop 0
1
<?php
2
3
namespace PPP\Module\TreeSimplifier;
4
5
use PPP\DataModel\FirstNode;
6
use PPP\DataModel\IntersectionNode;
7
use PPP\DataModel\LastNode;
8
use PPP\DataModel\MissingNode;
9
use PPP\DataModel\ResourceListNode;
10
use PPP\DataModel\SortNode;
11
use PPP\DataModel\StringResourceNode;
12
use PPP\DataModel\TripleNode;
13
use PPP\DataModel\UnionNode;
14
15
/**
16
 * @covers PPP\Module\TreeSimplifier\NodeSimplifierFactory
17
 *
18
 * @licence MIT
19
 * @author Thomas Pellissier Tanon
20
 */
21
class NodeSimplifierFactoryTest extends \PHPUnit_Framework_TestCase {
22
23
	public function testNewNodeSimplifier() {
24
		$factory = new NodeSimplifierFactory();
25
26
		$this->assertEquals(
27
			new TripleNode(
28
				new ResourceListNode(),
29
				new FirstNode(new SortNode(new resourceListNode(), new StringResourceNode('foo'))),
30
				new MissingNode()
31
			),
32
			$factory->newNodeSimplifier()->simplify(new TripleNode(
33
				new UnionNode(array()),
34
				new FirstNode(new SortNode(
35
					new IntersectionNode(array(
36
						new LastNode(new ResourceListNode())
37
					)),
38
					new StringResourceNode('foo')
39
				)),
40
				new MissingNode()
41
			))
42
		);
43
	}
44
}
45