| 2 | #include "test.h" |
| 3 | |
| 4 | FL_TEST_FILE(FL_FILEPATH) { |
| 5 | |
| 6 | using namespace fl; |
| 7 | |
| 8 | FL_TEST_CASE("fl::floor") { |
| 9 | FL_SUBCASE("float version") { |
| 10 | FL_CHECK_EQ(fl::floorf(3.7f), 3.0f); |
| 11 | FL_CHECK_EQ(fl::floorf(3.0f), 3.0f); |
| 12 | FL_CHECK_EQ(fl::floorf(-3.7f), -4.0f); |
| 13 | FL_CHECK_EQ(fl::floorf(-3.0f), -3.0f); |
| 14 | FL_CHECK_EQ(fl::floorf(0.0f), 0.0f); |
| 15 | } |
| 16 | |
| 17 | FL_SUBCASE("double version") { |
| 18 | FL_CHECK_EQ(fl::floor(3.7), 3.0); |
| 19 | FL_CHECK_EQ(fl::floor(3.0), 3.0); |
| 20 | FL_CHECK_EQ(fl::floor(-3.7), -4.0); |
| 21 | FL_CHECK_EQ(fl::floor(-3.0), -3.0); |
| 22 | FL_CHECK_EQ(fl::floor(0.0), 0.0); |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | FL_TEST_CASE("fl::ceil") { |
| 27 | FL_SUBCASE("float version") { |
| 28 | FL_CHECK_EQ(fl::ceilf(3.2f), 4.0f); |
| 29 | FL_CHECK_EQ(fl::ceilf(3.0f), 3.0f); |
| 30 | FL_CHECK_EQ(fl::ceilf(-3.2f), -3.0f); |
| 31 | FL_CHECK_EQ(fl::ceilf(-3.0f), -3.0f); |
| 32 | FL_CHECK_EQ(fl::ceilf(0.0f), 0.0f); |
| 33 | } |
| 34 | |
| 35 | FL_SUBCASE("double version") { |
| 36 | FL_CHECK_EQ(fl::ceil(3.2), 4.0); |
| 37 | FL_CHECK_EQ(fl::ceil(3.0), 3.0); |
| 38 | FL_CHECK_EQ(fl::ceil(-3.2), -3.0); |
| 39 | FL_CHECK_EQ(fl::ceil(-3.0), -3.0); |
| 40 | FL_CHECK_EQ(fl::ceil(0.0), 0.0); |
| 41 | } |
| 42 | |
| 43 | FL_SUBCASE("constexpr version") { |
| 44 | constexpr int result1 = fl::ceil_constexpr(3.2f); |
| 45 | constexpr int result2 = fl::ceil_constexpr(3.0f); |
| 46 | constexpr int result3 = fl::ceil_constexpr(-3.2f); |
| 47 | FL_CHECK_EQ(result1, 4); |
| 48 | FL_CHECK_EQ(result2, 3); |
| 49 | FL_CHECK_EQ(result3, -3); |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | FL_TEST_CASE("fl::sqrt") { |
| 54 | FL_SUBCASE("float version") { |
| 55 | FL_CHECK(doctest::Approx(fl::sqrtf(4.0f)).epsilon(1e-5) == 2.0f); |
| 56 | FL_CHECK(doctest::Approx(fl::sqrtf(9.0f)).epsilon(1e-5) == 3.0f); |
| 57 | FL_CHECK(doctest::Approx(fl::sqrtf(2.0f)).epsilon(1e-5) == 1.414213562f); |
| 58 | FL_CHECK_EQ(fl::sqrtf(0.0f), 0.0f); |
| 59 | } |
| 60 | |
| 61 | FL_SUBCASE("double version") { |
nothing calls this directly
no test coverage detected