updated data_access.test to use context
This commit is contained in:
parent
fb01e7352a
commit
417207d90a
|
|
@ -6,22 +6,22 @@
|
|||
constexpr test_suite tests = define_tests("Data Access")
|
||||
("const_vector::at(size_type pos)", []() constexpr {
|
||||
|
||||
REPEAT_FOR_TYPES_N(([]<typename T, std::size_t N, typename Ctx>() constexpr {
|
||||
REPEAT_FOR_TYPES_N(([]<typename T, std::size_t N, typename ctx>() constexpr {
|
||||
|
||||
cc::const_vector<T, test_params<"arr", Ctx>::get_arr_len() + 1> v(test_context_params<T, N>::template value<"arr">);
|
||||
const cc::const_vector<T, test_params<"arr", Ctx>::get_arr_len() + 1> cv(test_context_params<T, N>::template value<"arr">);
|
||||
cc::const_vector<T, c_arr_len(get_test_param<ctx, "arr">()) + 1> v(get_test_param<ctx, "arr">());
|
||||
const cc::const_vector<T, c_arr_len(get_test_param<ctx, "arr">()) + 1> cv(get_test_param<ctx, "arr">());
|
||||
|
||||
for (int i = 0; i < test_params<"arr", Ctx>::get_arr_len(); ++i) {
|
||||
ASSERT_TYPE_NUM((v.at(i) == test_params<"arr", Ctx>::get()[i]), T, N);
|
||||
ASSERT_TYPE_NUM((cv.at(i) == test_params<"arr", Ctx>::get()[i]), T, N);
|
||||
for (int i = 0; i < c_arr_len(get_test_param<ctx, "arr">()); ++i) {
|
||||
ASSERT((v.at(i) == get_test_param<ctx, "arr">()[i]), ctx);
|
||||
ASSERT((cv.at(i) == get_test_param<ctx, "arr">()[i]), ctx);
|
||||
}
|
||||
|
||||
ASSERT_TYPE_NUM_THROWS(v.at(test_params<"arr", Ctx>::get_arr_len()), std::out_of_range, T, N);
|
||||
ASSERT_TYPE_NUM_THROWS(cv.at(test_params<"arr", Ctx>::get_arr_len()), std::out_of_range, T, N);
|
||||
ASSERT_THROWS(v.at(c_arr_len(get_test_param<ctx, "arr">())), std::out_of_range, ctx);
|
||||
ASSERT_THROWS(cv.at(c_arr_len(get_test_param<ctx, "arr">())), std::out_of_range, ctx);
|
||||
|
||||
v.at(v.size() / 2) = test_params<"value", Ctx>::get();
|
||||
v.at(v.size() / 2) = get_test_param<ctx, "value">();
|
||||
|
||||
ASSERT_TYPE_NUM((v.data()[v.size() / 2] == test_params<"value", Ctx>::get()), T, N);
|
||||
ASSERT((v.at(v.size() / 2) == get_test_param<ctx, "value">()), ctx);
|
||||
|
||||
return TEST_PASS();
|
||||
}), 2, int, char, const char *, TestObj);
|
||||
|
|
|
|||
Loading…
Reference in New Issue