Completed
Push — master ( 32dcda...951284 )
by
unknown
06:45 queued 10s
created

TermFallbackServiceFactoryTest::testNewCache()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
declare( strict_types = 1 );
4
5
namespace Wikibase\Lib\Tests\TermFallbackCache;
6
7
use BagOStuff;
8
use CachedBagOStuff;
9
use IBufferingStatsdDataFactory;
10
use PHPUnit\Framework\TestCase;
11
use Psr\SimpleCache\CacheInterface;
12
use Wikibase\Lib\SimpleCacheWithBagOStuff;
13
use Wikibase\Lib\StatsdRecordingSimpleCache;
14
use Wikibase\Lib\TermFallbackCache\TermFallbackCacheServiceFactory;
15
16
/**
17
 * @covers \Wikibase\Lib\TermFallbackCache\TermFallbackCacheServiceFactory
18
 *
19
 * @group Wikibase
20
 *
21
 * @license GPL-2.0-or-later
22
 */
23
class TermFallbackServiceFactoryTest extends TestCase {
24
25
	public function testNewSharedCache() {
26
		$sut = $this->createSUT();
27
		$this->assertInstanceOf(
28
			BagOStuff::class,
29
			$sut->newSharedCache( CACHE_ANYTHING )
30
		);
31
	}
32
33
	public function testNewInMemoryCache() {
34
		$bagOStuff = $this->createMock( BagOStuff::class );
35
36
		$sut = $this->createSUT();
37
		$this->assertInstanceOf(
38
			CachedBagOStuff::class,
39
			$sut->newInMemoryCache( $bagOStuff )
40
		);
41
	}
42
43
	public function testNewCache() {
44
		$bagOStuff = $this->createMock( BagOStuff::class );
45
46
		$sut = $this->createSUT();
47
		$this->assertInstanceOf(
48
			SimpleCacheWithBagOStuff::class,
49
			$sut->newCache( $bagOStuff, 'pre', 'psst' )
50
		);
51
	}
52
53
	public function testNewStatsdRecordingCache() {
54
		$cache = $this->createMock( CacheInterface::class );
55
		$statsdDataFactory = $this->createMock( IBufferingStatsdDataFactory::class );
56
57
		$sut = $this->createSUT();
58
		$this->assertInstanceOf(
59
			StatsdRecordingSimpleCache::class,
60
			$sut->newStatsdRecordingCache( $cache, $statsdDataFactory, [ 'miss' => 'sad', 'hit' => 'hey' ] )
61
		);
62
	}
63
64
	private function createSUT() {
65
		return new TermFallbackCacheServiceFactory();
66
	}
67
68
}
69