RecursiveSortNodeSimplifierTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 8

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
c 1
b 0
f 0
lcom 0
cbo 8
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\SortNode;
8
use PPP\DataModel\StringResourceNode;
9
use PPP\DataModel\UnionNode;
10
11
/**
12
 * @covers PPP\Module\TreeSimplifier\RecursiveSortNodeSimplifier
13
 *
14
 * @licence MIT
15
 * @author Thomas Pellissier Tanon
16
 */
17
class RecursiveSortNodeSimplifierTest extends NodeSimplifierBaseTest {
18
19
	protected function buildSimplifier() {
20
		return new RecursiveSortNodeSimplifier(new NodeSimplifierFactory());
21
	}
22
23
	public function simplifiableProvider() {
24
		return array(
25
			array(
26
				new SortNode(new MissingNode(), new StringResourceNode('foo'))
27
			)
28
		);
29
	}
30
31
	public function nonSimplifiableProvider() {
32
		return array(
33
			array(
34
				new MissingNode()
35
			)
36
		);
37
	}
38
39
	public function simplificationProvider() {
40
		return array(
41
			array(
42
				new SortNode(new ResourceListNode(), new StringResourceNode('foo')),
43
				new SortNode(new UnionNode(array()), new StringResourceNode('foo'))
44
			),
45
		);
46
	}
47
}
48