IsoTimeFormatterTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 53
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
B validProvider() 0 40 1
A getInstance() 0 3 1
1
<?php
2
3
namespace PPP\Wikidata\ValueFormatters;
4
5
use DataValues\TimeValue;
6
use ValueFormatters\FormatterOptions;
7
use ValueFormatters\Test\ValueFormatterTestBase;
8
9
/**
10
 * @covers PPP\Wikidata\ValueFormatters\IsoTimeFormatter
11
 *
12
 * @licence AGPLv3+
13
 * @author Thomas Pellissier Tanon
14
 */
15
class IsoTimeFormatterTest extends ValueFormatterTestBase {
16
17
	/**
18
	 * @see JsonLdFormatterTestBase::validProvider
19
	 */
20
	public function validProvider() {
21
		return array(
22
			array(
23
				new TimeValue('+1952-03-11T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'http://www.wikidata.org/entity/Q1985786'),
24
				'1952-03-11'
25
			),
26
			array(
27
				new TimeValue('-1952-03-11T00:00:00Z', 0, 0, 0, TimeValue::PRECISION_DAY, 'http://www.wikidata.org/entity/Q1985786'),
28
				'-1952-03-11'
29
			),
30
			array(
31
				new TimeValue('+1952-03-11T01:01:01Z', 90, 0, 0, TimeValue::PRECISION_YEAR, 'http://www.wikidata.org/entity/Q1985786'),
32
				'1952'
33
			),
34
			array(
35
				new TimeValue('+1952-03-11T01:01:01Z', 90, 0, 0, TimeValue::PRECISION_MONTH, 'http://www.wikidata.org/entity/Q1985786'),
36
				'1952-03'
37
			),
38
			array(
39
				new TimeValue('+1952-03-11T01:01:01Z', 90, 0, 0, TimeValue::PRECISION_DAY, 'http://www.wikidata.org/entity/Q1985786'),
40
				'1952-03-11'
41
			),
42
			array(
43
				new TimeValue('+1952-03-11T01:01:01Z', 90, 0, 0, TimeValue::PRECISION_HOUR, 'http://www.wikidata.org/entity/Q1985786'),
44
				'1952-03-11T01+01:30'
45
			),
46
			array(
47
				new TimeValue('+1952-03-11T01:01:01Z', 90, 0, 0, TimeValue::PRECISION_MINUTE, 'http://www.wikidata.org/entity/Q1985786'),
48
				'1952-03-11T01:01+01:30'
49
			),
50
			array(
51
				new TimeValue('+1952-03-11T01:01:01Z', 90, 0, 0, TimeValue::PRECISION_SECOND, 'http://www.wikidata.org/entity/Q1985786'),
52
				'1952-03-11T01:01:01+01:30'
53
			),
54
			array(
55
				new TimeValue('+1952-03-11T01:01:01Z', -90, 0, 0, TimeValue::PRECISION_SECOND, 'http://www.wikidata.org/entity/Q1985786'),
56
				'1952-03-11T01:01:01-01:30'
57
			),
58
		);
59
	}
60
61
	/**
62
	 * @see JsonLdFormatterTestBase::getInstance
63
	 */
64
	protected function getInstance(FormatterOptions $options = null) {
65
		return new IsoTimeFormatter($options);
66
	}
67
}
68