From a6c2c58d3bb1c1f424ee693abed0488e217dc6e3 Mon Sep 17 00:00:00 2001
From: PepMS <jmarti@iri.upc.edu>
Date: Wed, 1 Apr 2020 10:34:22 +0200
Subject: [PATCH] [tests] observations

---
 test/gtest_observations.cpp | 54 ++++++++++++++++++++++++++-----------
 1 file changed, 39 insertions(+), 15 deletions(-)

diff --git a/test/gtest_observations.cpp b/test/gtest_observations.cpp
index 6a94280..fc24115 100644
--- a/test/gtest_observations.cpp
+++ b/test/gtest_observations.cpp
@@ -4,32 +4,56 @@
 
 using namespace GNSSUtils;
 
-std::string rnx_file;
+std::string   rnx_file;
+obs_t         obs;
+const gtime_t t_start{ 0, 0 };  // no limit
+const gtime_t t_end{ 0, 0 };    // no limit
+const double  dt  = 0.0;        // no limit
+const char*   opt = "-SYS=G";   // only GPS | GPS+GAL: "-SYS=G,L" | ALL: ""
 
-TEST(ObservationsTest, LoadFromRinex)
+void loadRinex()
 {
-  gtime_t     t_start{ 0, 0 };  // no limit
-  gtime_t     t_end{ 0, 0 };    // no limit
-  double      dt  = 0.0;        // no limit
-  const char* opt = "-SYS=G";   // only GPS | GPS+GAL: "-SYS=G,L" | ALL: ""
-
-  // GNSSUtils utilities
-  Observations observations;
-
-  observations.loadFromRinex(rnx_file.c_str(), t_start, t_end, dt, opt);
-  observations.print();
-
   // RTKLIB utilities
-  obs_t obs;
   obs.data = (obsd_t*)malloc(sizeof(obsd_t) * MAXSAT);
   obs.n    = 0;
   obs.nmax = MAXSAT;
-  
+
   int stat = readrnxt(rnx_file.c_str(), 1, t_start, t_end, dt, opt, &obs, NULL, NULL);
 
   ASSERT_EQ(stat, 1);
   sortobs(&obs);
+}
+
+TEST(ObservationsTest, AddClearObservation)
+{
+  loadRinex();
+
+  Observations observations;
+
+  // testing addition
+  for (int ii = 0; ii < obs.n; ++ii)
+  {
+    observations.addObservation(obs.data[ii]);
+    ASSERT_TRUE(equalObservations(obs.data[ii], observations.getObservations()[ii]));
+  }
+
+  ASSERT_TRUE(obs.n == observations.getObservations().size());
+
+  //Testing clear
+  observations.clearObservations();
+  ASSERT_TRUE(0 == observations.getObservations().size());
+
+}
 
+TEST(ObservationsTest, LoadFromRinex)
+{
+  // GNSSUtils utilities
+  Observations observations;
+  observations.loadFromRinex(rnx_file.c_str(), t_start, t_end, dt, opt);
+  observations.print();
+
+  // RTKLIB utilities
+  loadRinex();
   ASSERT_EQ(obs.n, 6);
 
   // Comparison
-- 
GitLab