Path: blob/master/libraries/AP_Common/tests/test_tsindex.cpp
9487 views
#include <AP_gtest.h>12#include <AP_Common/TSIndex.h>3DECLARE_TYPESAFE_INDEX(testTSIndex, uint8_t);45TEST(TSIndex, operators)6{7testTSIndex test_value = testTSIndex();8EXPECT_EQ(0, test_value.get_int());9uint8_t test_eq = 1;10test_value = 1;11EXPECT_EQ(test_eq, test_value.get_int());12EXPECT_EQ(test_eq++, (test_value++).get_int());13EXPECT_EQ(++test_eq, (++test_value).get_int());14test_eq = 1;15EXPECT_EQ(test_eq, (test_value % 2).get_int());16test_eq = 10;17EXPECT_TRUE(test_value < test_eq);18test_eq = 3;19EXPECT_TRUE(test_value <= test_eq);20test_eq = 2;21EXPECT_TRUE(test_value >= test_eq);22test_eq = 1;23EXPECT_TRUE(test_value > test_eq);24test_eq = 2;25EXPECT_TRUE(test_value != test_eq);26test_eq = 3;27EXPECT_TRUE(test_value == test_eq);28test_eq = 4;29EXPECT_EQ(test_eq, (test_value + 1).get_int());30test_eq = 3;31EXPECT_EQ(test_eq, uint8_t(test_value));32}3334TEST(TSIndex, RestrictIDArray)35{3637testTSIndex i_0(0);38testTSIndex i_1(1);39RestrictIDTypeArray<int32_t , 2, testTSIndex> state{};4041EXPECT_EQ(state[i_0], 0);42EXPECT_EQ(state[i_1], 0);43state[i_1] = 42;44EXPECT_EQ(state[i_1], 42);45const int32_t state_1 = state[i_1];46EXPECT_EQ(state_1, state[i_1]);47EXPECT_NE(state_1, state[i_0]);48const RestrictIDTypeArray<int32_t , 2, testTSIndex> state_const{42, 43};49EXPECT_TRUE(state_const[i_0] == 42);50EXPECT_TRUE(state_const[i_1] == 43);51}52AP_GTEST_MAIN()535455