ViewTests.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "../Tests.h"
  2. #include "core/ToString.h"
  3. #include "core/View.h"
  4. #define CV3(a, b, c) (&(CoreVector3){{a, b, c}})
  5. static void testFromAngles() {
  6. CoreView v = CORE_VIEW;
  7. coreUpdateDirections(&v, 0.0f, 0.0f);
  8. CORE_TEST_V3(CV3(0.0f, 1.0f, 0.0f), &v.up);
  9. CORE_TEST_V3(CV3(0.0f, -1.0f, 0.0f), &v.down);
  10. CORE_TEST_V3(CV3(0.0f, 0.0f, -1.0f), &v.left);
  11. CORE_TEST_V3(CV3(0.0f, 0.0f, 1.0f), &v.right);
  12. CORE_TEST_V3(CV3(1.0f, 0.0f, 0.0f), &v.front);
  13. CORE_TEST_V3(CV3(-1.0f, 0.0f, 0.0f), &v.back);
  14. }
  15. static void testFromQuaternion() {
  16. CoreView v = CORE_VIEW;
  17. coreUpdateDirectionsQ(&v, &CORE_UNIT_QUATERNION);
  18. CORE_TEST_V3(CV3(0.0f, 1.0f, 0.0f), &v.up);
  19. CORE_TEST_V3(CV3(0.0f, -1.0f, 0.0f), &v.down);
  20. CORE_TEST_V3(CV3(0.0f, 0.0f, -1.0f), &v.left);
  21. CORE_TEST_V3(CV3(0.0f, 0.0f, 1.0f), &v.right);
  22. CORE_TEST_V3(CV3(1.0f, 0.0f, 0.0f), &v.front);
  23. CORE_TEST_V3(CV3(-1.0f, 0.0f, 0.0f), &v.back);
  24. }
  25. static void testUpdateMatrix() {
  26. CoreView v = CORE_VIEW;
  27. CoreMatrix* m = coreUpdateMatrix(&v, CV3(1.0f, 2.0f, 3.0f));
  28. char buffer[128];
  29. toString(m, buffer, sizeof(buffer));
  30. CORE_TEST_STRING("[[0.000, 0.000, 0.000, -0.000], "
  31. "[0.000, 0.000, 0.000, -0.000], "
  32. "[0.000, 0.000, 0.000, -0.000], "
  33. "[0.000, 0.000, 0.000, 1.000]]",
  34. buffer);
  35. }
  36. void testView() {
  37. testFromAngles();
  38. testFromQuaternion();
  39. testUpdateMatrix();
  40. }