TripleNodeDeserializerTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 83
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
A buildDeserializer() 0 3 1
A deserializableProvider() 0 12 1
A nonDeserializableProvider() 0 12 1
B deserializationProvider() 0 38 1
1
<?php
2
3
namespace PPP\DataModel\Deserializers;
4
5
use PPP\DataModel\DeserializerFactory;
6
use PPP\DataModel\ResourceListNode;
7
use PPP\DataModel\StringResourceNode;
8
use PPP\DataModel\TripleNode;
9
use PPP\DataModel\UnionNode;
10
11
/**
12
 * @covers PPP\DataModel\Deserializers\TripleNodeDeserializer
13
 *
14
 * @licence AGPLv3+
15
 * @author Thomas Pellissier Tanon
16
 */
17
class TripleNodeDeserializerTest extends DeserializerBaseTest {
18
19
	/**
20
	 * @see DeserializerBaseTest::buildDeserializer
21
	 */
22
	public function buildDeserializer() {
23
		return new TripleNodeDeserializer(new DeserializerFactory());
24
	}
25
26
	/**
27
	 * @see DeserializerBaseTest::deserializableProvider
28
	 */
29
	public function deserializableProvider() {
30
		return array(
31
			array(
32
				array(
33
					'type' => 'triple',
34
					'subject' => array('type' => 'resource', 'value' => 's'),
35
					'predicate' => array('type' => 'resource', 'value' => 'p'),
36
					'object' => array('type' => 'resource', 'value' => 'o')
37
				)
38
			)
39
		);
40
	}
41
42
	/**
43
	 * @see DeserializerBaseTest::nonDeserializableProvider
44
	 */
45
	public function nonDeserializableProvider() {
46
		return array(
47
			array(
48
				42
49
			),
50
			array(
51
				array(
52
					'type' => 'foo'
53
				)
54
			)
55
		);
56
	}
57
58
	/**
59
	 * @see DeserializerBaseTest::deserializationProvider
60
	 */
61
	public function deserializationProvider() {
62
		return array(
63
			array(
64
				new TripleNode(
65
					new ResourceListNode(array(new StringResourceNode('s'))),
66
					new ResourceListNode(array(new StringResourceNode('p'))),
67
					new ResourceListNode(array(new StringResourceNode('o')))
68
				),
69
				array(
70
					'type' => 'triple',
71
					'subject' => array('type'=> 'list', 'list' => array(array('type' => 'resource', 'value' => 's'))),
72
					'predicate' => array('type' => 'resource', 'value' => 'p'),
73
					'object' => array('type' => 'resource', 'value' => 'o')
74
				)
75
			),
76
			array(
77
				new UnionNode(array(
78
					new TripleNode(
79
						new ResourceListNode(array(new StringResourceNode('s'))),
80
						new ResourceListNode(array(new StringResourceNode('p'))),
81
						new ResourceListNode(array(new StringResourceNode('o')))
82
					),
83
					new TripleNode(
84
						new ResourceListNode(array(new StringResourceNode('o'))),
85
						new ResourceListNode(array(new StringResourceNode('r'))),
86
						new ResourceListNode(array(new StringResourceNode('s')))
87
					)
88
				)),
89
				array(
90
					'type' => 'triple',
91
					'subject' => array('type'=> 'list', 'list' => array(array('type' => 'resource', 'value' => 's'))),
92
					'predicate' => array('type' => 'resource', 'value' => 'p'),
93
					'inverse-predicate' => array('type' => 'resource', 'value' => 'r'),
94
					'object' => array('type' => 'resource', 'value' => 'o')
95
				)
96
			)
97
		);
98
	}
99
}
100