#include "tests/ColorTests.hpp" #include "test/Test.hpp" #include "utils/Color.hpp" const float eps = 0.0001f; static void testColor1() { Core::Color1 c(36); CORE_TEST_EQUAL(36, c[0]); CORE_TEST_FLOAT(36.0f / 255.0f, c.asFloat(0), eps); } static void testColor2() { Core::Color2 c(36 + 256, 100.0); CORE_TEST_EQUAL(36, c[0]); CORE_TEST_EQUAL(100, c[1]); CORE_TEST_FLOAT(36.0f / 255.0f, c.asFloat(0), eps); CORE_TEST_FLOAT(100.0f / 255.0f, c.asFloat(1), eps); } static void testColor3() { Core::Color3 c(36, 100.0f, 200); CORE_TEST_EQUAL(36, c[0]); CORE_TEST_EQUAL(100, c[1]); CORE_TEST_EQUAL(200, c[2]); CORE_TEST_FLOAT(36.0f / 255.0f, c.asFloat(0), eps); CORE_TEST_FLOAT(100.0f / 255.0f, c.asFloat(1), eps); CORE_TEST_FLOAT(200.0f / 255.0f, c.asFloat(2), eps); } static void testColor4() { Core::Color4 c(36, 100, 200, 142); CORE_TEST_EQUAL(36, c[0]); CORE_TEST_EQUAL(100, c[1]); CORE_TEST_EQUAL(200, c[2]); CORE_TEST_EQUAL(142, c[3]); CORE_TEST_FLOAT(36.0f / 255.0f, c.asFloat(0), eps); CORE_TEST_FLOAT(100.0f / 255.0f, c.asFloat(1), eps); CORE_TEST_FLOAT(200.0f / 255.0f, c.asFloat(2), eps); CORE_TEST_FLOAT(142.0f / 255.0f, c.asFloat(3), eps); } static void testColor4Empty() { Core::Color4 c; CORE_TEST_EQUAL(0, c[0]); CORE_TEST_EQUAL(0, c[1]); CORE_TEST_EQUAL(0, c[2]); CORE_TEST_EQUAL(0, c[3]); } void Core::ColorTests::test() { testColor1(); testColor2(); testColor3(); testColor4(); testColor4Empty(); }