OptionsTest   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 2
dl 0
loc 33
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testBooleanSettersAndGetters() 0 20 3
A testSetAndGetName() 0 8 2
1
<?php
2
3
declare( strict_types = 1 );
4
5
namespace ParamProcessor\Tests\Unit;
6
7
use ParamProcessor\Options;
8
use PHPUnit\Framework\TestCase;
9
10
/**
11
 * @covers \ParamProcessor\Options
12
 *
13
 * @licence GNU GPL v2+
14
 * @author Jeroen De Dauw < [email protected] >
15
 */
16
class OptionsTest extends TestCase {
17
18
	public function testBooleanSettersAndGetters() {
19
		$methods = [
20
			'setUnknownInvalid' => 'unknownIsInvalid',
21
			'setLowercaseNames' => 'lowercaseNames',
22
			'setRawStringInputs' => 'isStringlyTyped',
23
			'setTrimNames' => 'trimNames',
24
			'setTrimValues' => 'trimValues',
25
			'setLowercaseValues' => 'lowercaseValues',
26
		];
27
28
		foreach ( $methods as $setter => $getter ) {
29
			$options = new Options();
30
31
			foreach ( [ false, true, false ] as $boolean ) {
32
				call_user_func_array( [ $options, $setter ], [ $boolean ] );
33
34
				$this->assertEquals( $boolean, call_user_func( [ $options, $getter ] ) );
35
			}
36
		}
37
	}
38
39
	public function testSetAndGetName() {
40
		$options = new Options();
41
42
		foreach ( [ 'foo', 'bar baz' ] as $name ) {
43
			$options->setName( $name );
44
			$this->assertEquals( $name, $options->getName() );
45
		}
46
	}
47
48
}
49