ModuleRequestTest::testEquals()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 4
rs 10
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
3
namespace PPP\Module\DataModel;
4
5
use PPP\DataModel\FirstNode;
6
use PPP\DataModel\MissingNode;
7
8
/**
9
 * @covers PPP\Module\DataModel\ModuleRequest
10
 *
11
 * @licence MIT
12
 * @author Thomas Pellissier Tanon
13
 */
14
class ModuleRequestTest extends \PHPUnit_Framework_TestCase {
15
16
	public function testGetLanguageCode() {
17
		$request = new ModuleRequest('en', new MissingNode(), 'a');
18
		$this->assertEquals('en', $request->getLanguageCode());
19
	}
20
21
	public function testGetSentenceTree() {
22
		$request = new ModuleRequest('en', new MissingNode(), 'a');
23
		$this->assertEquals(new MissingNode(), $request->getSentenceTree());
24
	}
25
26
	public function testGetRequestId() {
27
		$request = new ModuleRequest('en', new MissingNode(), 'a');
28
		$this->assertEquals('a', $request->getRequestId());
29
	}
30
31
	public function testGetMeasures() {
32
		$request = new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1), array('a'));
33
		$this->assertEquals(array('accuracy' => 1), $request->getMeasures());
34
	}
35
36
	public function testGetTrace() {
37
		$request = new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1), array('a'));
38
		$this->assertEquals(array('a'), $request->getTrace());
39
	}
40
41
	public function testEquals() {
42
		$request = new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1), array('a'));
43
		$this->assertTrue($request->equals(new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1))));
44
	}
45
46
	/**
47
	 * @dataProvider nonEqualsProvider
48
	 */
49
	public function testNonEquals(ModuleRequest $node, $target) {
50
		$this->assertFalse($node->equals($target));
51
	}
52
53
	public function nonEqualsProvider() {
54
		return array(
55
			array(
56
				new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1)),
57
				new MissingNode()
58
			),
59
			array(
60
				new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1)),
61
				new ModuleRequest('fr', new MissingNode(), 'a', array('accuracy' => 1))
62
			),
63
			array(
64
				new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1)),
65
				new ModuleRequest('en', new FirstNode(new MissingNode()), 'a', array('accuracy' => 1))
66
			),
67
			array(
68
				new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1)),
69
				new ModuleRequest('en', new MissingNode(), 'b', array('accuracy' => 1))
70
			),
71
			array(
72
				new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 1)),
73
				new ModuleRequest('en', new MissingNode(), 'a', array('accuracy' => 0))
74
			),
75
		);
76
	}
77
}
78