1 #include <gtest/gtest.h>
2 #include <marnav/nmea/xte.hpp>
3 #include <marnav/nmea/nmea.hpp>
4 #include "type_traits_helper.hpp"
9 using namespace marnav
;
11 class Test_nmea_xte
: public ::testing::Test
15 TEST_F(Test_nmea_xte
, contruction
) { EXPECT_NO_THROW(nmea::xte xte
); }
17 TEST_F(Test_nmea_xte
, properties
) { nmea_sentence_traits
<nmea::xte
>(); }
19 TEST_F(Test_nmea_xte
, parse
)
21 auto s
= nmea::make_sentence("$GPXTE,,,,,,*5E");
22 ASSERT_NE(nullptr, s
);
24 auto xte
= nmea::sentence_cast
<nmea::xte
>(s
);
25 ASSERT_NE(nullptr, xte
);
28 TEST_F(Test_nmea_xte
, parse_invalid_number_of_arguments
)
30 EXPECT_ANY_THROW(nmea::sentence_parse
<nmea::xte
>("@@", {4, "@"}));
31 EXPECT_ANY_THROW(nmea::sentence_parse
<nmea::xte
>("@@", {7, "@"}));
34 TEST_F(Test_nmea_xte
, empty_to_string
)
38 EXPECT_STREQ("$GPXTE,,,,,,*5E", nmea::to_string(xte
).c_str());
41 TEST_F(Test_nmea_xte
, set_cross_track_error_magnitude
)
44 xte
.set_cross_track_error_magnitude(1.2);
46 EXPECT_STREQ("$GPXTE,,,1.2,,N,*3D", nmea::to_string(xte
).c_str());