Files
XCEngine/tests/editor/test_builtin_icon_layout_utils.cpp

41 lines
989 B
C++

#include <gtest/gtest.h>
#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