#include "../Tests.hpp" #include "core/Test.hpp" #include "core/View.hpp" using V3 = Core::Vector3; using Core::View; static void testFromAngles() { View v; v.updateDirections(0.0f, 0.0f); TEST(V3(0.0f, 1.0f, 0.0f), v.getUp()); TEST(V3(0.0f, -1.0f, 0.0f), v.getDown()); TEST(V3(0.0f, 0.0f, -1.0f), v.getLeft()); TEST(V3(0.0f, 0.0f, 1.0f), v.getRight()); TEST(V3(1.0f, 0.0f, 0.0f), v.getFront()); TEST(V3(-1.0f, 0.0f, 0.0f), v.getBack()); } static void testFromQuaternion() { View v; v.updateDirections(Core::Quaternion()); TEST(V3(0.0f, 1.0f, 0.0f), v.getUp()); TEST(V3(0.0f, -1.0f, 0.0f), v.getDown()); TEST(V3(0.0f, 0.0f, -1.0f), v.getLeft()); TEST(V3(0.0f, 0.0f, 1.0f), v.getRight()); TEST(V3(1.0f, 0.0f, 0.0f), v.getFront()); TEST(V3(-1.0f, 0.0f, 0.0f), v.getBack()); } static void testUpdateMatrix() { View v; const Core::Matrix& m = v.updateMatrix(V3(1.0f, 2.0f, 3.0f)); TEST_STRING( "[[0.00, 0.00, 0.00, -0.00], " "[0.00, 0.00, 0.00, -0.00], " "[0.00, 0.00, 0.00, -0.00], " "[0.00, 0.00, 0.00, 1.00]]", m); } void testView() { testFromAngles(); testFromQuaternion(); testUpdateMatrix(); }