ReferencedEntityIdLookupExceptionTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 4
dl 0
loc 43
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testConstructorWithOnlyRequiredArguments() 0 17 1
A testConstructorWithAllArguments() 0 21 1
1
<?php
2
3
namespace Wikibase\DataModel\Services\Tests\Lookup;
4
5
use Exception;
6
use PHPUnit\Framework\TestCase;
7
use Wikibase\DataModel\Entity\ItemId;
8
use Wikibase\DataModel\Entity\PropertyId;
9
use Wikibase\DataModel\Services\Lookup\ReferencedEntityIdLookupException;
10
11
/**
12
 * @covers \Wikibase\DataModel\Services\Lookup\ReferencedEntityIdLookupException
13
 *
14
 * @license GPL-2.0-or-later
15
 * @author Marius Hoch
16
 */
17
class ReferencedEntityIdLookupExceptionTest extends TestCase {
18
19
	public function testConstructorWithOnlyRequiredArguments() {
20
		$entityId = new ItemId( 'Q1' );
21
		$propertyId = new PropertyId( 'P12' );
22
		$toIds = [
23
			new ItemId( 'Q5' ),
24
			new ItemId( 'Q2013' )
25
		];
26
		$exception = new ReferencedEntityIdLookupException( $entityId, $propertyId, $toIds );
27
28
		$this->assertSame(
29
			'Referenced entity id lookup failed. ' .
30
			'Tried to find a referenced entity out of Q5, Q2013 linked from Q1 via P12',
31
			$exception->getMessage()
32
		);
33
		$this->assertSame( 0, $exception->getCode() );
34
		$this->assertNull( $exception->getPrevious() );
35
	}
36
37
	public function testConstructorWithAllArguments() {
38
		$entityId = new ItemId( 'Q1' );
39
		$propertyId = new PropertyId( 'P12' );
40
		$toIds = [
41
			new ItemId( 'Q5' ),
42
			new ItemId( 'Q2013' )
43
		];
44
		$previous = new Exception( 'previous' );
45
46
		$exception = new ReferencedEntityIdLookupException(
47
			$entityId,
48
			$propertyId,
49
			$toIds,
50
			'blah blah',
51
			$previous
52
		);
53
54
		$this->assertSame( 'blah blah', $exception->getMessage() );
55
		$this->assertSame( 0, $exception->getCode() );
56
		$this->assertSame( $previous, $exception->getPrevious() );
57
	}
58
59
}
60