Passed
Push — master ( 62264f...226050 )
by Petr
08:16
created

SetRuleTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 12
c 0
b 0
f 0
dl 0
loc 22
rs 10
1
<?php
2
3
namespace coreTests\Rules;
4
5
6
use CommonTestClass;
7
use kalanis\kw_table\core\Table\Rules;
8
use kalanis\kw_table\core\TableException;
9
10
11
class SetRuleTest extends CommonTestClass
12
{
13
    /**
14
     * @throws TableException
15
     */
16
    public function testMatch(): void
17
    {
18
        $lib = new Rules\Set();
19
        $lib->addRule(new Rules\Always('first extra rule'));
20
        $lib->addRule(new Rules\Always('another extra rule'));
21
22
        $lib->allMustPass(false);
23
        $this->assertTrue($lib->validate('2'));
24
25
        $lib->allMustPass(true);
26
        $this->assertTrue($lib->validate('2'));
27
28
        $lib->addRule(new Rules\Negate(new Rules\Always('this will fail them')));
29
        $this->assertFalse($lib->validate('2'));
30
31
        $lib->allMustPass(false);
32
        $this->assertTrue($lib->validate('2'));
33
    }
34
}
35