// // Tests for // bounded_array(); // #include #include #include #include "test_policy.h" struct T { T() : i(4) { } int i; friend bool operator==(T const& a, T const& b) { return a.i == b.i; } }; template static void tests() { { test_bounded_array array; CHECK(array.size() == 10); T* end = array.data() + array.size(); for (auto it = array.data(); it != end; ++it) { CHECK(*it == T()); } } { test_bounded_array array{}; CHECK(array.size() == 10); T* end = array.data() + array.size(); for (auto it = array.data(); it != end; ++it) { CHECK(*it == T()); } } { test_bounded_array array = {}; CHECK(array.size() == 10); T* end = array.data() + array.size(); for (auto it = array.data(); it != end; ++it) { CHECK(*it == T()); } } { test_bounded_array array = test_bounded_array(); CHECK(array.size() == 10); T* end = array.data() + array.size(); for (auto it = array.data(); it != end; ++it) { CHECK(*it == T()); } } // Check with a 0-sized array { test_bounded_array array; CHECK(array.size() == 0); } } T_DECL(ctor_default, "bounded_array.ctor.default") { tests(); }