SetupCreateObjectTest::testSetupName()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 17
rs 9.7
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
// php artisan test
4
namespace Tests\Unit;
5
6
use Tests\TestCase;
7
use Joki20\Http\Controllers\Setup;
8
/**
9
 * Test cases for class Guess.
10
 */
11
class SetupCreateObjectTest extends TestCase
12
{
13
    // /**
14
    //  * Construct object and verify that the object is instance of class
15
    //  */
16
    public function testCreateObjectPokerSquares()
17
    {
18
        $setup = new Setup();
19
        $this->assertInstanceOf("\Joki20\Http\Controllers\Setup", $setup);
20
    }
21
22
    public function testSetupName()
23
    {
24
        $setup = new Setup();
25
26
        $exp = 265;
27
        $res = strlen($setup->name());
28
29
        $this->assertEquals($exp, $res);
30
31
        $exp = '<div class="enterName"><form method="POST" autocomplete="off">
32
                <input type="text" name="setName" placeholder="Name" minlength=3 onfocus=this.placeholder = required >
33
                <input type="submit" value="GO">
34
            </form></div>
35
        ';
36
        $res = $setup->name();
37
        $this->assertEquals($exp, $res);
38
    }
39
40
    public function testPrepareSessions()
41
    {
42
        $setup = new Setup();
43
        $_POST['setName'] = 'Johan';
44
        $setup->prepareSessions();
45
46
        $exp = 'Johan';
47
        $res = session('name');
48
        $this->assertEquals($exp, $res);
49
    }
50
51
    public function testShuffleDeck()
52
    {
53
        $setup = new Setup();
54
55
        $setup->shuffleDeck();
56
        $firstShuffle = session('deck');
57
        $setup->shuffleDeck();
58
        $secondShuffle = session('deck');
59
        $this->assertNotEquals($firstShuffle, $secondShuffle);
60
    }
61
62
    public function testPrepareStack()
63
    {
64
        $setup = new Setup();
65
        //
66
        session()->put('deck', ['a','b','c','d','e','f']);
67
        $beforeFirstValue = session('deck')[0];
68
        $setup->prepareStack(); // reverses order of array
69
        $afterLastValue = session('deck')[5];
70
        $this->assertEquals($beforeFirstValue, $afterLastValue);
71
72
    }
73
74
    public function testDisplayGrid()
75
    {
76
        $setup = new Setup();
77
78
        session()->put('scoreRow0.score', 10);
79
        session()->put('scoreRow1.score', 10);
80
        session()->put('scoreRow2.score', 10);
81
        session()->put('scoreRow3.score', 10);
82
        session()->put('scoreRow4.score', 10);
83
        session()->put('scoreColumn0.score', 10);
84
        session()->put('scoreColumn1.score', 10);
85
        session()->put('scoreColumn2.score', 10);
86
        session()->put('scoreColumn3.score', 10);
87
        session()->put('scoreColumn4.score', 10);
88
89
        $setup->displayGrid();
90
        $exp = 100;
91
        $res = session('totalScore');
92
93
        $this->assertEquals($exp, $res);
94
95
        session()->put('round', 20);
96
        $substring = '<tr>';
97
        $exp = $setup->displayGrid();
98
        $this->assertStringContainsString($substring, $exp);
99
    }
100
101
    public function testPlaceCard() {
102
        $setup = new Setup();
103
104
        session()->put('deck', [1,2,3,4,5,6,7,8,9]);
105
        $_POST['position'] = '00';
106
        session()->put('round', 14);
107
        $setup->placeCard();
108
109
        $exp = 15;
110
        $res = session('round');
111
112
        $this->assertEquals($exp, $res);
113
    }
114
115
}
116