diff --git a/test/gtest_observations.cpp b/test/gtest_observations.cpp index fc24115a0c7198f24b9b19718d219a9928ef78db..fe10475eb943bd0c76e9e7e14092cd82d95a5135 100644 --- a/test/gtest_observations.cpp +++ b/test/gtest_observations.cpp @@ -38,11 +38,11 @@ TEST(ObservationsTest, AddClearObservation) } ASSERT_TRUE(obs.n == observations.getObservations().size()); + ASSERT_TRUE(obs.n == observations.size()); - //Testing clear + // Testing clear observations.clearObservations(); ASSERT_TRUE(0 == observations.getObservations().size()); - } TEST(ObservationsTest, LoadFromRinex) @@ -67,6 +67,79 @@ TEST(ObservationsTest, LoadFromRinex) free(obs.data); } +TEST(ObservationsTest, GetObservationBySat) +{ + loadRinex(); + + Observations observations; + observations.loadFromRinex(rnx_file.c_str(), t_start, t_end, dt, opt); + + for (int ii = 0; ii < obs.n; ++ii) + { + ASSERT_TRUE(equalObservations(obs.data[ii], observations.getObservationBySat(obs.data[ii].sat))); + } +} + +TEST(ObservationsTest, GetObservationByIdx) +{ + loadRinex(); + + Observations observations; + observations.loadFromRinex(rnx_file.c_str(), t_start, t_end, dt, opt); + + for (int ii = 0; ii < obs.n; ++ii) + { + // We do this check like this because both loading functions load the rinex file and then sort the observations + ASSERT_TRUE(equalObservations(obs.data[ii], observations.getObservationByIdx(ii))); + } +} + +TEST(ObservationsTest, data) +{ + loadRinex(); + + Observations observations; + observations.loadFromRinex(rnx_file.c_str(), t_start, t_end, dt, opt); + + for (int ii = 0; ii < obs.n; ++ii) + { + // We do this check like this because both loading functions load the rinex file and then sort the observations + ASSERT_TRUE(equalObservations(obs.data[ii], observations.data()[ii])); + } +} + +TEST(ObservationsTest, HasSatellite) +{ + loadRinex(); + + Observations observations; + observations.loadFromRinex(rnx_file.c_str(), t_start, t_end, dt, opt); + + for (int ii = 0; ii < obs.n; ++ii) + { + ASSERT_TRUE(observations.hasSatellite(obs.data[ii].sat)); + } +} + +TEST(ObservationsTest, FindCommonObservations) +{ + loadRinex(); + + Observations observations1; + observations1.loadFromRinex(rnx_file.c_str(), t_start, t_end, dt, opt); + Observations observations2(observations1); + + Observations common1; + Observations common2; + + Observations::findCommonObservations(observations1, observations2, common1, common2); + + for (auto obs = common1.getObservations().begin(); obs != common1.getObservations().end(); ++obs) + { + ASSERT_TRUE(equalObservations(common1.getObservationBySat(obs->sat), common2.getObservationBySat(obs->sat))); + } +} + int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv);