first commit

This commit is contained in:
stuce-bot 2025-06-30 20:47:33 +02:00
commit 5893b00dd2
1669 changed files with 1982740 additions and 0 deletions

View file

@ -0,0 +1,151 @@
// g++ --std=c++11 test.cpp
#include "test.h"
#include "test.h"
#include "fl/splat.h"
#include "fl/namespace.h"
using namespace fl;
TEST_CASE("splat simple test") {
// Define a simple input coordinate
vec2f input(0, 0);
// Call the splat function
Tile2x2_u8 result = splat(input);
REQUIRE(result.bounds().mMin.x == 0);
REQUIRE(result.bounds().mMin.y == 0);
REQUIRE(result.bounds().mMax.x == 2);
REQUIRE(result.bounds().mMax.y == 2);
// Verify the output
REQUIRE_EQ(result.lower_left(), 255); // Expected intensity for lower-left
REQUIRE_EQ(result.lower_right(), 0); // Expected intensity for lower-right
REQUIRE_EQ(result.upper_left(), 0); // Expected intensity for upper-left
REQUIRE_EQ(result.upper_right(), 0); // Expected intensity for upper-right
}
TEST_CASE("splat test for input (0.0, 0.5)") {
// Define the input coordinate
vec2f input(0.0f, 0.5f);
// Call the splat function
Tile2x2_u8 result = splat(input);
// Verify the bounds of the tile
REQUIRE(result.bounds().mMin.x == 0);
REQUIRE(result.bounds().mMin.y == 0);
REQUIRE(result.bounds().mMax.x == 2);
REQUIRE(result.bounds().mMax.y == 2);
// Verify the output intensities
REQUIRE_EQ(result.lower_left(), 128); // Expected intensity for lower-left
REQUIRE_EQ(result.lower_right(), 0); // Expected intensity for lower-right
REQUIRE_EQ(result.upper_left(), 128); // Expected intensity for upper-left
REQUIRE_EQ(result.upper_right(), 0); // Expected intensity for upper-right
}
TEST_CASE("splat test for input (0.0, 0.99)") {
// Define the input coordinate
vec2f input(0.0f, 0.99f);
// Call the splat function
Tile2x2_u8 result = splat(input);
// Verify the bounds of the tile
REQUIRE(result.bounds().mMin.x == 0);
REQUIRE(result.bounds().mMin.y == 0);
REQUIRE(result.bounds().mMax.x == 2);
REQUIRE(result.bounds().mMax.y == 2);
// Verify the output intensities
REQUIRE_EQ(result.lower_left(), 3); // Expected intensity for lower-left
REQUIRE_EQ(result.lower_right(), 0); // Expected intensity for lower-right
REQUIRE_EQ(result.upper_left(), 252); // Expected intensity for upper-left
REQUIRE_EQ(result.upper_right(), 0); // Expected intensity for upper-right
}
TEST_CASE("splat test for input (0.0, 1.0)") {
// Define the input coordinate
vec2f input(0.0f, 1.0f);
// Call the splat function
Tile2x2_u8 result = splat(input);
// Verify the bounds of the tile
REQUIRE(result.bounds().mMin.x == 0);
REQUIRE(result.bounds().mMin.y == 1);
REQUIRE(result.bounds().mMax.x == 2);
REQUIRE(result.bounds().mMax.y == 3);
// Verify the output intensities
REQUIRE_EQ(result.lower_left(), 255); // Expected intensity for lower-left
REQUIRE_EQ(result.lower_right(), 0); // Expected intensity for lower-right
REQUIRE_EQ(result.upper_left(), 0); // Expected intensity for upper-left
REQUIRE_EQ(result.upper_right(), 0); // Expected intensity for upper-right
}
TEST_CASE("splat test for input (0.5, 0.0)") {
// Define the input coordinate
vec2f input(0.5f, 0.0f);
// Call the splat function
Tile2x2_u8 result = splat(input);
// Verify the bounds of the tile
REQUIRE(result.bounds().mMin.x == 0);
REQUIRE(result.bounds().mMin.y == 0);
REQUIRE(result.bounds().mMax.x == 2);
REQUIRE(result.bounds().mMax.y == 2);
// Verify the output intensities
REQUIRE_EQ(result.lower_left(), 128); // Expected intensity for lower-left
REQUIRE_EQ(result.lower_right(), 128); // Expected intensity for lower-right
REQUIRE_EQ(result.upper_left(), 0); // Expected intensity for upper-left
REQUIRE_EQ(result.upper_right(), 0); // Expected intensity for upper-right
}
TEST_CASE("splat test for input (0.99, 0.0)") {
// Define the input coordinate
vec2f input(0.99f, 0.0f);
// Call the splat function
Tile2x2_u8 result = splat(input);
// Verify the bounds of the tile
REQUIRE(result.bounds().mMin.x == 0);
REQUIRE(result.bounds().mMin.y == 0);
REQUIRE(result.bounds().mMax.x == 2);
REQUIRE(result.bounds().mMax.y == 2);
// Verify the output intensities
REQUIRE_EQ(result.lower_left(), 3); // Expected intensity for lower-left
REQUIRE_EQ(result.lower_right(), 252); // Expected intensity for lower-right
REQUIRE_EQ(result.upper_left(), 0); // Expected intensity for upper-left
REQUIRE_EQ(result.upper_right(), 0); // Expected intensity for upper-right
}
TEST_CASE("splat test for input (1.0, 0.0)") {
// Define the input coordinate
vec2f input(1.0f, 0.0f);
// Call the splat function
Tile2x2_u8 result = splat(input);
// Verify the bounds of the tile
REQUIRE(result.bounds().mMin.x == 1);
REQUIRE(result.bounds().mMin.y == 0);
REQUIRE(result.bounds().mMax.x == 3);
REQUIRE(result.bounds().mMax.y == 2);
// Verify the output intensities
REQUIRE_EQ(result.lower_left(), 255); // Expected intensity for lower-left
REQUIRE_EQ(result.lower_right(), 0); // Expected intensity for lower-right
REQUIRE_EQ(result.upper_left(), 0); // Expected intensity for upper-left
REQUIRE_EQ(result.upper_right(), 0); // Expected intensity for upper-right
}