1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package org.terst.nav.ais
import org.junit.Assert.*
import org.junit.Test
class AisVesselTest {
@Test
fun `holds all fields correctly`() {
val vessel = AisVessel(
mmsi = 123456789,
name = "MY VESSEL",
callsign = "W1ABC",
lat = 37.5,
lon = -122.0,
sog = 5.5,
cog = 270.0,
heading = 269,
vesselType = 36,
timestampMs = 1000L
)
assertEquals(123456789, vessel.mmsi)
assertEquals("MY VESSEL", vessel.name)
assertEquals("W1ABC", vessel.callsign)
assertEquals(37.5, vessel.lat, 0.0)
assertEquals(-122.0, vessel.lon, 0.0)
assertEquals(5.5, vessel.sog, 0.0)
assertEquals(270.0, vessel.cog, 0.0)
assertEquals(269, vessel.heading)
assertEquals(36, vessel.vesselType)
assertEquals(1000L, vessel.timestampMs)
}
@Test
fun `equality based on all fields`() {
val v1 = AisVessel(1, "A", "B", 0.0, 0.0, 0.0, 0.0, 0, 0, 100L)
val v2 = AisVessel(1, "A", "B", 0.0, 0.0, 0.0, 0.0, 0, 0, 100L)
assertEquals(v1, v2)
}
@Test
fun `inequality when mmsi differs`() {
val v1 = AisVessel(1, "A", "B", 0.0, 0.0, 0.0, 0.0, 0, 0, 100L)
val v2 = AisVessel(2, "A", "B", 0.0, 0.0, 0.0, 0.0, 0, 0, 100L)
assertNotEquals(v1, v2)
}
@Test
fun `heading 511 means not available`() {
val vessel = AisVessel(1, "", "", 0.0, 0.0, 0.0, 0.0, 511, 0, 0L)
assertEquals(511, vessel.heading)
}
}
|