TermLookupExceptionTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testConstructorWithOnlyRequiredArguments() 0 12 1
A testConstructorWithAllArguments() 0 15 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\Services\Lookup\TermLookupException;
9
10
/**
11
 * @covers \Wikibase\DataModel\Services\Lookup\TermLookupException
12
 *
13
 * @license GPL-2.0-or-later
14
 * @author Thiemo Kreuz
15
 */
16
class TermLookupExceptionTest extends TestCase {
17
18
	public function testConstructorWithOnlyRequiredArguments() {
19
		$entityId = new ItemId( 'Q1' );
20
		$exception = new TermLookupException( $entityId, [ 'de', 'en' ] );
21
22
		$this->assertSame( $entityId, $exception->getEntityId() );
23
		$this->assertSame(
24
			'Term lookup failed for: Q1 with language codes: de, en',
25
			$exception->getMessage()
26
		);
27
		$this->assertSame( 0, $exception->getCode() );
28
		$this->assertNull( $exception->getPrevious() );
29
	}
30
31
	public function testConstructorWithAllArguments() {
32
		$entityId = new ItemId( 'Q1' );
33
		$previous = new Exception( 'previous' );
34
		$exception = new TermLookupException(
35
			$entityId,
36
			[ 'de', 'en' ],
37
			'customMessage',
38
			$previous
39
		);
40
41
		$this->assertSame( $entityId, $exception->getEntityId() );
42
		$this->assertSame( 'customMessage', $exception->getMessage() );
43
		$this->assertSame( 0, $exception->getCode() );
44
		$this->assertSame( $previous, $exception->getPrevious() );
45
	}
46
47
}
48