IteratorFactoryTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testCanConstructMappingIterator() 0 9 1
A testCanConstructRecursiveMembersIterator() 0 13 1
A testCanConstructRecursiveIteratorIterator() 0 13 1
A testCanConstructChildlessRecursiveIterator() 0 9 1
1
<?php
2
3
namespace SMW\Notifications\Tests;
4
5
use RecursiveIterator;
6
use SMW\Notifications\IteratorFactory;
7
use SMW\Notifications\Iterators\MappingIterator;
8
use SMW\Notifications\Iterators\RecursiveMembersIterator;
9
use SMW\Notifications\Iterators\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 testCanConstructRecursiveMembersIterator() {
35
36
		$store = $this->getMockBuilder( Store::class )
37
			->disableOriginalConstructor()
38
			->getMockForAbstractClass();
39
40
		$instance = new IteratorFactory();
41
42
		$this->assertInstanceOf(
43
			RecursiveMembersIterator::class,
44
			$instance->newRecursiveMembersIterator( [], $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