#include #include namespace { namespace schema { using namespace saw::schema; using ZeroDimArray = Array; using OneDimArray = Array; using TwoDimArray = Array; using ThreeDimArray = Array; } SAW_TEST("One Dimensional Array") { using namespace saw; data arr{500u}; int bar = 0; for(size_t i = 0; i < arr.get_dim_size(0); ++i){ arr.at(i).set(bar++); } int sum = 0; for(size_t i = 0; i < arr.get_dim_size(0); ++i){ sum += arr.at(i).get(); } SAW_EXPECT(sum == 124750, std::to_string(sum) + " is not 124750. Expected that data stays correct"); } SAW_TEST("Two Dimensional Array") { using namespace saw; data arr{10,50u}; int bar = 0; for(size_t i = 0; i < arr.get_dim_size(0); ++i){ for(size_t j = 0; j < arr.get_dim_size(1); ++j){ arr.at(i,j).set(bar++); } } int sum = 0; for(size_t i = 0; i < arr.get_dim_size(0); ++i){ for(size_t j = 0; j < arr.get_dim_size(1); ++j){ sum += arr.at(i,j).get(); } } SAW_EXPECT(sum == 124750, std::to_string(sum) + " is not 124750. Expected that data stays correct"); } SAW_TEST("Three Dimensional Array") { using namespace saw; data arr{10,10u,5}; int bar = 0; for(size_t i = 0; i < arr.get_dim_size(0); ++i){ for(size_t j = 0; j < arr.get_dim_size(1); ++j){ for(size_t k = 0; k < arr.get_dim_size(2); ++k){ arr.at(i,j,k).set(bar++); } } } int sum = 0; for(size_t i = 0; i < arr.get_dim_size(0); ++i){ for(size_t j = 0; j < arr.get_dim_size(1); ++j){ for(size_t k = 0; k < arr.get_dim_size(2); ++k){ sum += arr.at(i,j,k).get(); } } } SAW_EXPECT(sum == 124750, std::to_string(sum) + " is not 124750. Expected that data stays correct"); } }