1: <?php
2: require_once(__DIR__."/../../../TestCase.php");
3:
4: use Azalea\Shared\Variants\Rules\AzaleaUserRule;
5: use Azalea\Shared\Variants\Rules\ClientRule;
6: use Azalea\Shared\Variants\Rules\CustomerRule;
7: use Azalea\Shared\Variants\Rules\UserRule;
8: use Azalea\Core\Util\NestedHashMap;
9:
10: class VariantRulesTest extends TestCase
11: {
12: public function testUserRule()
13: {
14: $userRule = new UserRule();
15:
16: $this->assertTrue($userRule->test(1042, new NestedHashMap(array("usr_id" => 1042))));
17: $this->assertFalse($userRule->test(1042, new NestedHashMap(array("usr_id" => 100))));
18:
19: $this->assertTrue($userRule->test(array(1042), new NestedHashMap(array("usr_id" => 1042))));
20: $this->assertFalse($userRule->test(array(1042), new NestedHashMap(array("usr_id" => 100))));
21:
22: $this->assertTrue($userRule->test(array(1042, 2015, 300), new NestedHashMap(array("usr_id" => 1042))));
23: $this->assertFalse($userRule->test(array(1042, 2015, 300), new NestedHashMap(array("usr_id" => 100))));
24:
25: $this->assertFalse($userRule->test(1042, new NestedHashMap(array())));
26: }
27:
28: public function testCustomerRule()
29: {
30: $customerRule = new CustomerRule();
31:
32: $this->assertTrue($customerRule->test(1042, new NestedHashMap(array("cus_id" => 1042))));
33: $this->assertFalse($customerRule->test(1042, new NestedHashMap(array("cus_id" => 100))));
34:
35: $this->assertTrue($customerRule->test(array(1042), new NestedHashMap(array("cus_id" => 1042))));
36: $this->assertFalse($customerRule->test(array(1042), new NestedHashMap(array("cus_id" => 100))));
37:
38: $this->assertTrue($customerRule->test(array(1042, 2015, 300), new NestedHashMap(array("cus_id" => 1042))));
39: $this->assertFalse($customerRule->test(array(1042, 2015, 300), new NestedHashMap(array("cus_id" => 100))));
40:
41: $this->assertFalse($customerRule->test(1042, new NestedHashMap(array())));
42: }
43:
44: public function testClientRule()
45: {
46: $clientRule = new ClientRule();
47:
48: $this->assertTrue($clientRule->test(1042, new NestedHashMap(array("cli_id" => 1042))));
49: $this->assertFalse($clientRule->test(1042, new NestedHashMap(array("cli_id" => 100))));
50:
51: $this->assertTrue($clientRule->test(array(1042), new NestedHashMap(array("cli_id" => 1042))));
52: $this->assertFalse($clientRule->test(array(1042), new NestedHashMap(array("cli_id" => 100))));
53:
54: $this->assertTrue($clientRule->test(array(1042, 2015, 300), new NestedHashMap(array("cli_id" => 1042))));
55: $this->assertFalse($clientRule->test(array(1042, 2015, 300), new NestedHashMap(array("cli_id" => 100))));
56:
57: $this->assertFalse($clientRule->test(1042, new NestedHashMap(array())));
58: }
59:
60: public function testAzaleaUserRule()
61: {
62: $azaleaUserRule = new AzaleaUserRule();
63:
64: $this->assertTrue($azaleaUserRule->test(true, new NestedHashMap(array("is_ahi" => true))));
65: $this->assertTrue($azaleaUserRule->test(false, new NestedHashMap(array("is_ahi" => false))));
66:
67: $this->assertFalse($azaleaUserRule->test(false, new NestedHashMap(array("is_ahi" => true))));
68: $this->assertFalse($azaleaUserRule->test(true, new NestedHashMap(array("is_ahi" => false))));
69: }
70: }
71:
72: ?>