1<?php
2
3/**
4 * Created by IntelliJ IDEA.
5 * User: clay
6 * Date: 8/23/15
7 * Time: 10:48 PM
8 */
9
10require_once("../ResponseChecker.php");
11
12
13
14
15
16class ResponseCheckerTest extends PHPUnit_Framework_TestCase
17{
18
19    public function testPassingReponse()
20    {
21        $resp = new Response();
22        $json = json_encode($resp);
23
24        $checker = new ResponseChecker();
25
26        $this->assertEquals(true, $checker->userIsValid($json));
27    }
28
29    public function testToleranceIsSetInConstructor()
30    {
31        $checker = new ResponseChecker(7.6);
32
33        $this->assertEquals(7.6, $checker->tolerance);
34    }
35
36    public function testEmailOccursHighConfidenceFails()
37    {
38        $resp = new Response(null, new ResponseCategory(10, 25.0), null);
39        $json = json_encode($resp);
40
41        $checker = new ResponseChecker();
42        $this->assertEquals(false, $checker->userIsValid($json));
43        $this->assertEquals("email", $checker->trigger);
44        $this->assertEquals(25.0, $checker->confidence);
45    }
46
47    public function testEmailOccursLowConfidencePasses()
48    {
49        $resp = new Response(null, new ResponseCategory(10, 9.7), null);
50        $json = json_encode($resp);
51
52        $checker = new ResponseChecker();
53        $this->assertEquals(true, $checker->userIsValid($json));
54        $this->assertEquals("", $checker->trigger);
55        $this->assertEquals(0, $checker->confidence);
56    }
57
58    public function testUsernameOccursHighConfidenceFails()
59    {
60        $resp = new Response(new ResponseCategory(10, 25.0), null, null);
61        $json = json_encode($resp);
62
63        $checker = new ResponseChecker();
64        $this->assertEquals(false, $checker->userIsValid($json));
65        $this->assertEquals("username", $checker->trigger);
66        $this->assertEquals(25.0, $checker->confidence);
67    }
68
69    public function testUsernameOccursLowConfidencePasses()
70    {
71        $resp = new Response(new ResponseCategory(10, 9.7), null, null);
72        $json = json_encode($resp);
73
74        $checker = new ResponseChecker();
75        $this->assertEquals(true, $checker->userIsValid($json));
76        $this->assertEquals("", $checker->trigger);
77        $this->assertEquals(0, $checker->confidence);
78    }
79
80    public function testIpOccursHighConfidenceFails()
81    {
82        $resp = new Response(null, null, new ResponseCategory(10, 25.0));
83        $json = json_encode($resp);
84
85        $checker = new ResponseChecker();
86        $this->assertEquals(false, $checker->userIsValid($json));
87        $this->assertEquals("ip", $checker->trigger);
88        $this->assertEquals(25.0, $checker->confidence);
89    }
90
91    public function testIpOccursLowConfidencePasses()
92    {
93        $resp = new Response(null, null, new ResponseCategory(10, 9.7));
94        $json = json_encode($resp);
95
96        $checker = new ResponseChecker();
97        $this->assertEquals(true, $checker->userIsValid($json));
98        $this->assertEquals("", $checker->trigger);
99        $this->assertEquals(0, $checker->confidence);
100    }
101}
102
103