ArrayTests.cpp 969 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "../Tests.hpp"
  2. #include "core/Array.hpp"
  3. #include "core/Test.hpp"
  4. template class Core::Array<size_t, 3>;
  5. using TestArray = Core::Array<size_t, 3>;
  6. static void testToString1() {
  7. TestArray a;
  8. a[0] = 1;
  9. a[1] = 243;
  10. a[2] = 423;
  11. TEST_STRING("[1, 243, 423]", a);
  12. }
  13. static void testToString2() {
  14. Core::Array<int, 1> a;
  15. a[0] = 1;
  16. TEST_STRING("[1]", a);
  17. }
  18. static void testReadConst() {
  19. TestArray a;
  20. for(size_t i = 0; i < a.getLength(); i++) {
  21. a[i] = i;
  22. }
  23. const TestArray& c = a;
  24. for(size_t i = 0; i < c.getLength(); i++) {
  25. TEST(i, c[i]);
  26. }
  27. }
  28. static void testRangeFor() {
  29. TestArray a;
  30. for(size_t i = 0; i < a.getLength(); i++) {
  31. a[i] = i;
  32. }
  33. for(size_t& i : a) {
  34. i++;
  35. }
  36. for(size_t i = 0; i < a.getLength(); i++) {
  37. TEST(i + 1, a[i]);
  38. }
  39. }
  40. void testArray() {
  41. testToString1();
  42. testToString2();
  43. testReadConst();
  44. testRangeFor();
  45. }