Passed
Push — master ( b2accd...5a4945 )
by WEBEWEB
01:50
created

SkiDataCardParserTest::testParseEntity()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 35
Code Lines 32

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 32
nc 1
nop 0
dl 0
loc 35
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * This file is part of the skidata-library package.
5
 *
6
 * (c) 2017 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Library\SkiData\Tests\Parser;
13
14
use DateTime;
15
use PHPUnit_Framework_TestCase;
16
use WBW\Library\SkiData\Entity\SkiDataCard;
17
use WBW\Library\SkiData\Parser\SkiDataCardParser;
18
19
/**
20
 * SkiData card parser test.
21
 *
22
 * @author webeweb <https://github.com/webeweb/>
23
 * @package WBW\Library\SkiData\Tests\Parser
24
 * @final
25
 */
26
final class SkiDataCardParserTest extends PHPUnit_Framework_TestCase {
27
28
    /**
29
     * Tests the parseEntity() method.
30
     *
31
     * @return void
32
     */
33
    public function testParseEntity() {
34
35
        $obj = new SkiDataCard();
36
        $obj->setTicketNumber("ticketNumber");
37
        $obj->setUserNumber(987654321);
38
        $obj->setArticleNumber(321);
39
        $obj->setValidFrom(new DateTime("2017-09-20 08:00:00"));
40
        $obj->setExpires(new DateTime("2017-09-21 08:00:00"));
41
        $obj->setBlocked(true);
42
        $obj->setBlockedDate(null);
43
        $obj->setProductionState(2);
44
        $obj->setReasonProduction(0);
45
        $obj->setProductionCounter(3412);
46
        $obj->setNeutral(false);
47
        $obj->setRetainTicketEntry(false);
48
        $obj->setEntryBarrierClosed(true);
49
        $obj->setExitBarrierClosed(true);
50
        $obj->setRetainTicketExit(false);
51
        $obj->setDisplayText(true);
52
        $obj->setDisplayText1("displayText1");
53
        $obj->setDisplayText2("displayText2");
54
        $obj->setPersonnalNo(9876);
55
        $obj->setResidualValue(123456789012);
56
        $obj->setSerialNumberKeyCardSwatch("serialNumberKeyCard");
57
        $obj->setCurrencyResidualValue("3.0");
58
        $obj->setTicketType(3);
59
        $obj->setTicketSubType("ticke");
60
        $obj->setSerialNo("serialNo");
61
        $obj->setSuspendPeriodFrom(null);
62
        $obj->setSuspendPeriodUntil(new DateTime("2017-09-22 08:00:00"));
63
        $obj->setUseValidCarParks(true);
64
        $obj->setProductionFacilityNumber(1234567);
65
66
        $res = '"ticketNumber";987654321;321;20170920;20170921;1;;2;0;3412;0;0;1;1;0;1;"displayText1";"displayText2";9876;123456789012;"serialNumberKeyCard";"3.0";3;"ticke";"serialNo";;20170922;1;1234567';
67
        $this->assertEquals($res, (new SkiDataCardParser())->parseEntity($obj));
68
    }
69
70
    /**
71
     * Tests the parseLine() method.
72
     *
73
     * @return void
74
     */
75
    public function testParseLine() {
76
77
        $obj = '"ticketNumber";987654321;321;20170920;20170921;1;;2;0;3412;0;0;1;1;0;1;"displayText1";"displayText2";9876;123456789012;"serialNumberKeyCard";"3.0";3;"ticke";"serialNo";;20170922;1;1234567';
78
79
        $res = (new SkiDataCardParser())->parseLine($obj);
80
        $this->assertEquals("ticketNumber", $res->getTicketNumber());
81
        $this->assertEquals(987654321, $res->getUserNumber());
82
        $this->assertEquals(321, $res->getArticleNumber());
83
        $this->assertEquals(new DateTime("2017-09-20 00:00:00"), $res->getValidFrom());
84
        $this->assertEquals(new DateTime("2017-09-21 00:00:00"), $res->getExpires());
85
        $this->assertEquals(true, $res->getBlocked());
86
        $this->assertEquals(null, $res->getBlockedDate());
87
        $this->assertEquals(2, $res->getProductionState());
88
        $this->assertEquals(0, $res->getReasonProduction());
89
        $this->assertEquals(3412, $res->getProductionCounter());
90
        $this->assertEquals(false, $res->getNeutral());
91
        $this->assertEquals(false, $res->getRetainTicketEntry());
92
        $this->assertEquals(true, $res->getEntryBarrierClosed());
93
        $this->assertEquals(true, $res->getExitBarrierClosed());
94
        $this->assertEquals(false, $res->getRetainTicketExit());
95
        $this->assertEquals(true, $res->getDisplayText());
96
        $this->assertEquals("displayText1", $res->getDisplayText1());
97
        $this->assertEquals("displayText2", $res->getDisplayText2());
98
        $this->assertEquals(9876, $res->getPersonnalNo());
99
        $this->assertEquals(123456789012, $res->getResidualValue());
100
        $this->assertEquals("serialNumberKeyCard", $res->getSerialNumberKeyCardSwatch());
101
        $this->assertEquals("3.0", $res->getCurrencyResidualValue());
102
        $this->assertEquals(3, $res->getTicketType());
103
        $this->assertEquals("ticke", $res->getTicketSubType());
104
        $this->assertEquals("serialNo", $res->getSerialNo());
105
        $this->assertEquals(null, $res->getSuspendPeriodFrom());
106
        $this->assertEquals(new DateTime("2017-09-22 00:00:00"), $res->getSuspendPeriodUntil());
107
        $this->assertEquals(true, $res->getUseValidCarParks());
108
        $this->assertEquals(1234567, $res->getProductionFacilityNumber());
109
    }
110
111
}
112