ViewTests.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #define IMPORT_CORE
  2. #include "../Tests.h"
  3. #include "core/ToString.h"
  4. #include "core/View.h"
  5. static void testFromAngles() {
  6. View v;
  7. initView(&v);
  8. updateDirections(&v, 0.0f, 0.0f);
  9. TEST_V3(&V(0.0f, 1.0f, 0.0f), &v.up);
  10. TEST_V3(&V(0.0f, -1.0f, 0.0f), &v.down);
  11. TEST_V3(&V(0.0f, 0.0f, -1.0f), &v.left);
  12. TEST_V3(&V(0.0f, 0.0f, 1.0f), &v.right);
  13. TEST_V3(&V(1.0f, 0.0f, 0.0f), &v.front);
  14. TEST_V3(&V(-1.0f, 0.0f, 0.0f), &v.back);
  15. }
  16. static void testFromQuaternion() {
  17. View v;
  18. initView(&v);
  19. updateDirectionsQ(&v, &UNIT_QUATERNION);
  20. TEST_V3(&V(0.0f, 1.0f, 0.0f), &v.up);
  21. TEST_V3(&V(0.0f, -1.0f, 0.0f), &v.down);
  22. TEST_V3(&V(0.0f, 0.0f, -1.0f), &v.left);
  23. TEST_V3(&V(0.0f, 0.0f, 1.0f), &v.right);
  24. TEST_V3(&V(1.0f, 0.0f, 0.0f), &v.front);
  25. TEST_V3(&V(-1.0f, 0.0f, 0.0f), &v.back);
  26. }
  27. static void testUpdateMatrix() {
  28. View v;
  29. initView(&v);
  30. Matrix* m = updateMatrix(&v, &V(1.0f, 2.0f, 3.0f));
  31. char buffer[128];
  32. toString(m, buffer, sizeof(buffer));
  33. TEST_STRING("[[0.000, 0.000, 0.000, -0.000], "
  34. "[0.000, 0.000, 0.000, -0.000], "
  35. "[0.000, 0.000, 0.000, -0.000], "
  36. "[0.000, 0.000, 0.000, 1.000]]",
  37. buffer);
  38. }
  39. void testView() {
  40. testFromAngles();
  41. testFromQuaternion();
  42. testUpdateMatrix();
  43. }