TimeResourceNodeDeserializerTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 72
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 3
dl 0
loc 72
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 19 1
A deserializationProvider() 0 21 1
1
<?php
2
3
namespace PPP\DataModel\Deserializers;
4
5
use PPP\DataModel\TimeResourceNode;
6
7
/**
8
 * @covers PPP\DataModel\Deserializers\TimeResourceNodeDeserializer
9
 *
10
 * @licence AGPLv3+
11
 * @author Thomas Pellissier Tanon
12
 */
13
class TimeResourceNodeDeserializerTest extends DeserializerBaseTest {
14
15
	/**
16
	 * @see DeserializerBaseTest::buildDeserializer
17
	 */
18
	public function buildDeserializer() {
19
		return new TimeResourceNodeDeserializer();
20
	}
21
22
	/**
23
	 * @see DeserializerBaseTest::deserializableProvider
24
	 */
25
	public function deserializableProvider() {
26
		return array(
27
			array(
28
				array(
29
					'type' => 'resource',
30
					'value-type' => 'time',
31
					'value' => '1111-11-11'
32
				)
33
			)
34
		);
35
	}
36
37
	/**
38
	 * @see DeserializerBaseTest::nonDeserializableProvider
39
	 */
40
	public function nonDeserializableProvider() {
41
		return array(
42
			array(
43
				42
44
			),
45
			array(
46
				array(
47
					'type' => 'foo'
48
				)
49
			),
50
			array(
51
				array(
52
					'type' => 'resource',
53
					'value-type' => 'boolean',
54
					'value' => 'true'
55
				)
56
			)
57
		);
58
	}
59
60
	/**
61
	 * @see DeserializerBaseTest::deserializationProvider
62
	 */
63
	public function deserializationProvider() {
64
		return array(
65
			array(
66
				new TimeResourceNode('1111-11-11'),
67
				array(
68
					'type' => 'resource',
69
					'value-type' => 'time',
70
					'value' => '1111-11-11'
71
				)
72
			),
73
			array(
74
				new TimeResourceNode('1111-11-11', 'julian'),
75
				array(
76
					'type' => 'resource',
77
					'value-type' => 'time',
78
					'value' => '1111-11-11',
79
					'calendar' => 'julian'
80
				)
81
			)
82
		);
83
	}
84
}
85