ardupilot/libraries/AP_Common/tests/test_cpp.cpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

36 lines
837 B
C++
Raw Normal View History

2021-06-19 12:04:17 -03:00
#include <AP_gtest.h>
int hal = 0;
class DummyDummy {
public:
double d = 42.0;
uint8_t count = 1;
};
TEST(AP_Common, TEST_CPP)
{
DummyDummy * test_new = new DummyDummy[1];
2021-06-19 12:04:17 -03:00
EXPECT_FALSE(test_new == nullptr);
EXPECT_TRUE(sizeof(test_new) == 8);
EXPECT_FLOAT_EQ(test_new->count, 1);
EXPECT_FLOAT_EQ(test_new->d, 42.0);
2021-06-19 12:04:17 -03:00
DummyDummy * test_d = (DummyDummy*) ::operator new (sizeof(DummyDummy));
2021-06-19 12:04:17 -03:00
EXPECT_FALSE(test_d == nullptr);
EXPECT_TRUE(sizeof(test_d) == 8);
EXPECT_EQ(test_d->count, 0); // constructor isn't called
EXPECT_FLOAT_EQ(test_d->d, 0.0);
2021-06-19 12:04:17 -03:00
DummyDummy * test_d2 = new DummyDummy;
EXPECT_TRUE(sizeof(test_d2) == 8);
EXPECT_EQ(test_d2->count, 1);
EXPECT_FLOAT_EQ(test_d2->d, 42.0);
delete[] test_new;
delete test_d;
delete test_d2;
}
AP_GTEST_MAIN()