deserializationProvider()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 38
Code Lines 28

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 38
c 0
b 0
f 0
rs 8.8571
nc 1
cc 1
eloc 28
nop 0
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