3 import unittest, sys, os
4 sys.path.insert(0, os.path.abspath(
".."))
5 from gnsstk.test_utils
import args,run_unit_tests
13 navLib.addFactory(ndf)
14 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
16 gnsstk.CarrierBand.L1,
17 gnsstk.TrackingCode.CA, gnsstk.NavType.GPSLNAV)
19 gnsstk.TimeSystem.GPS).toCommonTime()
22 rv = navLib.getXvt(sat, ct, xvt,
False)
23 self.assertEqual(
True, rv)
24 self.assertEqual( 9345531.5274733770639, xvt.x[0])
25 self.assertEqual(-12408177.088141856715, xvt.x[1])
26 self.assertEqual( 21486320.848036296666, xvt.x[2])
27 self.assertEqual(2081.276961058104007, xvt.v[0])
28 self.assertEqual(1792.4445008638492709, xvt.v[1])
29 self.assertEqual( 148.29209115082824155, xvt.v[2])
30 self.assertEqual(-0.00021641018042870913346, xvt.clkbias)
31 self.assertEqual(4.3200998334200003381e-12, xvt.clkdrift)
32 self.assertEqual(-8.8197758101551758427e-09, xvt.relcorr)
33 self.assertEqual(gnsstk.Xvt.Healthy, xvt.health)
36 rv = navLib.getXvt(sat, ct, xvt2, gnsstk.SVHealth.Any)
37 self.assertEqual(
True, rv)
38 self.assertEqual( 9345531.5274733770639, xvt.x[0])
39 self.assertEqual(-12408177.088141856715, xvt.x[1])
40 self.assertEqual( 21486320.848036296666, xvt.x[2])
41 self.assertEqual(2081.276961058104007, xvt.v[0])
42 self.assertEqual(1792.4445008638492709, xvt.v[1])
43 self.assertEqual( 148.29209115082824155, xvt.v[2])
44 self.assertEqual(-0.00021641018042870913346, xvt.clkbias)
45 self.assertEqual(4.3200998334200003381e-12, xvt.clkdrift)
46 self.assertEqual(-8.8197758101551758427e-09, xvt.relcorr)
47 self.assertEqual(gnsstk.Xvt.Healthy, xvt.health)
52 navLib.addFactory(ndf)
53 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
55 gnsstk.CarrierBand.L1,
56 gnsstk.TrackingCode.CA, gnsstk.NavType.GPSLNAV)
58 gnsstk.TimeSystem.GPS).toCommonTime()
59 rv,health = navLib.getHealth(sat, ct, gnsstk.SVHealth.Any)
60 self.assertEqual(
False, rv)
62 gnsstk.TimeSystem.GPS).toCommonTime()
63 rv,health = navLib.getHealth(sat, ct, gnsstk.SVHealth.Any)
64 self.assertEqual(
False, rv)
66 gnsstk.TimeSystem.GPS).toCommonTime()
67 rv,health = navLib.getHealth(sat, ct, gnsstk.SVHealth.Any)
68 self.assertEqual(
True, rv)
69 self.assertEqual(gnsstk.SVHealth.Unhealthy, health)
71 gnsstk.CarrierBand.L1,
72 gnsstk.TrackingCode.CA, gnsstk.NavType.GPSLNAV)
74 gnsstk.TimeSystem.GPS).toCommonTime()
75 rv,health = navLib.getHealth(sat, ct, gnsstk.SVHealth.Any)
76 self.assertEqual(
True, rv)
77 self.assertEqual(gnsstk.SVHealth.Healthy, health)
82 navLib.addFactory(ndf)
83 ndf.addDataSource(args.input_dir+
84 '/test_input_rinex_nav_RinexNavExample.99n')
85 self.assertEqual(9, ndf.size())
88 rv,nd = navLib.getOffset(gnsstk.TimeSystem.GPS, gnsstk.TimeSystem.UTC, ct)
90 self.assertEqual(
False, rv)
92 rv,nd = navLib.getOffset(gnsstk.TimeSystem.GPS,gnsstk.TimeSystem.UTC,ct2)
93 self.assertEqual(
True, rv)
94 self.assertEqual(13.0, nd.deltatLS)
99 navLib.addFactory(ndf)
100 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
102 gnsstk.CarrierBand.L1,
103 gnsstk.TrackingCode.CA, gnsstk.NavType.GPSLNAV)
105 gnsstk.TimeSystem.GPS).toCommonTime()
108 rv,nd = navLib.find(nmide, ct, gnsstk.SVHealth.Any,
109 gnsstk.NavValidityType.ValidOnly,
110 gnsstk.NavSearchOrder.User)
111 self.assertEqual(
False, rv)
113 gnsstk.TimeSystem.GPS).toCommonTime()
114 rv,nd = navLib.find(nmide, ct, gnsstk.SVHealth.Any,
115 gnsstk.NavValidityType.ValidOnly,
116 gnsstk.NavSearchOrder.User)
117 self.assertEqual(
True, rv)
118 self.assertEqual(64, nd.iode)
119 rv,nd = navLib.find(nmida, ct, gnsstk.SVHealth.Any,
120 gnsstk.NavValidityType.ValidOnly,
121 gnsstk.NavSearchOrder.User)
122 self.assertEqual(
False, rv)
124 gnsstk.CarrierBand.L1,
125 gnsstk.TrackingCode.CA, gnsstk.NavType.GPSLNAV)
128 gnsstk.TimeSystem.GPS).toCommonTime()
129 rv,nd = navLib.find(nmide, ct, gnsstk.SVHealth.Any,
130 gnsstk.NavValidityType.ValidOnly,
131 gnsstk.NavSearchOrder.User)
132 self.assertEqual(
True, rv)
133 self.assertEqual(7, nd.iode)
138 navLib.addFactory(ndf)
140 navLib.setValidityFilter(gnsstk.NavValidityType.ValidOnly)
145 navLib.addFactory(ndf)
148 nmts.add(gnsstk.NavMessageType.Almanac)
149 navLib.setTypeFilter(nmts)
150 nmts = ndf.getTypeFilter()
151 self.assertEqual(1, len(nmts))
159 navLib.addFactory(ndf)
160 navLib.clearTypeFilter();
161 nmts = ndf.getTypeFilter()
162 self.assertEqual(0, len(nmts))
163 navLib.addTypeFilter(gnsstk.NavMessageType.Almanac)
164 nmts = ndf.getTypeFilter()
165 self.assertFalse(len(nmts) == 0)
167 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
168 satset = navLib.getAvailableSats(gnsstk.CommonTime.BEGINNING_OF_TIME,
169 gnsstk.CommonTime.END_OF_TIME)
170 self.assertEqual(0, len(satset))
173 navLib.clearTypeFilter()
174 navLib.addTypeFilter(gnsstk.NavMessageType.Ephemeris)
175 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
176 satset = navLib.getAvailableSats(gnsstk.CommonTime.BEGINNING_OF_TIME,
177 gnsstk.CommonTime.END_OF_TIME)
178 self.assertEqual(31, len(satset))
183 navLib.addFactory(ndf)
184 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
186 gnsstk.TimeSystem.GPS).toCommonTime()
188 gnsstk.TimeSystem.GPS).toCommonTime()
189 self.assertEqual(expIni, navLib.getInitialTime())
190 self.assertEqual(expFin, navLib.getFinalTime())
195 navLib.addFactory(ndf)
196 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
197 self.assertEqual(507, ndf.size())
199 self.assertEqual(0, ndf.size())
200 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
201 self.assertEqual(507, ndf.size())
204 self.assertEqual(343, ndf.size())
206 gnsstk.CarrierBand.L1,
207 gnsstk.TrackingCode.CA, gnsstk.NavType.GPSLNAV)
209 self.assertEqual(0, ndf.size())
210 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
211 self.assertEqual(507, ndf.size())
214 self.assertEqual(504, ndf.size())
216 self.assertEqual(0, ndf.size())
217 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
218 self.assertEqual(507, ndf.size())
220 gnsstk.TrackingCode.Y, gnsstk.NavType.GPSLNAV)
223 self.assertEqual(507, ndf.size())
225 gnsstk.TrackingCode.CA, gnsstk.NavType.GPSLNAV)
228 self.assertEqual(343, ndf.size())
233 navLib.addFactory(ndf)
234 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
237 satset = navLib.getAvailableSats(gnsstk.CommonTime.BEGINNING_OF_TIME,
238 gnsstk.CommonTime.END_OF_TIME)
239 self.assertEqual(33, len(satset))
240 t1 =
gnsstk.CivilTime(2020,4,12,0,56,0,gnsstk.TimeSystem.GPS).toCommonTime()
241 t2 =
gnsstk.CivilTime(2020,4,12,0,57,0,gnsstk.TimeSystem.GPS).toCommonTime()
242 satset = navLib.getAvailableSats(t1, t2)
243 self.assertEqual(0, len(satset))
248 navLib.addFactory(ndf)
249 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
254 t1 =
gnsstk.CivilTime(2015,7,19,10,0,0,gnsstk.TimeSystem.GPS).toCommonTime()
255 t2 =
gnsstk.CivilTime(2015,7,19,11,0,0,gnsstk.TimeSystem.GPS).toCommonTime()
256 rv = navLib.isPresent(nmid1e, t1, t2)
257 self.assertEqual(
True, rv)
258 rv = navLib.isPresent(nmid1a, t1, t2)
259 self.assertEqual(
False, rv)
264 navLib.addFactory(ndf)
265 ndf.addDataSource(args.input_dir+
'/arlm2000.15n')
268 t1 =
gnsstk.CivilTime(2015,7,19,10,0,0,gnsstk.TimeSystem.GPS).toCommonTime()
269 t2 =
gnsstk.CivilTime(2015,7,19,11,0,0,gnsstk.TimeSystem.GPS).toCommonTime()
270 rv = navLib.isTypePresent(gnsstk.NavMessageType.Ephemeris, sat1, t1, t2)
271 self.assertEqual(
True, rv)
272 rv = navLib.isTypePresent(gnsstk.NavMessageType.Almanac, sat1, t1, t2)
273 self.assertEqual(
False, rv)
275 if __name__ ==
'__main__':