Unit test for format_number_range

format_number_range was not being tested in isolation before.
This commit is contained in:
Michael Tautschnig 2018-09-24 13:18:25 +00:00
parent 96fb4cafb9
commit 70d1a85804
2 changed files with 38 additions and 0 deletions

View File

@ -32,6 +32,7 @@ SRC += analyses/ai/ai.cpp \
util/expr_cast/expr_cast.cpp \ util/expr_cast/expr_cast.cpp \
util/expr.cpp \ util/expr.cpp \
util/file_util.cpp \ util/file_util.cpp \
util/format_number_range.cpp \
util/get_base_name.cpp \ util/get_base_name.cpp \
util/graph.cpp \ util/graph.cpp \
util/irep.cpp \ util/irep.cpp \

View File

@ -0,0 +1,37 @@
/*******************************************************************\
Module: format_number_range unit tests
Author: Michael Tautschnig
\*******************************************************************/
#include <testing-utils/catch.hpp>
#include <util/format_number_range.h>
TEST_CASE(
"Format a range of unsigned numbers",
"[core][util][format_number_range]")
{
const std::vector<unsigned> singleton = {1u};
REQUIRE(format_number_range(singleton) == "1");
const std::vector<unsigned> r1 = {0u, 42u};
REQUIRE(format_number_range(r1) == "0,42");
const std::vector<unsigned> r2 = {0u, 1u};
REQUIRE(format_number_range(r2) == "0,1");
const std::vector<unsigned> r3 = {1u, 2u, 3u};
REQUIRE(format_number_range(r3) == "1-3");
const std::vector<unsigned> r4 = {1u, 3u, 4u, 5u};
REQUIRE(format_number_range(r4) == "1,3-5");
const std::vector<unsigned> r5 = {1u, 10u, 11u, 12u, 42u};
REQUIRE(format_number_range(r5) == "1,10-12,42");
const std::vector<unsigned> r6 = {1u, 10u, 11u, 12u, 42u, 43u, 44u};
REQUIRE(format_number_range(r6) == "1,10-12,42-44");
}