| 5 | using namespace Star; |
| 6 | |
| 7 | TEST(MultiArrayTest, All) { |
| 8 | MultiArray<int, 2> table(10, 12); |
| 9 | table.forEach([](Array2S const& index, int& val) { |
| 10 | val = (index[0] + 1) * index[1]; |
| 11 | }); |
| 12 | |
| 13 | EXPECT_EQ(table(3, 4), 16); |
| 14 | EXPECT_EQ(table(5, 2), 12); |
| 15 | EXPECT_EQ(table(0, 9), 9); |
| 16 | EXPECT_EQ(table(8, 1), 9); |
| 17 | EXPECT_EQ(table(0, 1), 1); |
| 18 | EXPECT_EQ(table(8, 9), 81); |
| 19 | |
| 20 | MultiArray<int, 3> table3(5, 6, 7); |
| 21 | table3.forEach([](Array3S const& index, int& val) { |
| 22 | val = index[0] + index[1] + index[2]; |
| 23 | }); |
| 24 | |
| 25 | EXPECT_EQ(table3(0, 0, 0), 0); |
| 26 | EXPECT_EQ(table3(1, 1, 0), 2); |
| 27 | EXPECT_EQ(table3(2, 0, 2), 4); |
| 28 | EXPECT_EQ(table3(1, 1, 1), 3); |
| 29 | EXPECT_EQ(table3(0, 1, 0), 1); |
| 30 | EXPECT_EQ(table3(2, 2, 2), 6); |
| 31 | EXPECT_EQ(table3(3, 3, 3), 9); |
| 32 | EXPECT_EQ(table3(4, 4, 4), 12); |
| 33 | |
| 34 | table3.forEach({3, 3, 3}, {2, 2, 2}, [](Array3S const&, int& val) { |
| 35 | val = 42; |
| 36 | }); |
| 37 | |
| 38 | EXPECT_EQ(table3(2, 2, 2), 6); |
| 39 | EXPECT_EQ(table3(3, 3, 4), 42); |
| 40 | EXPECT_EQ(table3(4, 4, 4), 42); |
| 41 | } |
| 42 | |
| 43 | TEST(MultiTableTest, All) { |
| 44 | MultiTable2F table; |
nothing calls this directly
no test coverage detected