GNSSTKFormatInitializer_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"
41 #include "SP3NavDataFactory.hpp"
42 #include "RinexNavDataFactory.hpp"
43 #include "SEMNavDataFactory.hpp"
44 #include "YumaNavDataFactory.hpp"
45 
47 {
48 public:
49  static std::shared_ptr<gnsstk::NavDataFactoryMap> getFactories()
50  { return factories(); }
51 };
52 
53 
55 {
56 public:
59  unsigned constructorTest();
60 };
61 
62 
65 {
66  TUDEF("GNSSTKFormatInitializer", "GNSSTKFormatInitializer");
67  bool foundRinex = false;
68  bool foundSP3 = false;
69  bool foundYuma = false;
70  bool foundSEM = false;
71  // Iterate over the factories and try to find the expected
72  // factory objects. The factories map may also contain ext
73  // factories, so we ignore anything else.
74  for (auto& i : *(TestClass::getFactories()))
75  {
76  gnsstk::NavDataFactory *p = i.second.get();
77  if (dynamic_cast<gnsstk::RinexNavDataFactory*>(p) != nullptr)
78  {
79  foundRinex = true;
80  }
81  else if (dynamic_cast<gnsstk::SP3NavDataFactory*>(p) != nullptr)
82  {
83  foundSP3 = true;
84  }
85  else if (dynamic_cast<gnsstk::YumaNavDataFactory*>(p) != nullptr)
86  {
87  foundYuma = true;
88  }
89  else if (dynamic_cast<gnsstk::SEMNavDataFactory*>(p) != nullptr)
90  {
91  foundSEM = true;
92  }
93  }
94  TUASSERT(foundRinex);
95  TUASSERT(foundSP3);
96  TUASSERT(foundYuma);
97  TUASSERT(foundSEM);
98  TURETURN();
99 }
100 
101 
102 int main()
103 {
104  GNSSTKFormatInitializer_T testClass;
105  unsigned errorTotal = 0;
106 
107  errorTotal += testClass.constructorTest();
108 
109  std::cout << "Total Failures for " << __FILE__ << ": " << errorTotal
110  << std::endl;
111 
112  return errorTotal;
113 }
main
int main()
Definition: GNSSTKFormatInitializer_T.cpp:102
gnsstk::YumaNavDataFactory
Definition: YumaNavDataFactory.hpp:54
TUASSERT
#define TUASSERT(EXPR)
Definition: TestUtil.hpp:63
TestUtil.hpp
TURETURN
#define TURETURN()
Definition: TestUtil.hpp:232
MultiFormatNavDataFactory.hpp
GNSSTKFormatInitializer_T
Definition: GNSSTKFormatInitializer_T.cpp:54
gnsstk::MultiFormatNavDataFactory
Definition: MultiFormatNavDataFactory.hpp:74
TUDEF
#define TUDEF(CLASS, METHOD)
Definition: TestUtil.hpp:56
gnsstk::SEMNavDataFactory
Definition: SEMNavDataFactory.hpp:54
TestClass::getFactories
static std::shared_ptr< gnsstk::NavDataFactoryMap > getFactories()
Definition: GNSSTKFormatInitializer_T.cpp:49
gnsstk::SP3NavDataFactory
Definition: SP3NavDataFactory.hpp:58
gnsstk::RinexNavDataFactory
Definition: RinexNavDataFactory.hpp:57
TestClass
Make GroupPathCorrector instantiatable for testing.
Definition: GroupPathCorrector_T.cpp:56
gnsstk::NavDataFactory
Definition: NavDataFactory.hpp:60
SP3NavDataFactory.hpp
YumaNavDataFactory.hpp
SEMNavDataFactory.hpp
GNSSTKFormatInitializer_T::constructorTest
unsigned constructorTest()
Definition: GNSSTKFormatInitializer_T.cpp:64
RinexNavDataFactory.hpp


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