Completed
Push — master ( 388143...889690 )
by Thomas
05:32 queued 02:57
created

EntityDocumentCacheTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 4
c 2
b 0
f 1
lcom 0
cbo 5
dl 0
loc 31
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testFetchWithHit() 0 8 1
A testFetchWithMiss() 0 4 1
A testContainsTrue() 0 8 1
A testContainsFalse() 0 5 1
1
<?php
2
3
namespace Wikibase\EntityStore\Cache;
4
5
use Doctrine\Common\Cache\ArrayCache;
6
use Wikibase\DataModel\Entity\Item;
7
use Wikibase\DataModel\Entity\ItemId;
8
9
/**
10
 * @covers Wikibase\EntityStore\Cache\EntityDocumentCache
11
 *
12
 * @licence GPLv2+
13
 * @author Thomas Pellissier Tanon
14
 */
15
class EntityDocumentCacheTest extends \PHPUnit_Framework_TestCase {
16
17
	public function testFetchWithHit() {
18
		$item = new Item( new ItemId( 'Q42' ) );
19
20
		$cache = new EntityDocumentCache( new ArrayCache() );
21
		$cache->save( $item );
22
23
		$this->assertEquals( $item, $cache->fetch( new ItemId( 'Q42' ) ) );
24
	}
25
26
	public function testFetchWithMiss() {
27
		$cache = new EntityDocumentCache( new ArrayCache() );
28
		$this->assertNull( $cache->fetch( new ItemId( 'Q42' ) ) );
29
	}
30
31
	public function testContainsTrue() {
32
		$item = new Item( new ItemId( 'Q42' ) );
33
34
		$cache = new EntityDocumentCache( new ArrayCache() );
35
		$cache->save($item);
36
37
		$this->assertTrue( $cache->contains( new ItemId( 'Q42' ) ) );
38
	}
39
40
	public function testContainsFalse() {
41
		$cache = new EntityDocumentCache( new ArrayCache() );
42
43
		$this->assertFalse( $cache->contains( new ItemId( 'Q42' ) ) );
44
	}
45
}
46