ViewTests.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "../Tests.hpp"
  2. #include "core/Test.hpp"
  3. #include "core/View.hpp"
  4. using V3 = Core::Vector3;
  5. using Core::View;
  6. static void testFromAngles() {
  7. View v;
  8. v.updateDirections(0.0f, 0.0f);
  9. TEST(V3(0.0f, 1.0f, 0.0f), v.getUp());
  10. TEST(V3(0.0f, -1.0f, 0.0f), v.getDown());
  11. TEST(V3(0.0f, 0.0f, -1.0f), v.getLeft());
  12. TEST(V3(0.0f, 0.0f, 1.0f), v.getRight());
  13. TEST(V3(1.0f, 0.0f, 0.0f), v.getFront());
  14. TEST(V3(-1.0f, 0.0f, 0.0f), v.getBack());
  15. }
  16. static void testFromQuaternion() {
  17. View v;
  18. v.updateDirections(Core::Quaternion());
  19. TEST(V3(0.0f, 1.0f, 0.0f), v.getUp());
  20. TEST(V3(0.0f, -1.0f, 0.0f), v.getDown());
  21. TEST(V3(0.0f, 0.0f, -1.0f), v.getLeft());
  22. TEST(V3(0.0f, 0.0f, 1.0f), v.getRight());
  23. TEST(V3(1.0f, 0.0f, 0.0f), v.getFront());
  24. TEST(V3(-1.0f, 0.0f, 0.0f), v.getBack());
  25. }
  26. static void testUpdateMatrix() {
  27. View v;
  28. const Core::Matrix& m = v.updateMatrix(V3(1.0f, 2.0f, 3.0f));
  29. TEST_STRING(
  30. "[[0.00, 0.00, 0.00, -0.00], "
  31. "[0.00, 0.00, 0.00, -0.00], "
  32. "[0.00, 0.00, 0.00, -0.00], "
  33. "[0.00, 0.00, 0.00, 1.00]]",
  34. m);
  35. }
  36. void testView() {
  37. testFromAngles();
  38. testFromQuaternion();
  39. testUpdateMatrix();
  40. }