Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

93 строки
2.6 KiB

  1. //
  2. // Lol Engine
  3. //
  4. // Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net>
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the Do What The Fuck You Want To
  7. // Public License, Version 2, as published by Sam Hocevar. See
  8. // http://www.wtfpl.net/ for more details.
  9. //
  10. #include <lol/engine-internal.h>
  11. #include <lolunit.h>
  12. namespace lol
  13. {
  14. lolunit_declare_fixture(Array3DTest)
  15. {
  16. void SetUp() {}
  17. void TearDown() {}
  18. lolunit_declare_test(Array3DCreate)
  19. {
  20. array3d<int> a(ivec3(10, 10, 10));
  21. a[0][0][0] = 2;
  22. a[9][0][0] = 4;
  23. a[0][9][9] = 6;
  24. a[9][9][9] = 8;
  25. lolunit_assert_equal(a[0][0][0], 2);
  26. lolunit_assert_equal(a[9][0][0], 4);
  27. lolunit_assert_equal(a[0][9][9], 6);
  28. lolunit_assert_equal(a[9][9][9], 8);
  29. array3d<int> const &b = a;
  30. lolunit_assert_equal(b[0][0][0], 2);
  31. lolunit_assert_equal(b[9][0][0], 4);
  32. lolunit_assert_equal(b[0][9][9], 6);
  33. lolunit_assert_equal(b[9][9][9], 8);
  34. }
  35. lolunit_declare_test(Array3DInit)
  36. {
  37. array3d<int> a = { { { 1, 2, 3, 4 },
  38. { 5, 6, 7, 8 },
  39. { 9, 8, 7, 6 } },
  40. { { -1, -2, -3, -4 },
  41. { -5, -6, -7, -8 },
  42. { -9, -8, -7, -6 } } };
  43. lolunit_assert_equal(a.GetSize().x, 4);
  44. lolunit_assert_equal(a.GetSize().y, 3);
  45. lolunit_assert_equal(a.GetSize().z, 2);
  46. lolunit_assert_equal(a[0][0][0], 1);
  47. lolunit_assert_equal(a[1][0][0], 2);
  48. lolunit_assert_equal(a[2][0][0], 3);
  49. lolunit_assert_equal(a[3][0][0], 4);
  50. lolunit_assert_equal(a[0][1][0], 5);
  51. lolunit_assert_equal(a[1][1][0], 6);
  52. lolunit_assert_equal(a[2][1][0], 7);
  53. lolunit_assert_equal(a[3][1][0], 8);
  54. lolunit_assert_equal(a[0][2][0], 9);
  55. lolunit_assert_equal(a[1][2][0], 8);
  56. lolunit_assert_equal(a[2][2][0], 7);
  57. lolunit_assert_equal(a[3][2][0], 6);
  58. lolunit_assert_equal(a[0][0][1], -1);
  59. lolunit_assert_equal(a[1][0][1], -2);
  60. lolunit_assert_equal(a[2][0][1], -3);
  61. lolunit_assert_equal(a[3][0][1], -4);
  62. lolunit_assert_equal(a[0][1][1], -5);
  63. lolunit_assert_equal(a[1][1][1], -6);
  64. lolunit_assert_equal(a[2][1][1], -7);
  65. lolunit_assert_equal(a[3][1][1], -8);
  66. lolunit_assert_equal(a[0][2][1], -9);
  67. lolunit_assert_equal(a[1][2][1], -8);
  68. lolunit_assert_equal(a[2][2][1], -7);
  69. lolunit_assert_equal(a[3][2][1], -6);
  70. }
  71. };
  72. } /* namespace lol */