module Tests; import Core.Test; import Core.View; import Core.Quaternion; import Core.Matrix; import Core.Vector; using V3 = Core::Vector3; using Core::View; static void testFromAngles() { View v; v.updateDirections(0.0f, 0.0f); Core::test(V3(0.0f, 1.0f, 0.0f), v.getUp()); Core::test(V3(0.0f, -1.0f, 0.0f), v.getDown()); Core::test(V3(0.0f, 0.0f, -1.0f), v.getLeft()); Core::test(V3(0.0f, 0.0f, 1.0f), v.getRight()); Core::test(V3(1.0f, 0.0f, 0.0f), v.getFront()); Core::test(V3(-1.0f, 0.0f, 0.0f), v.getBack()); } static void testFromQuaternion() { View v; v.updateDirections(Core::Quaternion()); Core::test(V3(0.0f, 1.0f, 0.0f), v.getUp()); Core::test(V3(0.0f, -1.0f, 0.0f), v.getDown()); Core::test(V3(0.0f, 0.0f, -1.0f), v.getLeft()); Core::test(V3(0.0f, 0.0f, 1.0f), v.getRight()); Core::test(V3(1.0f, 0.0f, 0.0f), v.getFront()); Core::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)); Core::testString( "[[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(); }