#include "../Tests.hpp" #include "core/Array.hpp" #include "core/Test.hpp" template struct Core::Array; using TestArray = Core::Array; static void testToString1() { TestArray a; a[0] = 1; a[1] = 243; a[2] = 423; TEST_STRING("[1, 243, 423]", a); Core::Array b = {{1, 2, 3}}; TEST_STRING("[1, 2, 3]", b); } static void testToString2() { Core::Array a; a[0] = 1; TEST_STRING("[1]", a); } static void testReadConst() { TestArray a; for(size_t i = 0; i < a.getLength(); i++) { a[i] = i; } const TestArray& c = a; for(size_t i = 0; i < c.getLength(); i++) { TEST(i, c[i]); } } static void testRangeFor() { TestArray a; for(size_t i = 0; i < a.getLength(); i++) { a[i] = i; } for(size_t& i : a) { i++; } for(size_t i = 0; i < a.getLength(); i++) { TEST(i + 1, a[i]); } } void testArray() { testToString1(); testToString2(); testReadConst(); testRangeFor(); }