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
|
SOURCES
|
||||||
components/command_line.cpp
|
components/command_line.cpp
|
||||||
utils/string.cpp)
|
utils/string.cpp)
|
||||||
|
unit_test(components/bar unit_tests)
|
||||||
|
|
||||||
# Compile all unit tests with 'make all_unit_tests'
|
# Compile all unit tests with 'make all_unit_tests'
|
||||||
add_custom_target("all_unit_tests" DEPENDS ${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