imported from "final" folder
This commit is contained in:
151
.pio/libdeps/esp01_1m/FastLED/tests/test_splat.cpp
Normal file
151
.pio/libdeps/esp01_1m/FastLED/tests/test_splat.cpp
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user