From 0cd665c4caa7b0096a079967cf4c82e70b01c435 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Thu, 24 Nov 2011 16:36:49 +0000 Subject: [PATCH] Fixed reflect and refract test --- test/core/core_func_geometric.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test/core/core_func_geometric.cpp b/test/core/core_func_geometric.cpp index 7ef85fc4..b7e8f991 100644 --- a/test/core/core_func_geometric.cpp +++ b/test/core/core_func_geometric.cpp @@ -8,23 +8,24 @@ /////////////////////////////////////////////////////////////////////////////////////////////////// #include +#include int test_reflect() { int Error = 0; { - glm::vec2 A(1.0f, 0.0f); + glm::vec2 A(1.0f,-1.0f); glm::vec2 B(0.0f, 1.0f); glm::vec2 C = glm::reflect(A, B); - Error += C == glm::vec2(-1.0, 0.0) ? 0 : 1; + Error += C == glm::vec2(1.0, 1.0) ? 0 : 1; } { - glm::dvec2 A(1.0f, 0.0f); + glm::dvec2 A(1.0f,-1.0f); glm::dvec2 B(0.0f, 1.0f); glm::dvec2 C = glm::reflect(A, B); - Error += C == glm::dvec2(-1.0, 0.0) ? 0 : 1; + Error += C == glm::dvec2(1.0, 1.0) ? 0 : 1; } return Error; @@ -35,24 +36,24 @@ int test_refract() int Error = 0; { - float A(1.0f); + float A(-1.0f); float B(1.0f); float C = glm::refract(A, B, 0.5f); - Error += C == 1.0f ? 0 : 1; + Error += C == -1.0f ? 0 : 1; } { - glm::vec2 A(1.0f, 0.0f); + glm::vec2 A(0.0f,-1.0f); glm::vec2 B(0.0f, 1.0f); glm::vec2 C = glm::refract(A, B, 0.5f); - Error += C == glm::vec2(-1.0, 0.0) ? 0 : 1; + Error += glm::all(glm::equalEpsilon(C, glm::vec2(0.0, -1.0), 0.0001f)) ? 0 : 1; } { - glm::dvec2 A(1.0f, 0.0f); + glm::dvec2 A(0.0f,-1.0f); glm::dvec2 B(0.0f, 1.0f); glm::dvec2 C = glm::refract(A, B, 0.5); - Error += C == glm::dvec2(-1.0, 0.0) ? 0 : 1; + Error += C == glm::dvec2(0.0, -1.0) ? 0 : 1; } return Error;