Dev: consistent formatting with clang-format-3.9
[marnav.git] / test / nmea / Test_nmea_zda.cpp
blobf945570f8b29d49377368336982c066097452477
1 #include <gtest/gtest.h>
2 #include <marnav/nmea/zda.hpp>
3 #include <marnav/nmea/nmea.hpp>
4 #include "type_traits_helper.hpp"
6 namespace
9 using namespace marnav;
11 class Test_nmea_zda : public ::testing::Test
15 TEST_F(Test_nmea_zda, contruction)
17 EXPECT_NO_THROW(nmea::zda zda);
20 TEST_F(Test_nmea_zda, properties)
22 nmea_sentence_traits<nmea::zda>();
25 TEST_F(Test_nmea_zda, parse)
27 auto s = nmea::make_sentence("$GPZDA,160012.71,11,03,2004,-1,00*7D");
28 ASSERT_NE(nullptr, s);
30 auto zda = nmea::sentence_cast<nmea::zda>(s);
31 ASSERT_NE(nullptr, zda);
34 TEST_F(Test_nmea_zda, parse_invalid_number_of_arguments)
36 EXPECT_ANY_THROW(nmea::sentence_parse<nmea::zda>(nmea::talker_id::none, {5, "@"}));
37 EXPECT_ANY_THROW(nmea::sentence_parse<nmea::zda>(nmea::talker_id::none, {7, "@"}));
40 TEST_F(Test_nmea_zda, empty_to_string)
42 nmea::zda zda;
44 EXPECT_STREQ("$GPZDA,,,,,,*48", nmea::to_string(zda).c_str());
47 TEST_F(Test_nmea_zda, set_time_utc)
49 nmea::zda zda;
50 zda.set_time_utc(nmea::time{1, 2, 3});
52 EXPECT_STREQ("$GPZDA,010203,,,,,*48", nmea::to_string(zda).c_str());
55 TEST_F(Test_nmea_zda, set_date)
57 nmea::zda zda;
58 zda.set_date(2015, 6, 28);
60 EXPECT_STREQ("$GPZDA,,28,06,2015,,*42", nmea::to_string(zda).c_str());
63 TEST_F(Test_nmea_zda, set_local_zone)
65 nmea::zda zda;
66 zda.set_local_zone(10, 0);
68 EXPECT_STREQ("$GPZDA,,,,,10,00*49", nmea::to_string(zda).c_str());