Completed
Push — master ( 356d31...2bbcd7 )
by mw
02:43
created

testCanConstructMappingIterator()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 9
rs 9.6666
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
namespace SMW\Notifications\Tests;
4
5
use RecursiveIterator;
6
use SMW\Notifications\IteratorFactory;
7
use SMW\Notifications\Iterator\MappingIterator;
8
use SMW\Notifications\Iterator\RecursiveGroupMembersIterator;
9
use SMW\Notifications\Iterator\ChildlessRecursiveIterator;
10
use RecursiveIteratorIterator;
11
use SMW\Store;
12
13
/**
14
 * @covers \SMW\Notifications\IteratorFactory
15
 * @group semantic-notifications
16
 *
17
 * @license GNU GPL v2+
18
 * @since 1.0
19
 *
20
 * @author mwjames
21
 */
22
class IteratorFactoryTest extends \PHPUnit_Framework_TestCase {
23
24
	public function testCanConstructMappingIterator() {
25
26
		$instance = new IteratorFactory();
27
28
		$this->assertInstanceOf(
29
			MappingIterator::class,
30
			$instance->newMappingIterator( [], function() {} )
31
		);
32
	}
33
34
	public function testCanConstructRecursiveGroupMembersIterator() {
35
36
		$store = $this->getMockBuilder( Store::class )
37
			->disableOriginalConstructor()
38
			->getMockForAbstractClass();
39
40
		$instance = new IteratorFactory();
41
42
		$this->assertInstanceOf(
43
			RecursiveGroupMembersIterator::class,
44
			$instance->newRecursiveGroupMembersIterator( [], $store )
45
		);
46
	}
47
48
	public function testCanConstructRecursiveIteratorIterator() {
49
50
		$recursiveIterator = $this->getMockBuilder( RecursiveIterator::class )
51
			->disableOriginalConstructor()
52
			->getMock();
53
54
		$instance = new IteratorFactory();
55
56
		$this->assertInstanceOf(
57
			RecursiveIteratorIterator::class,
58
			$instance->newRecursiveIteratorIterator( $recursiveIterator )
59
		);
60
	}
61
62
	public function testCanConstructChildlessRecursiveIterator() {
63
64
		$instance = new IteratorFactory();
65
66
		$this->assertInstanceOf(
67
			ChildlessRecursiveIterator::class,
68
			$instance->newChildlessRecursiveIterator( [] )
69
		);
70
	}
71
72
}
73