#include #include "UI/BuiltInIconLayoutUtils.h" namespace { using XCEngine::Editor::UI::ComputeFittedIconSize; TEST(BuiltInIconLayoutUtilsTest, ReturnsZeroWhenTextureOrBoundsAreInvalid) { EXPECT_EQ( ComputeFittedIconSize(0, 64, ImVec2(0.0f, 0.0f), ImVec2(64.0f, 64.0f)).x, 0.0f); EXPECT_EQ( ComputeFittedIconSize(64, 64, ImVec2(10.0f, 0.0f), ImVec2(10.0f, 64.0f)).y, 0.0f); } TEST(BuiltInIconLayoutUtilsTest, FitsWidthLimitedRegions) { const ImVec2 size = ComputeFittedIconSize( 256, 128, ImVec2(0.0f, 0.0f), ImVec2(64.0f, 64.0f)); EXPECT_FLOAT_EQ(size.x, 64.0f); EXPECT_FLOAT_EQ(size.y, 32.0f); } TEST(BuiltInIconLayoutUtilsTest, FitsHeightLimitedRegions) { const ImVec2 size = ComputeFittedIconSize( 128, 256, ImVec2(0.0f, 0.0f), ImVec2(80.0f, 40.0f)); EXPECT_FLOAT_EQ(size.x, 20.0f); EXPECT_FLOAT_EQ(size.y, 40.0f); } } // namespace