diff --git a/test/gtest_observations.cpp b/test/gtest_observations.cpp index 6a94280faa2869986da99da1fd981bfee570a706..fc24115a0c7198f24b9b19718d219a9928ef78db 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