moved test for at() to data_access
This commit is contained in:
parent
c8144b041c
commit
9f307442dc
|
|
@ -7,3 +7,8 @@ add_executable(test_const_vector_constructor const_vector_constructor.test.cpp
|
|||
test_params.h)
|
||||
target_link_libraries(test_const_vector_constructor const_container test_common)
|
||||
add_test(NAME "const_vector constructor" COMMAND test_const_vector_constructor)
|
||||
|
||||
add_executable(test_const_vector_data_access const_vector_data_access.test.cpp
|
||||
test_params.h)
|
||||
target_link_libraries(test_const_vector_data_access const_container test_common)
|
||||
add_test(NAME "const_vector data access" COMMAND test_const_vector_constructor)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#define ASSERT_RANGE_VEC_ARR_EQ(vec, startI, endI, eq) ASSERT_TYPE_RANGE_VEC_ARR_EQ(vec, startI, endI, eq, std::nullptr_t)
|
||||
|
||||
|
||||
constexpr test_suite tests = define_tests("Tests")
|
||||
constexpr test_suite tests = define_tests("Constructors")
|
||||
("const_vector()", []() constexpr {
|
||||
|
||||
cc::const_vector<int, test_defs::get<int>::capacity<1>()> vi1;
|
||||
|
|
@ -1221,44 +1221,7 @@ constexpr test_suite tests = define_tests("Tests")
|
|||
}), 2, int, char, const char *, TestObj);
|
||||
|
||||
return TEST_PASS();
|
||||
}, EvalFlag::RUNTIME_CONSTEVAL)
|
||||
|
||||
("const_vector::at(size_type pos)", []() 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">);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
v.at(v.size() / 2) = test_params<"value", Ctx>::get();
|
||||
|
||||
ASSERT_TYPE_NUM((v.data()[v.size() / 2] == test_params<"value", Ctx>::get()), T, N);
|
||||
|
||||
return TEST_PASS();
|
||||
}), 2, int, char, const char *, TestObj);
|
||||
|
||||
|
||||
return TEST_PASS();
|
||||
}, EvalFlag::RUNTIME_CONSTEVAL)
|
||||
|
||||
/*("const_vector", []() constexpr {
|
||||
|
||||
|
||||
return TEST_PASS();
|
||||
}, EvalFlag::RUNTIME_CONSTEVAL)*/
|
||||
/*("const_vector(const_vector&& other)", []() constexpr {
|
||||
|
||||
return TEST_PASS();
|
||||
}, EvalFlag::RUNTIME_CONSTEVAL)
|
||||
*/;
|
||||
}, EvalFlag::RUNTIME_CONSTEVAL);
|
||||
|
||||
int main() {
|
||||
return tests.run();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
#include <const_vector.hpp>
|
||||
|
||||
#include <test.hpp>
|
||||
#include "test_params.h"
|
||||
|
||||
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 {
|
||||
|
||||
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">);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
v.at(v.size() / 2) = test_params<"value", Ctx>::get();
|
||||
|
||||
ASSERT_TYPE_NUM((v.data()[v.size() / 2] == test_params<"value", Ctx>::get()), T, N);
|
||||
|
||||
return TEST_PASS();
|
||||
}), 2, int, char, const char *, TestObj);
|
||||
|
||||
return TEST_PASS();
|
||||
}, EvalFlag::RUNTIME_CONSTEVAL);
|
||||
|
||||
int main() {
|
||||
return tests.run();
|
||||
}
|
||||
Loading…
Reference in New Issue