Completed
Push — master ( 666d36...a3ce9d )
by Sam
02:53
created

LocRdataTest   A

Complexity

Total Complexity 15

Size/Duplication

Total Lines 144
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 15
lcom 1
cbo 2
dl 0
loc 144
rs 10
c 0
b 0
f 0

15 Methods

Rating   Name   Duplication   Size   Complexity  
A testOutput() 0 13 1
A testSetLatitude() 0 11 1
A testSetLongitude() 0 11 1
A testSetAltitude1() 0 5 1
A testSetAltitude2() 0 5 1
A testGetAltitude() 0 7 1
A testSetSize1() 0 5 1
A testSetSize2() 0 5 1
A testGetSize() 0 7 1
A testSetVerticalPrecision1() 0 5 1
A testSetVerticalPrecision2() 0 5 1
A testSetHorizontalPrecision1() 0 5 1
A testSetHorizontalPrecision2() 0 5 1
A testGetHorizontalPrecision() 0 7 1
A testGetVerticalPrecision() 0 7 1
1
<?php
2
3
/*
4
 * This file is part of Badcow DNS Library.
5
 *
6
 * (c) Samuel Williams <[email protected]>
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 Badcow\DNS\Tests\Rdata;
13
14
use Badcow\DNS\Rdata\LOC;
15
16
class LocRdataTest extends \PHPUnit\Framework\TestCase
17
{
18
    public function testOutput()
19
    {
20
        $rdata = new LOC();
21
        $rdata->setLatitude(-35.3075);
22
        $rdata->setLongitude(149.1244);
23
        $rdata->setAltitude(500);
24
        $rdata->setSize(20.12);
25
        $rdata->setHorizontalPrecision(200.3);
26
        $rdata->setVerticalPrecision(300.1);
27
28
        $expected = '35 18 27.000 S 149 7 27.840 E 500.00m 20.12m 200.30m 300.10m';
29
        $this->assertEquals($expected, $rdata->output());
30
    }
31
32
    public function testSetLatitude()
33
    {
34
        $latitude = -35.3075;
35
        $lat_dms = '35 18 27.000 S';
36
37
        $rdata = new LOC();
38
        $rdata->setLatitude($latitude);
39
40
        $this->assertEquals($latitude, $rdata->getLatitude($latitude));
41
        $this->assertEquals($lat_dms, $rdata->getLatitude(LOC::FORMAT_DMS));
42
    }
43
44
    public function testSetLongitude()
45
    {
46
        $longitude = 149.1244;
47
        $lon_dms = '149 7 27.840 E';
48
49
        $rdata = new LOC();
50
        $rdata->setLongitude($longitude);
51
52
        $this->assertEquals($longitude, $rdata->getLongitude($longitude));
53
        $this->assertEquals($lon_dms, $rdata->getLongitude(LOC::FORMAT_DMS));
54
    }
55
56
    /**
57
     * @expectedException \OutOfRangeException
58
     */
59
    public function testSetAltitude1()
60
    {
61
        $rdata = new LOC();
62
        $rdata->setAltitude(-100001);
63
    }
64
65
    /**
66
     * @expectedException \OutOfRangeException
67
     */
68
    public function testSetAltitude2()
69
    {
70
        $rdata = new LOC();
71
        $rdata->setAltitude(42849673);
72
    }
73
74
    public function testGetAltitude()
75
    {
76
        $rdata = new LOC();
77
        $altitude = 12345;
78
        $rdata->setAltitude($altitude);
79
        $this->assertEquals($altitude, $rdata->getAltitude());
80
    }
81
82
    /**
83
     * @expectedException \OutOfRangeException
84
     */
85
    public function testSetSize1()
86
    {
87
        $rdata = new LOC();
88
        $rdata->setSize(-1);
89
    }
90
91
    /**
92
     * @expectedException \OutOfRangeException
93
     */
94
    public function testSetSize2()
95
    {
96
        $rdata = new LOC();
97
        $rdata->setSize(90000002);
98
    }
99
100
    public function testGetSize()
101
    {
102
        $size = 1231;
103
        $rdata = new LOC();
104
        $rdata->setSize($size);
105
        $this->assertEquals($size, $rdata->getSize());
106
    }
107
108
    /**
109
     * @expectedException \OutOfRangeException
110
     */
111
    public function testSetVerticalPrecision1()
112
    {
113
        $rdata = new LOC();
114
        $rdata->setVerticalPrecision(-1);
115
    }
116
117
    /**
118
     * @expectedException \OutOfRangeException
119
     */
120
    public function testSetVerticalPrecision2()
121
    {
122
        $rdata = new LOC();
123
        $rdata->setVerticalPrecision(90000002);
124
    }
125
126
    /**
127
     * @expectedException \OutOfRangeException
128
     */
129
    public function testSetHorizontalPrecision1()
130
    {
131
        $rdata = new LOC();
132
        $rdata->setHorizontalPrecision(-1);
133
    }
134
135
    /**
136
     * @expectedException \OutOfRangeException
137
     */
138
    public function testSetHorizontalPrecision2()
139
    {
140
        $rdata = new LOC();
141
        $rdata->setHorizontalPrecision(90000002);
142
    }
143
144
    public function testGetHorizontalPrecision()
145
    {
146
        $hp = 127835;
147
        $rdata = new LOC();
148
        $rdata->setHorizontalPrecision($hp);
149
        $this->assertEquals($hp, $rdata->getHorizontalPrecision());
150
    }
151
152
    public function testGetVerticalPrecision()
153
    {
154
        $vp = 127835;
155
        $rdata = new LOC();
156
        $rdata->setVerticalPrecision($vp);
157
        $this->assertEquals($vp, $rdata->getVerticalPrecision());
158
    }
159
}
160