RecursiveTripleNodeSimplifierTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 4
c 1
b 0
f 1
lcom 0
cbo 7
dl 0
loc 31
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A buildSimplifier() 0 3 1
A simplifiableProvider() 0 7 1
A nonSimplifiableProvider() 0 7 1
A simplificationProvider() 0 8 1
1
<?php
2
3
namespace PPP\Module\TreeSimplifier;
4
5
use PPP\DataModel\MissingNode;
6
use PPP\DataModel\ResourceListNode;
7
use PPP\DataModel\TripleNode;
8
use PPP\DataModel\UnionNode;
9
10
/**
11
 * @covers PPP\Module\TreeSimplifier\RecursiveTripleNodeSimplifier
12
 *
13
 * @licence MIT
14
 * @author Thomas Pellissier Tanon
15
 */
16
class RecursiveTripleNodeSimplifierTest extends NodeSimplifierBaseTest {
17
18
	protected function buildSimplifier() {
19
		return new RecursiveTripleNodeSimplifier(new NodeSimplifierFactory());
20
	}
21
22
	public function simplifiableProvider() {
23
		return array(
24
			array(
25
				new TripleNode(new MissingNode(), new MissingNode(), new MissingNode())
26
			)
27
		);
28
	}
29
30
	public function nonSimplifiableProvider() {
31
		return array(
32
			array(
33
				new MissingNode()
34
			)
35
		);
36
	}
37
38
	public function simplificationProvider() {
39
		return array(
40
			array(
41
				new TripleNode(new ResourceListNode(), new ResourceListNode(), new ResourceListNode()),
42
				new TripleNode(new UnionNode(array()), new UnionNode(array()), new UnionNode(array()))
43
			),
44
		);
45
	}
46
}
47