SortNodeDeserializerTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 7
dl 0
loc 59
c 0
b 0
f 0
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A buildDeserializer() 0 3 1
A deserializableProvider() 0 11 1
A nonDeserializableProvider() 0 12 1
A deserializationProvider() 0 15 1
1
<?php
2
3
namespace PPP\DataModel\Deserializers;
4
5
use PPP\DataModel\DeserializerFactory;
6
use PPP\DataModel\ResourceListNode;
7
use PPP\DataModel\SortNode;
8
use PPP\DataModel\StringResourceNode;
9
10
/**
11
 * @covers PPP\DataModel\Deserializers\SortNodeDeserializer
12
 *
13
 * @licence AGPLv3+
14
 * @author Thomas Pellissier Tanon
15
 */
16
class SortNodeDeserializerTest extends DeserializerBaseTest {
17
18
	/**
19
	 * @see DeserializerBaseTest::buildDeserializer
20
	 */
21
	public function buildDeserializer() {
22
		return new SortNodeDeserializer(new DeserializerFactory(), new StringResourceNodeDeserializer());
23
	}
24
25
	/**
26
	 * @see DeserializerBaseTest::deserializableProvider
27
	 */
28
	public function deserializableProvider() {
29
		return array(
30
			array(
31
				array(
32
					'type' => 'sort',
33
					'subject' => array('type' => 'resource', 'value' => 's'),
34
					'predicate' => array('type' => 'resource', 'value' => 'p')
35
				)
36
			)
37
		);
38
	}
39
40
	/**
41
	 * @see DeserializerBaseTest::nonDeserializableProvider
42
	 */
43
	public function nonDeserializableProvider() {
44
		return array(
45
			array(
46
				42
47
			),
48
			array(
49
				array(
50
					'type' => 'foo'
51
				)
52
			)
53
		);
54
	}
55
56
	/**
57
	 * @see DeserializerBaseTest::deserializationProvider
58
	 */
59
	public function deserializationProvider() {
60
		return array(
61
			array(
62
				new SortNode(
63
					new ResourceListNode(array(new StringResourceNode('s'))),
64
					new StringResourceNode('p')
65
				),
66
				array(
67
					'type' => 'sort',
68
					'list' => array('type'=> 'list', 'list' => array(array('type' => 'resource', 'value' => 's'))),
69
					'predicate' => array('type' => 'resource', 'value' => 'p')
70
				)
71
			)
72
		);
73
	}
74
}
75