PNBMultiGNSSNavDataFactory_T.cpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 
26 //==============================================================================
27 //
28 // This software was developed by Applied Research Laboratories at the
29 // University of Texas at Austin, under contract to an agency or agencies
30 // within the U.S. Department of Defense. The U.S. Government retains all
31 // rights to use, duplicate, distribute, disclose, or release this software.
32 //
33 // Pursuant to DoD Directive 523024
34 //
35 // DISTRIBUTION STATEMENT A: This software has been approved for public
36 // release, distribution is unlimited.
37 //
38 //==============================================================================
40 #include "TestUtil.hpp"
42 #include "GPSLNavTimeOffset.hpp"
43 #include "GPSLNavHealth.hpp"
44 #include "GPSLNavEph.hpp"
45 #include "GPSLNavAlm.hpp"
46 #include "GPSLNavIono.hpp"
49 #include "GPSCNavTimeOffset.hpp"
50 #include "GPSCNavHealth.hpp"
51 #include "GPSCNavEph.hpp"
52 #include "GPSCNavAlm.hpp"
53 #include "GPSCNavRedAlm.hpp"
54 #include "GPSCNavIono.hpp"
61 
62 
63 namespace gnsstk
64 {
65  std::ostream& operator<<(std::ostream& s, gnsstk::NavValidityType e)
66  {
67  s << StringUtils::asString(e);
68  return s;
69  }
70 }
71 
73 {
74 public:
75  static std::shared_ptr<gnsstk::PNBNavDataFactoryMap> getFactories()
76  { return factories(); }
77 };
79 {
80 public:
81  bool addData(const gnsstk::PackedNavBitsPtr& navIn,
82  gnsstk::NavDataPtrList& navOut, double cadence = -1) override
83  { return false; }
85  bool getProcEph() const { return processEph; }
86  bool getProcAlm() const { return processAlm; }
87  bool getProcHea() const { return processHea; }
88  bool getProcTim() const { return processTim; }
89  void resetState() override {}
90 };
91 
92 
94 {
95 public:
98  unsigned addFactoryTest();
102  unsigned constructorTest();
103  unsigned setValidityFilterTest();
104  unsigned setTypeFilterTest();
105  unsigned addDataTest();
106 
108  void countResults(const gnsstk::NavDataPtrList& navOut);
109 
110 #include "LNavTestDataDecl.hpp"
111 #include "CNavTestDataDecl.hpp"
112 
113  void resetCount()
117 };
118 
119 
122 {
123  resetCount();
124 #include "LNavTestDataDef.hpp"
125 #include "CNavTestDataDef.hpp"
126 }
127 
128 
131 {
132  TUDEF("PNBMultiGNSSNavDataFactory", "addFactory()");
133  // Add a test factory to the multi gnss set.
134  gnsstk::PNBNavDataFactoryPtr test(std::make_shared<PNBTestFactory>());
135  TUASSERTE(bool, true,
137  gnsstk::NavType::Unknown, test));
138  TURETURN();
139 }
140 
141 
144 {
145  TUDEF("PNBMultiGNSSNavDataFactory", "PNBMultiGNSSNavDataFactory()");
146  bool foundGPSLNav = false;
147  bool foundGPSCNav = false;
148  bool foundGPSCNav2 = false;
149  bool foundBDSD1Nav = false;
150  bool foundBDSD2Nav = false;
151  bool foundGalFNav = false;
152  bool foundGalINav = false;
153  bool foundGLOCNav = false;
154  bool foundGLOFNav = false;
155  bool foundTest = false;
156  // Iterate over the factories and try to find the expected
157  // factory objects. The factories map may also contain ext
158  // factories, so we ignore anything else.
159  for (auto& i : *(TestClass::getFactories()))
160  {
161  gnsstk::PNBNavDataFactory *p = i.second.get();
162  if (dynamic_cast<gnsstk::PNBGPSLNavDataFactory*>(p) != nullptr)
163  {
164  foundGPSLNav = true;
165  }
166  else if (dynamic_cast<gnsstk::PNBGPSCNavDataFactory*>(p) != nullptr)
167  {
168  foundGPSCNav = true;
169  }
170  else if (dynamic_cast<gnsstk::PNBGPSCNav2DataFactory*>(p) != nullptr)
171  {
172  foundGPSCNav2 = true;
173  }
174  else if (dynamic_cast<gnsstk::PNBBDSD1NavDataFactory*>(p) != nullptr)
175  {
176  foundBDSD1Nav = true;
177  }
178  else if (dynamic_cast<gnsstk::PNBBDSD2NavDataFactory*>(p) != nullptr)
179  {
180  foundBDSD2Nav = true;
181  }
182  else if (dynamic_cast<gnsstk::PNBGalFNavDataFactory*>(p) != nullptr)
183  {
184  foundGalFNav = true;
185  }
186  else if (dynamic_cast<gnsstk::PNBGalINavDataFactory*>(p) != nullptr)
187  {
188  foundGalINav = true;
189  }
190  else if (dynamic_cast<gnsstk::PNBGLOCNavDataFactory*>(p) != nullptr)
191  {
192  foundGLOCNav = true;
193  }
194  else if (dynamic_cast<gnsstk::PNBGLOFNavDataFactory*>(p) != nullptr)
195  {
196  foundGLOFNav = true;
197  }
198  else if (dynamic_cast<PNBTestFactory*>(p) != nullptr)
199  {
200  foundTest = true;
201  }
202  }
203  TUASSERT(foundGPSLNav);
204  TUASSERT(foundGPSCNav);
205  TUASSERT(foundGPSCNav2);
206  TUASSERT(foundBDSD1Nav);
207  TUASSERT(foundBDSD2Nav);
208  TUASSERT(foundGalFNav);
209  TUASSERT(foundGalINav);
210  TUASSERT(foundGLOCNav);
211  TUASSERT(foundGLOFNav);
212  TUASSERT(foundTest);
213  TURETURN();
214 }
215 
216 
219 {
220  TUDEF("PNBMultiGNSSNavDataFactory", "setValidityFilter()");
222  PNBTestFactory *fact = nullptr;
223  // find our test factory so we can verify setValidityFilter
224  for (auto& i : *(TestClass::getFactories()))
225  {
226  gnsstk::PNBNavDataFactory *p = i.second.get();
227  if ((fact = dynamic_cast<PNBTestFactory*>(p)) != nullptr)
228  {
229  break;
230  }
231  }
232  TUASSERT(fact != nullptr);
233  if (fact == nullptr)
234  {
235  // give up.
236  TURETURN();
237  }
238  // check default
240  fact->getValidity());
241  // check possible values
243  {
244  uut.setValidityFilter(i);
246  }
247  TURETURN();
248 }
249 
250 
253 {
254  TUDEF("PNBMultiGNSSNavDataFactory", "setTypeFilter()");
256  PNBTestFactory *fact = nullptr;
257  // find our test factory so we can verify setTypeFilter
258  for (auto& i : *(TestClass::getFactories()))
259  {
260  gnsstk::PNBNavDataFactory *p = i.second.get();
261  if ((fact = dynamic_cast<PNBTestFactory*>(p)) != nullptr)
262  {
263  break;
264  }
265  }
266  TUASSERT(fact != nullptr);
267  if (fact == nullptr)
268  {
269  // give up.
270  TURETURN();
271  }
272  // check defaults
273  TUASSERTE(bool, true, fact->getProcEph());
274  TUASSERTE(bool, true, fact->getProcAlm());
275  TUASSERTE(bool, true, fact->getProcHea());
276  TUASSERTE(bool, true, fact->getProcTim());
277  // check individual flags
279  TUASSERTE(bool, true, fact->getProcEph());
280  TUASSERTE(bool, false, fact->getProcAlm());
281  TUASSERTE(bool, false, fact->getProcHea());
282  TUASSERTE(bool, false, fact->getProcTim());
284  TUASSERTE(bool, false, fact->getProcEph());
285  TUASSERTE(bool, true, fact->getProcAlm());
286  TUASSERTE(bool, false, fact->getProcHea());
287  TUASSERTE(bool, false, fact->getProcTim());
289  TUASSERTE(bool, false, fact->getProcEph());
290  TUASSERTE(bool, false, fact->getProcAlm());
291  TUASSERTE(bool, true, fact->getProcHea());
292  TUASSERTE(bool, false, fact->getProcTim());
294  TUASSERTE(bool, false, fact->getProcEph());
295  TUASSERTE(bool, false, fact->getProcAlm());
296  TUASSERTE(bool, false, fact->getProcHea());
297  TUASSERTE(bool, true, fact->getProcTim());
298  // some subset tests.
301  TUASSERTE(bool, true, fact->getProcEph());
302  TUASSERTE(bool, false, fact->getProcAlm());
303  TUASSERTE(bool, false, fact->getProcHea());
304  TUASSERTE(bool, true, fact->getProcTim());
307  TUASSERTE(bool, false, fact->getProcEph());
308  TUASSERTE(bool, true, fact->getProcAlm());
309  TUASSERTE(bool, true, fact->getProcHea());
310  TUASSERTE(bool, false, fact->getProcTim());
311  TURETURN();
312 }
313 
314 
317 {
318  TUDEF("PNBMultiGNSSNavDataFactory", "addData()");
320  gnsstk::NavDataPtrList navOut;
323  //
324  // Start with some GPS LNAV data.
325  //
326  // Add subframe 1, expect 1 health and 1 ISC.
328  TUASSERTE(bool, true, uut.addData(ephLNAVGPSSF1, navOut));
329  TUASSERTE(size_t, 2, navOut.size());
330  countResults(navOut);
331  TUASSERTE(unsigned, 1, heaCount);
332  navOut.clear();
333  // add subframe 2, expect nothing yet
334  TUASSERTE(bool, true, uut.addData(ephLNAVGPSSF2, navOut));
335  TUASSERTE(size_t, 0, navOut.size());
336  navOut.clear();
337  // add subframe 3, expect the completed ephemeris
338  TUASSERTE(bool, true, uut.addData(ephLNAVGPSSF3, navOut));
339  TUASSERTE(size_t, 1, navOut.size());
340  countResults(navOut);
341  TUASSERTE(unsigned, 1, ephCount);
342  navOut.clear();
343  // add almanac sv id 25, expect health
344  TUASSERTE(bool, true, uut.addData(almLNAVGPS25, navOut));
345  TUASSERTE(size_t, 1, navOut.size());
346  countResults(navOut);
347  TUASSERTE(unsigned, 1, heaCount);
348  navOut.clear();
349  // add almanac sv id 26, expect health
350  TUASSERTE(bool, true, uut.addData(almLNAVGPS26, navOut));
351  TUASSERTE(size_t, 1, navOut.size());
352  countResults(navOut);
353  TUASSERTE(unsigned, 1, heaCount);
354  navOut.clear();
355  // add page 56, expect time offset
356  TUASSERTE(bool, true, uut.addData(pg56LNAVGPS, navOut));
357  TUASSERTE(size_t, 2, navOut.size());
358  countResults(navOut);
359  TUASSERTE(unsigned, 1, toCount);
360  TUASSERTE(unsigned, 1, ionoCount);
361  navOut.clear();
362  // add page 63, expect 8 health
363  TUASSERTE(bool, true, uut.addData(pg63LNAVGPS, navOut));
364  TUASSERTE(size_t, 8, navOut.size());
365  countResults(navOut);
366  TUASSERTE(unsigned, 8, heaCount);
367  navOut.clear();
368  // add page 51, expect 24 health and 2 almanacs
369  TUASSERTE(bool, true, uut.addData(pg51LNAVGPS, navOut));
370  TUASSERTE(size_t, 26, navOut.size());
371  countResults(navOut);
372  TUASSERTE(unsigned, 24, heaCount);
373  TUASSERTE(unsigned, 2, almCount);
374  navOut.clear();
375  //
376  // GPS CNav data (L2)
377  //
378  // get 3 health from ephemeris 1
379  TUASSERTE(bool, true, uut.addData(msg10CNAVGPSL2, navOut));
380  TUASSERTE(size_t, 3, navOut.size());
381  countResults(navOut);
382  TUASSERTE(unsigned, 3, heaCount);
383  navOut.clear();
384  // nothing from ephemeris 2 (incomplete ephemeris)
385  TUASSERTE(bool, true, uut.addData(msg11CNAVGPSL2, navOut));
386  TUASSERTE(size_t, 0, navOut.size());
387  navOut.clear();
388  // clock data completes the ephemeris
389  TUASSERTE(bool, true, uut.addData(msg30CNAVGPSL2, navOut));
391  TUASSERTE(size_t, 3, navOut.size());
392  countResults(navOut);
393  TUASSERTE(unsigned, 1, ephCount);
394  TUASSERTE(unsigned, 1, ionoCount);
395  navOut.clear();
396  // nothing in message type 32 that we care about (not completing
397  // an ephemeris)
398  TUASSERTE(bool, true, uut.addData(msg32CNAVGPSL2, navOut));
399  TUASSERTE(size_t, 0, navOut.size());
400  navOut.clear();
401  // expecting a time offset record from 33
402  TUASSERTE(bool, true, uut.addData(msg33CNAVGPSL2, navOut));
403  TUASSERTE(size_t, 1, navOut.size());
404  countResults(navOut);
405  TUASSERTE(unsigned, 1, toCount);
406  navOut.clear();
407  //
408  // QZSS CNav data (L5)
409  //
410  // get 3 health from ephemeris 1
411  TUASSERTE(bool, true, uut.addData(msg10CNAVQZSSL5, navOut));
412  TUASSERTE(size_t, 3, navOut.size());
413  countResults(navOut);
414  TUASSERTE(unsigned, 3, heaCount);
415  navOut.clear();
416  // nothing from ephemeris 2 (incomplete ephemeris)
417  TUASSERTE(bool, true, uut.addData(msg11CNAVQZSSL5, navOut));
418  TUASSERTE(size_t, 0, navOut.size());
419  navOut.clear();
420  // clock data completes the ephemeris
421  TUASSERTE(bool, true, uut.addData(msg30CNAVQZSSL5, navOut));
423  TUASSERTE(size_t, 3, navOut.size());
424  countResults(navOut);
425  TUASSERTE(unsigned, 1, ephCount);
426  TUASSERTE(unsigned, 1, ionoCount);
427  navOut.clear();
428  // nothing in message type 32 that we care about (not completing
429  // an ephemeris)
430  TUASSERTE(bool, true, uut.addData(msg32CNAVQZSSL5, navOut));
431  TUASSERTE(size_t, 0, navOut.size());
432  navOut.clear();
433  // expecting an almanac and 3 health from message type 37
434  TUASSERTE(bool, true, uut.addData(msg37CNAVQZSSL5, navOut));
435  TUASSERTE(size_t, 4, navOut.size());
436  countResults(navOut);
437  TUASSERTE(unsigned, 1, almCount);
438  TUASSERTE(unsigned, 3, heaCount);
439  navOut.clear();
440  // expecting 4 almanacs and 12 health from message type 31
441  TUASSERTE(bool, true, uut.addData(msg31CNAVQZSSL5, navOut));
442  TUASSERTE(size_t, 16, navOut.size());
443  countResults(navOut);
444  TUASSERTE(unsigned, 4, almCount);
445  TUASSERTE(unsigned, 12, heaCount);
446  navOut.clear();
447  // expecting nothing from message type 12 because it's empty.
448  TUASSERTE(bool, true, uut.addData(msg12CNAVQZSSL5, navOut));
449  TUASSERTE(size_t, 0, navOut.size());
450  navOut.clear();
451  // expecting a time offset record from 35
452  TUASSERTE(bool, true, uut.addData(msg35CNAVQZSSL5, navOut));
453  TUASSERTE(size_t, 1, navOut.size());
454  countResults(navOut);
455  TUASSERTE(unsigned, 1, toCount);
456  navOut.clear();
458  TURETURN();
459 }
460 
461 
464 {
465  resetCount();
466  for (const auto& i : navOut)
467  {
468  if (dynamic_cast<gnsstk::GPSLNavAlm*>(i.get()) != nullptr)
469  {
470  almCount++;
471  }
472  else if (dynamic_cast<gnsstk::GPSLNavEph*>(i.get()) != nullptr)
473  {
474  ephCount++;
475  }
476  else if (dynamic_cast<gnsstk::GPSLNavTimeOffset*>(i.get()) != nullptr)
477  {
478  toCount++;
479  }
480  else if (dynamic_cast<gnsstk::GPSLNavHealth*>(i.get()) != nullptr)
481  {
482  heaCount++;
483  }
484  else if (dynamic_cast<gnsstk::GPSLNavIono*>(i.get()) != nullptr)
485  {
486  ionoCount++;
487  }
488  else if (dynamic_cast<gnsstk::GPSCNavAlm*>(i.get()) != nullptr)
489  {
490  almCount++;
491  }
492  else if (dynamic_cast<gnsstk::GPSCNavEph*>(i.get()) != nullptr)
493  {
494  ephCount++;
495  }
496  else if (dynamic_cast<gnsstk::GPSCNavTimeOffset*>(i.get()) != nullptr)
497  {
498  toCount++;
499  }
500  else if (dynamic_cast<gnsstk::GPSCNavHealth*>(i.get()) != nullptr)
501  {
502  heaCount++;
503  }
504  else if (dynamic_cast<gnsstk::GPSCNavIono*>(i.get()) != nullptr)
505  {
506  ionoCount++;
507  }
508  else
509  {
510  otherCount++;
511  }
512  }
513 }
514 
515 
516 int main()
517 {
519  unsigned errorTotal = 0;
520 
521  errorTotal += testClass.addFactoryTest();
522  errorTotal += testClass.constructorTest();
523  errorTotal += testClass.setValidityFilterTest();
524  errorTotal += testClass.setTypeFilterTest();
525  errorTotal += testClass.addDataTest();
526 
527  std::cout << "Total Failures for " << __FILE__ << ": " << errorTotal
528  << std::endl;
529 
530  return errorTotal;
531 }
main
int main()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:516
gnsstk::NavType::Unknown
@ Unknown
Uninitialized value.
msg11CNAVGPSL2
gnsstk::PackedNavBitsPtr msg11CNAVGPSL2
Definition: CNavTestDataDecl.hpp:45
gnsstk::GPSCNavTimeOffset
Definition: GPSCNavTimeOffset.hpp:62
ephLNAVGPSSF1
gnsstk::PackedNavBitsPtr ephLNAVGPSSF1
Definition: LNavTestDataDecl.hpp:43
gnsstk::PackedNavBitsPtr
std::shared_ptr< PackedNavBits > PackedNavBitsPtr
Managed pointer for passing PackedNavBits around.
Definition: PackedNavBits.hpp:66
gnsstk::PNBNavDataFactoryPtr
std::shared_ptr< PNBNavDataFactory > PNBNavDataFactoryPtr
Managed pointer to a PNBNavDataFactory.
Definition: PNBNavDataFactory.hpp:138
gnsstk::PNBGPSCNavDataFactory
Definition: PNBGPSCNavDataFactory.hpp:65
gnsstk::PNBMultiGNSSNavDataFactory::addFactory
static bool addFactory(NavType navType, PNBNavDataFactoryPtr &fact)
Definition: PNBMultiGNSSNavDataFactory.cpp:91
msg30CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg30CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
msg37CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg37CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
TUASSERTE
#define TUASSERTE(TYPE, EXP, GOT)
Definition: TestUtil.hpp:81
gnsstk::PNBGalFNavDataFactory
Definition: PNBGalFNavDataFactory.hpp:62
almLNAVGPS25
gnsstk::PackedNavBitsPtr almLNAVGPS25
Definition: LNavTestDataDecl.hpp:44
gnsstk::PNBGalINavDataFactory
Definition: PNBGalINavDataFactory.hpp:62
PNBGPSLNavDataFactory.hpp
gnsstk::allNavMessageTypes
const GNSSTK_EXPORT NavMessageTypeSet allNavMessageTypes
Definition: NavStatic.cpp:64
PNBMultiGNSSNavDataFactory_T::ionoCount
unsigned ionoCount
Definition: PNBMultiGNSSNavDataFactory_T.cpp:116
gnsstk::NavMessageType::Health
@ Health
SV health status information message.
gnsstk::NavDataPtrList
std::list< NavDataPtr > NavDataPtrList
Definition: NavData.hpp:75
gnsstk::PNBGPSLNavDataFactory
Definition: PNBGPSLNavDataFactory.hpp:69
pg63LNAVGPS
gnsstk::PackedNavBitsPtr pg63LNAVGPS
Definition: LNavTestDataDecl.hpp:44
gnsstk::StringUtils::asString
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
Definition: IonexStoreStrategy.cpp:46
GPSLNavIono.hpp
GPSLNavHealth.hpp
PNBTestFactory
Definition: PNBMultiGNSSNavDataFactory_T.cpp:78
msg35CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg35CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
gnsstk::PNBNavDataFactory::processTim
bool processTim
If true, time offset data will be output by addData.
Definition: PNBNavDataFactory.hpp:130
gnsstk::NavValidityType
NavValidityType
Definition: NavValidityType.hpp:53
GPSCNavHealth.hpp
GPSCNavTimeOffset.hpp
gnsstk::PNBNavDataFactory::processAlm
bool processAlm
If true, almanac data will be output by addData.
Definition: PNBNavDataFactory.hpp:126
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
msg11CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg11CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
ephLNAVGPSSF3
gnsstk::PackedNavBitsPtr ephLNAVGPSSF3
Definition: LNavTestDataDecl.hpp:43
PNBGLOCNavDataFactory.hpp
msg10CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg10CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
gnsstk::PNBGPSCNav2DataFactory
Definition: PNBGPSCNav2DataFactory.hpp:60
PNBTestFactory::getProcAlm
bool getProcAlm() const
Definition: PNBMultiGNSSNavDataFactory_T.cpp:86
PNBMultiGNSSNavDataFactory_T::heaCount
unsigned heaCount
Definition: PNBMultiGNSSNavDataFactory_T.cpp:116
msg33CNAVGPSL2
gnsstk::PackedNavBitsPtr msg33CNAVGPSL2
Definition: CNavTestDataDecl.hpp:45
gnsstk::GPSCNavHealth
Definition: GPSCNavHealth.hpp:54
PNBMultiGNSSNavDataFactory_T::almCount
unsigned almCount
Counts of messages, set by countResults.
Definition: PNBMultiGNSSNavDataFactory_T.cpp:116
TUASSERT
#define TUASSERT(EXPR)
Definition: TestUtil.hpp:63
GPSCNavAlm.hpp
TestClass::getFactories
static std::shared_ptr< gnsstk::PNBNavDataFactoryMap > getFactories()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:75
GPSCNavIono.hpp
TestUtil.hpp
PNBGPSCNavDataFactory.hpp
gnsstk::PNBMultiGNSSNavDataFactory::addData
bool addData(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, double cadence=-1) override
Definition: PNBMultiGNSSNavDataFactory.cpp:73
PNBTestFactory::resetState
void resetState() override
Definition: PNBMultiGNSSNavDataFactory_T.cpp:89
PNBMultiGNSSNavDataFactory_T
Definition: PNBMultiGNSSNavDataFactory_T.cpp:93
TURETURN
#define TURETURN()
Definition: TestUtil.hpp:232
msg10CNAVGPSL2
gnsstk::PackedNavBitsPtr msg10CNAVGPSL2
Definition: CNavTestDataDecl.hpp:45
gnsstk::PNBNavDataFactory::processEph
bool processEph
If true, ephemeris data will be output by addData.
Definition: PNBNavDataFactory.hpp:124
PNBGalFNavDataFactory.hpp
pg51LNAVGPS
gnsstk::PackedNavBitsPtr pg51LNAVGPS
Definition: LNavTestDataDecl.hpp:44
gnsstk::operator<<
std::ostream & operator<<(std::ostream &s, const ObsEpoch &oe) noexcept
Definition: ObsEpochMap.cpp:54
gnsstk::PNBBDSD1NavDataFactory
Definition: PNBBDSD1NavDataFactory.hpp:81
gnsstk::PNBBDSD2NavDataFactory
Definition: PNBBDSD2NavDataFactory.hpp:85
PNBGalINavDataFactory.hpp
PNBMultiGNSSNavDataFactory_T::otherCount
unsigned otherCount
Definition: PNBMultiGNSSNavDataFactory_T.cpp:116
PNBMultiGNSSNavDataFactory_T::toCount
unsigned toCount
Definition: PNBMultiGNSSNavDataFactory_T.cpp:116
msg32CNAVGPSL2
gnsstk::PackedNavBitsPtr msg32CNAVGPSL2
Definition: CNavTestDataDecl.hpp:45
PNBTestFactory::getProcEph
bool getProcEph() const
Definition: PNBMultiGNSSNavDataFactory_T.cpp:85
pg56LNAVGPS
gnsstk::PackedNavBitsPtr pg56LNAVGPS
Definition: LNavTestDataDecl.hpp:44
GPSCNavRedAlm.hpp
gnsstk::NavValidityType::Any
@ Any
Load/find nav messages regardless of validity checks.
CNavTestDataDef.hpp
TUDEF
#define TUDEF(CLASS, METHOD)
Definition: TestUtil.hpp:56
PNBMultiGNSSNavDataFactory_T::resetCount
void resetCount()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:113
gnsstk::PNBGLOFNavDataFactory
Definition: PNBGLOFNavDataFactory.hpp:59
msg30CNAVGPSL2
gnsstk::PackedNavBitsPtr msg30CNAVGPSL2
Definition: CNavTestDataDecl.hpp:45
GPSCNavEph.hpp
PNBMultiGNSSNavDataFactory_T::setValidityFilterTest
unsigned setValidityFilterTest()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:218
gnsstk::PNBGLOCNavDataFactory
Definition: PNBGLOCNavDataFactory.hpp:68
LNavTestDataDef.hpp
gnsstk::GPSLNavIono
Class containing data elements unique to GPS LNav ionospheric data.
Definition: GPSLNavIono.hpp:50
gnsstk::NavMessageType::TimeOffset
@ TimeOffset
Message containing information about time system offsets.
gnsstk::GPSLNavTimeOffset
Definition: GPSLNavTimeOffset.hpp:53
PNBMultiGNSSNavDataFactory_T::countResults
void countResults(const gnsstk::NavDataPtrList &navOut)
Count the various types of messages present in navOut.
Definition: PNBMultiGNSSNavDataFactory_T.cpp:463
PNBMultiGNSSNavDataFactory_T::constructorTest
unsigned constructorTest()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:143
gnsstk::PNBNavDataFactory::processHea
bool processHea
If true, health data will be output by addData.
Definition: PNBNavDataFactory.hpp:128
gnsstk::GPSCNavIono
Class containing data elements unique to GPS CNav ionospheric data.
Definition: GPSCNavIono.hpp:50
gnsstk::EnumIterator
Definition: EnumIterator.hpp:68
PNBMultiGNSSNavDataFactory_T::PNBMultiGNSSNavDataFactory_T
PNBMultiGNSSNavDataFactory_T()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:121
PNBMultiGNSSNavDataFactory_T::setTypeFilterTest
unsigned setTypeFilterTest()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:252
PNBTestFactory::addData
bool addData(const gnsstk::PackedNavBitsPtr &navIn, gnsstk::NavDataPtrList &navOut, double cadence=-1) override
Definition: PNBMultiGNSSNavDataFactory_T.cpp:81
TestClass::getFactories
static std::shared_ptr< gnsstk::NavDataFactoryMap > getFactories()
Definition: GNSSTKFormatInitializer_T.cpp:49
gnsstk::GPSCNavAlm
Class containing data elements unique to GPS CNav midi almanac.
Definition: GPSCNavAlm.hpp:50
PNBMultiGNSSNavDataFactory_T::addDataTest
unsigned addDataTest()
Definition: PNBMultiGNSSNavDataFactory_T.cpp:316
msg32CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg32CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
PNBBDSD1NavDataFactory.hpp
gnsstk::NavMessageType::Ephemeris
@ Ephemeris
Precision orbits for the transmitting SV.
PNBBDSD2NavDataFactory.hpp
TestClass
Make GroupPathCorrector instantiatable for testing.
Definition: GroupPathCorrector_T.cpp:56
gnsstk::PNBMultiGNSSNavDataFactory
Definition: PNBMultiGNSSNavDataFactory.hpp:66
PNBMultiGNSSNavDataFactory.hpp
GPSLNavTimeOffset.hpp
PNBMultiGNSSNavDataFactory_T::ephCount
unsigned ephCount
Definition: PNBMultiGNSSNavDataFactory_T.cpp:116
PNBGPSCNav2DataFactory.hpp
ephLNAVGPSSF2
gnsstk::PackedNavBitsPtr ephLNAVGPSSF2
Definition: LNavTestDataDecl.hpp:43
gnsstk::GPSLNavEph
Class containing data elements unique to GPS LNav ephemerides.
Definition: GPSLNavEph.hpp:51
msg31CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg31CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
PNBTestFactory::getValidity
gnsstk::NavValidityType getValidity() const
Definition: PNBMultiGNSSNavDataFactory_T.cpp:84
CNavTestDataDecl.hpp
GPSLNavEph.hpp
gnsstk::PNBMultiGNSSNavDataFactory::setTypeFilter
void setTypeFilter(const NavMessageTypeSet &nmts) override
Definition: PNBMultiGNSSNavDataFactory.cpp:63
PNBTestFactory::getProcHea
bool getProcHea() const
Definition: PNBMultiGNSSNavDataFactory_T.cpp:87
GPSLNavAlm.hpp
gnsstk::GPSLNavAlm
Class containing data elements unique to GPS LNav almanac pages.
Definition: GPSLNavAlm.hpp:50
msg12CNAVQZSSL5
gnsstk::PackedNavBitsPtr msg12CNAVQZSSL5
Definition: CNavTestDataDecl.hpp:50
almLNAVGPS26
gnsstk::PackedNavBitsPtr almLNAVGPS26
Definition: LNavTestDataDecl.hpp:44
gnsstk::GPSCNavEph
Definition: GPSCNavEph.hpp:52
LNavTestDataDecl.hpp
PNBTestFactory::getProcTim
bool getProcTim() const
Definition: PNBMultiGNSSNavDataFactory_T.cpp:88
gnsstk::NavMessageType::Almanac
@ Almanac
Low-precision orbits for other than the transmitting SV.
PNBMultiGNSSNavDataFactory_T::addFactoryTest
unsigned addFactoryTest()
This must be executed first as it adds a factory that other tests use.
Definition: PNBMultiGNSSNavDataFactory_T.cpp:130
gnsstk::PNBMultiGNSSNavDataFactory::setValidityFilter
void setValidityFilter(NavValidityType nvt) override
Definition: PNBMultiGNSSNavDataFactory.cpp:53
gnsstk::PNBNavDataFactory::navValidity
NavValidityType navValidity
Determines how the factory should filter added data.
Definition: PNBNavDataFactory.hpp:121
PNBGLOFNavDataFactory.hpp
gnsstk::PNBNavDataFactory
Definition: PNBNavDataFactory.hpp:61
gnsstk::GPSLNavHealth
Definition: GPSLNavHealth.hpp:51


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:40