Skip to content

Commit 82f9f03

Browse files
committed
addition of extra unit tests for ResultParser
1 parent ef34740 commit 82f9f03

File tree

1 file changed

+159
-0
lines changed

1 file changed

+159
-0
lines changed

src/test/java/de/taimos/gpsd4java/backend/ResultParserTest.java

+159
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
package de.taimos.gpsd4java.backend;
22

3+
import de.taimos.gpsd4java.types.ENMEAMode;
34
import de.taimos.gpsd4java.types.SATObject;
5+
import de.taimos.gpsd4java.types.SKYObject;
6+
import de.taimos.gpsd4java.types.TPVObject;
7+
import de.taimos.gpsd4java.types.subframes.IONOObject;
8+
import org.json.JSONArray;
49
import org.json.JSONObject;
510
import org.junit.Assert;
611
import org.junit.Before;
@@ -37,4 +42,158 @@ public void testSatObject() {
3742
Assert.assertEquals(0, satObject.getSignalStrength());
3843
}
3944

45+
@Test
46+
public void testIonoObject() {
47+
final JSONObject json = new JSONObject();
48+
json.put("a0", 1.0);
49+
json.put("a1", 2.0);
50+
json.put("a2", 3.0);
51+
json.put("b0", 11.0);
52+
json.put("b1", 12.0);
53+
json.put("b2", 13.0);
54+
json.put("b3", 14.0);
55+
json.put("A0", 21.0);
56+
json.put("A1", 22.0);
57+
json.put("tot", 31.0);
58+
json.put("WNt", 100);
59+
json.put("ls", 101);
60+
json.put("WNlsf", 102);
61+
json.put("DN", 103);
62+
json.put("lsf", 104);
63+
final IONOObject ionoObject = (IONOObject) this.resultParser.parseIONO(json);
64+
Assert.assertEquals(1.0, ionoObject.getAlpha0(), 0);
65+
Assert.assertEquals(2.0, ionoObject.getAlpha1(), 0);
66+
Assert.assertEquals(3.0, ionoObject.getAlpha2(), 0);
67+
Assert.assertEquals(11.0, ionoObject.getBeta0(), 0);
68+
Assert.assertEquals(12.0, ionoObject.getBeta1(), 0);
69+
Assert.assertEquals(13.0, ionoObject.getBeta2(), 0);
70+
Assert.assertEquals(14.0, ionoObject.getBeta3(), 0);
71+
Assert.assertEquals(21.0, ionoObject.getA0(), 0);
72+
Assert.assertEquals(22.0, ionoObject.getA1(), 0);
73+
Assert.assertEquals(31.0, ionoObject.getTot(), 0);
74+
Assert.assertEquals(100, ionoObject.getWNt());
75+
Assert.assertEquals(101, ionoObject.getLeap());
76+
Assert.assertEquals(102, ionoObject.getWNlsf());
77+
Assert.assertEquals(103, ionoObject.getDN());
78+
Assert.assertEquals(104, ionoObject.getLsf());
79+
}
80+
81+
@Test
82+
public void testSkyObject() throws Exception {
83+
84+
final JSONObject json = new JSONObject();
85+
json.put("device", "/dev/ttyUSB0");
86+
json.put("time", "2025-02-11T08:39:29.000Z");
87+
json.put("gdop", 1.29);
88+
json.put("hdop", 0.61);
89+
json.put("pdop", 1.16);
90+
json.put("tdop", 0.56);
91+
json.put("xdop", 0.38);
92+
json.put("ydop", 0.49);
93+
json.put("vdop", 0.99);
94+
json.put("nSat", 2);
95+
96+
final JSONArray satellites = new JSONArray();
97+
json.put("satellites", satellites);
98+
99+
final JSONObject sat1 = new JSONObject();
100+
sat1.put("PRN", 6);
101+
sat1.put("gnssid", 0);
102+
sat1.put("svid", 6);
103+
sat1.put("az", 110.0);
104+
sat1.put("el", 2.0);
105+
sat1.put("prRes", 11.0);
106+
sat1.put("qual", 1);
107+
sat1.put("ss", 0.0);
108+
sat1.put("used", false);
109+
sat1.put("health", 1);
110+
111+
final JSONObject sat2 = new JSONObject();
112+
sat2.put("PRN", 10);
113+
sat2.put("gnssid", 0);
114+
sat2.put("svid", 10);
115+
sat2.put("az", 303.0);
116+
sat2.put("el", 14.0);
117+
sat2.put("prRes", 30.3);
118+
sat2.put("qual", 7);
119+
sat2.put("ss", 48.0);
120+
sat2.put("used", true);
121+
sat2.put("health", 1);
122+
123+
satellites.put(sat1);
124+
satellites.put(sat2);
125+
126+
final SKYObject skyObject = (SKYObject) this.resultParser.parseSKY(json);
127+
128+
Assert.assertEquals("/dev/ttyUSB0", skyObject.getDevice());
129+
Assert.assertEquals(1739263169.0, skyObject.getTimestamp(), 0.0);
130+
Assert.assertEquals(1.29, skyObject.getHypersphericalDOP(), 0.0);
131+
Assert.assertEquals(0.61, skyObject.getHorizontalDOP(), 0.0);
132+
Assert.assertEquals(1.16, skyObject.getSphericalDOP(), 0.0);
133+
Assert.assertEquals(0.56, skyObject.getTimestampDOP(), 0.0);
134+
Assert.assertEquals(0.38, skyObject.getLongitudeDOP(), 0.0);
135+
Assert.assertEquals(0.49, skyObject.getLatitudeDOP(), 0.0);
136+
Assert.assertEquals(0.99, skyObject.getAltitudeDOP(), 0.0);
137+
Assert.assertEquals(2, skyObject.getSatellites().size());
138+
139+
final SATObject satObject1 = skyObject.getSatellites().get(0);
140+
Assert.assertEquals(6, satObject1.getPRN());
141+
Assert.assertEquals(0, satObject1.getGnssId());
142+
Assert.assertEquals(110.0, satObject1.getAzimuth(), 0.0);
143+
Assert.assertEquals(2.0, satObject1.getElevation(), 0.0);
144+
Assert.assertEquals(0.0, satObject1.getSignalStrength(), 0.0);
145+
Assert.assertFalse(satObject1.getUsed());
146+
147+
final SATObject satObject2 = skyObject.getSatellites().get(1);
148+
Assert.assertEquals(10, satObject2.getPRN());
149+
Assert.assertEquals(0, satObject2.getGnssId());
150+
Assert.assertEquals(303.0, satObject2.getAzimuth(), 0.0);
151+
Assert.assertEquals(14.0, satObject2.getElevation(), 0.0);
152+
Assert.assertEquals(48.0, satObject2.getSignalStrength(), 0.0);
153+
Assert.assertTrue(satObject2.getUsed());
154+
}
155+
156+
@Test
157+
public void testTpvObject() {
158+
159+
final JSONObject json = new JSONObject();
160+
json.put("tag", "tag");
161+
json.put("alt", 136.054);
162+
json.put("epv", 0.835);
163+
json.put("device", "/dev/ttyUSB0");
164+
json.put("time", "2025-02-11T08:39:29.000Z");
165+
json.put("ept", 0.005);
166+
json.put("lat", 42.7045841);
167+
json.put("lon", 12.1588884);
168+
json.put("alt", 136.054);
169+
json.put("epx", 1.411);
170+
json.put("epy", 1.822);
171+
json.put("epv", 0.835);
172+
json.put("track", 144.6175);
173+
json.put("speed", 22.693);
174+
json.put("climb", 0.023);
175+
json.put("epd", 9.1852);
176+
json.put("eps", 3.51);
177+
json.put("epc", 1.68);
178+
json.put("mode", 3);
179+
180+
final TPVObject tpvObject = (TPVObject) this.resultParser.parseTPV(json);
181+
Assert.assertEquals(136.054, tpvObject.getAltitude(), 0);
182+
Assert.assertEquals(0.835, tpvObject.getAltitudeError(), 0);
183+
Assert.assertEquals(0.023, tpvObject.getClimbRate(), 0);
184+
Assert.assertEquals(1.68, tpvObject.getClimbRateError(), 0);
185+
Assert.assertEquals(144.6175, tpvObject.getCourse(), 0);
186+
Assert.assertEquals(9.1852, tpvObject.getCourseError(), 0);
187+
Assert.assertEquals("/dev/ttyUSB0", tpvObject.getDevice());
188+
Assert.assertEquals(42.7045841, tpvObject.getLatitude(), 0);
189+
Assert.assertEquals(1.822, tpvObject.getLatitudeError(), 0);
190+
Assert.assertEquals(12.1588884, tpvObject.getLongitude(), 0);
191+
Assert.assertEquals(1.411, tpvObject.getLongitudeError(), 0);
192+
Assert.assertEquals(ENMEAMode.ThreeDimensional, tpvObject.getMode());
193+
Assert.assertEquals(22.693, tpvObject.getSpeed(), 0);
194+
Assert.assertEquals(3.51, tpvObject.getSpeedError(), 0);
195+
Assert.assertEquals("tag", tpvObject.getTag());
196+
Assert.assertEquals(1739263169.0, tpvObject.getTimestamp(), 0);
197+
Assert.assertEquals(0.005, tpvObject.getTimestampError(), 0);
198+
}
40199
}

0 commit comments

Comments
 (0)