Files
yoga/tests/YGValueTest.cpp

50 lines
1.5 KiB
C++
Raw Normal View History

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include <gtest/gtest.h>
#include <yoga/YGValue.h>
TEST(YGValue, supports_equality) {
ASSERT_EQ((YGValue{12.5f, YGUnitPercent}), (YGValue{12.5f, YGUnitPercent}));
ASSERT_NE((YGValue{12.5f, YGUnitPercent}), (YGValue{56.7f, YGUnitPercent}));
ASSERT_NE((YGValue{12.5f, YGUnitPercent}), (YGValue{12.5f, YGUnitPoint}));
ASSERT_NE((YGValue{12.5f, YGUnitPercent}), (YGValue{12.5f, YGUnitAuto}));
ASSERT_NE((YGValue{12.5f, YGUnitPercent}), (YGValue{12.5f, YGUnitUndefined}));
ASSERT_EQ(
(YGValue{12.5f, YGUnitUndefined}),
(YGValue{YGUndefined, YGUnitUndefined}));
ASSERT_EQ((YGValue{0, YGUnitAuto}), (YGValue{-1, YGUnitAuto}));
}
using namespace facebook::yoga::literals;
TEST(YGValue, supports_double_point_literals) {
ASSERT_EQ(12.5_pt, (YGValue{12.5, YGUnitPoint}));
}
TEST(YGValue, supports_double_percent_literals) {
ASSERT_EQ(12.5_percent, (YGValue{12.5, YGUnitPercent}));
}
TEST(YGValue, supports_integral_point_literals) {
ASSERT_EQ(34_pt, (YGValue{34, YGUnitPoint}));
}
TEST(YGValue, supports_integral_percent_literals) {
ASSERT_EQ(125_percent, (YGValue{125, YGUnitPercent}));
}
TEST(YGValue, supports_negative_point_literals) {
ASSERT_EQ(-34.5_pt, (YGValue{-34.5, YGUnitPoint}));
}
TEST(YGValue, supports_negative_percent_literals) {
ASSERT_EQ(-34.5_percent, (YGValue{-34.5, YGUnitPercent}));
}