BetweenQuerySerializerTest::serializableProvider()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 1 Features 0
Metric Value
cc 1
eloc 13
c 3
b 1
f 0
nc 1
nop 0
dl 0
loc 24
rs 8.9713
1
<?php
2
3
namespace WikidataQueryApi\Query\Serializers;
4
5
use DataValues\TimeValue;
6
use Wikibase\DataModel\Entity\PropertyId;
7
use WikidataQueryApi\Query\BetweenQuery;
8
9
/**
10
 * @covers WikidataQueryApi\Query\Serializers\BetweenQuerySerializer
11
 *
12
 * @licence GPLv2+
13
 * @author Thomas Pellissier Tanon
14
 */
15
class BetweenQuerySerializerTest extends SerializerBaseTest {
16
17
	public function buildSerializer() {
18
		return new BetweenQuerySerializer();
19
	}
20
21
	public function serializableProvider() {
22
		return [
23
			[
24
				new BetweenQuery(
25
					new PropertyId( 'P42' ),
26
					new TimeValue( '+1952-03-11T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' ),
27
					new TimeValue( '+1952-03-12T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' )
28
				)
29
			],
30
			[
31
				new BetweenQuery(
32
					new PropertyId( 'P42' ),
33
					new TimeValue( '+1952-03-11T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' )
34
				)
35
			],
36
			[
37
				new BetweenQuery(
38
					new PropertyId( 'P42' ),
39
					null,
40
					new TimeValue( '+1952-03-12T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' )
41
				)
42
			],
43
		];
44
	}
45
46
	public function nonSerializableProvider() {
47
		return [
48
			[
49
				5
50
			],
51
			[
52
				[]
53
			],
54
			[
55
				new TimeValue( '+1952-03-12T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' )
56
			],
57
		];
58
	}
59
60
	public function serializationProvider() {
61
		return [
62
			[
63
				'between[42,+1952-03-11T00:00:00Z,+1952-03-12T00:00:00Z]',
64
				new BetweenQuery(
65
					new PropertyId( 'P42' ),
66
					new TimeValue( '+1952-03-11T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' ),
67
					new TimeValue( '+1952-03-12T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' )
68
				)
69
			],
70
			[
71
				'between[42,+1952-03-11T00:00:00Z]',
72
				new BetweenQuery(
73
					new PropertyId( 'P42' ),
74
					new TimeValue( '+1952-03-11T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' )
75
				)
76
			],
77
			[
78
				'between[42,,+1952-03-12T00:00:00Z]',
79
				new BetweenQuery(
80
					new PropertyId( 'P42' ),
81
					null,
82
					new TimeValue( '+1952-03-12T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'foo' )
83
				)
84
			],
85
		];
86
	}
87
}
88