SiteLinkSerializerTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 68
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
A buildSerializer() 0 3 1
A serializableProvider() 0 12 1
A nonSerializableProvider() 0 13 1
A serializationProvider() 0 33 1
1
<?php
2
3
namespace Tests\Wikibase\DataModel\Serializers;
4
5
use Wikibase\DataModel\Entity\ItemId;
6
use Wikibase\DataModel\Serializers\SiteLinkSerializer;
7
use Wikibase\DataModel\SiteLink;
8
9
/**
10
 * @covers Wikibase\DataModel\Serializers\SiteLinkSerializer
11
 *
12
 * @license GPL-2.0-or-later
13
 * @author Thomas Pellissier Tanon
14
 */
15
class SiteLinkSerializerTest extends DispatchableSerializerTest {
16
17
	protected function buildSerializer() {
18
		return new SiteLinkSerializer();
19
	}
20
21
	public function serializableProvider() {
22
		return [
23
			[
24
				new SiteLink( 'enwiki', 'Nyan Cat' )
25
			],
26
			[
27
				new SiteLink( 'enwiki', 'Nyan Cat', [
28
					new ItemId( 'Q42' )
29
				] )
30
			],
31
		];
32
	}
33
34
	public function nonSerializableProvider() {
35
		return [
36
			[
37
				5
38
			],
39
			[
40
				[]
41
			],
42
			[
43
				new ItemId( 'Q42' )
44
			],
45
		];
46
	}
47
48
	public function serializationProvider() {
49
		return [
50
			[
51
				[
52
					'site' => 'enwiki',
53
					'title' => 'Nyan Cat',
54
					'badges' => []
55
				],
56
				new SiteLink( 'enwiki', 'Nyan Cat' )
57
			],
58
			[
59
				[
60
					'site' => 'enwiki',
61
					'title' => 'Nyan Cat',
62
					'badges' => [ 'Q42' ]
63
				],
64
				new SiteLink( 'enwiki', 'Nyan Cat', [
65
					new ItemId( 'Q42' )
66
				] )
67
			],
68
			[
69
				[
70
					'site' => 'frwikisource',
71
					'title' => 'Nyan Cat',
72
					'badges' => [ 'Q42', 'Q43' ]
73
				],
74
				new SiteLink( 'frwikisource', 'Nyan Cat', [
75
					new ItemId( 'Q42' ),
76
					new ItemId( 'q43' )
77
				] )
78
			],
79
		];
80
	}
81
82
}
83