#include #include #include "../unit_test.hpp" using namespace lemonbuddy; class test_memory : public unit_test { public: CPPUNIT_TEST_SUITE(test_memory); CPPUNIT_TEST(test_make_malloc_ptr); CPPUNIT_TEST(test_countof); CPPUNIT_TEST_SUITE_END(); struct mytype { int x, y, z; }; void test_make_malloc_ptr() { auto ptr = memory_util::make_malloc_ptr(); CPPUNIT_ASSERT_EQUAL(sizeof(mytype*), sizeof(ptr.get())); ptr.reset(); CPPUNIT_ASSERT(ptr.get() == nullptr); } void test_countof() { mytype A[3]{{}, {}, {}}; mytype B[8]{{}, {}, {}, {}, {}, {}, {}, {}}; CPPUNIT_ASSERT_EQUAL(size_t{3}, memory_util::countof(A)); CPPUNIT_ASSERT_EQUAL(size_t{8}, memory_util::countof(B)); } }; CPPUNIT_TEST_SUITE_REGISTRATION(test_memory);