bar: Add geom_format_to_pixels tests
This commit is contained in:
parent
20f3d9a141
commit
cc9423e682
@ -82,6 +82,7 @@ unit_test(components/command_line unit_tests
|
||||
SOURCES
|
||||
components/command_line.cpp
|
||||
utils/string.cpp)
|
||||
unit_test(components/bar unit_tests)
|
||||
|
||||
# Compile all unit tests with 'make all_unit_tests'
|
||||
add_custom_target("all_unit_tests" DEPENDS ${unit_tests})
|
||||
|
47
tests/unit_tests/components/bar.cpp
Normal file
47
tests/unit_tests/components/bar.cpp
Normal file
@ -0,0 +1,47 @@
|
||||
#include "common/test.hpp"
|
||||
#include "components/bar.hpp"
|
||||
|
||||
using namespace polybar;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \brief Class for parameterized tests on geom_format_to_pixels
|
||||
*
|
||||
* The first element in the tuple is the expected return value, the second
|
||||
* value is the format string. The max value is always 1000
|
||||
*/
|
||||
class GeomFormatToPixelsTest :
|
||||
public ::testing::Test,
|
||||
public ::testing::WithParamInterface<pair<double, string>> {};
|
||||
|
||||
vector<pair<double, string>> to_pixels_no_offset_list = {
|
||||
{1000, "100%"},
|
||||
{0, "0%"},
|
||||
{1000, "150%"},
|
||||
{100, "10%"},
|
||||
{0, "0"},
|
||||
{1234, "1234"},
|
||||
{1.234, "1.234"},
|
||||
};
|
||||
|
||||
vector<pair<double, string>> to_pixels_with_offset_list = {
|
||||
{1000, "100%:-0"},
|
||||
{1000, "100%:+0"},
|
||||
{1010, "100%:+10"},
|
||||
{990, "100%:-10"},
|
||||
{10, "0%:+10"},
|
||||
{1000, "99%:+10"},
|
||||
};
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(NoOffset, GeomFormatToPixelsTest,
|
||||
::testing::ValuesIn(to_pixels_no_offset_list),);
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(WithOffset, GeomFormatToPixelsTest,
|
||||
::testing::ValuesIn(to_pixels_with_offset_list),);
|
||||
|
||||
TEST_P(GeomFormatToPixelsTest, correctness) {
|
||||
double exp = GetParam().first;
|
||||
std::string str = GetParam().second;
|
||||
EXPECT_DOUBLE_EQ(exp, geom_format_to_pixels(str, 1000));
|
||||
}
|
Loading…
Reference in New Issue
Block a user