diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 57329a6..339bd26 100755 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,8 @@ find_package(GTest REQUIRED) -add_executable(tests filter-test.cpp) +add_executable(tests filter-test.cpp + util-test.cpp +) target_link_libraries(tests GTest::gtest_main app_lib) include(GoogleTest) diff --git a/tests/CTestTestfile.cmake b/tests/CTestTestfile.cmake old mode 100755 new mode 100644 diff --git a/tests/cmake_install.cmake b/tests/cmake_install.cmake old mode 100755 new mode 100644 diff --git a/tests/cmake_test_discovery_59830ebc3a.json b/tests/cmake_test_discovery_59830ebc3a.json old mode 100755 new mode 100644 index 3b6c069..e115b51 --- a/tests/cmake_test_discovery_59830ebc3a.json +++ b/tests/cmake_test_discovery_59830ebc3a.json @@ -1,5 +1,5 @@ { - "tests": 3, + "tests": 11, "name": "AllTests", "testsuites": [ { @@ -22,6 +22,52 @@ "line": 20 } ] + }, + { + "name": "UtilityTest_max3", + "tests": 8, + "testsuite": [ + { + "name": "param_3_is_max", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 25 + }, + { + "name": "param_2_is_max", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 31 + }, + { + "name": "param_1_is_max", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 37 + }, + { + "name": "all_params_equal", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 43 + }, + { + "name": "all_params_zero", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 49 + }, + { + "name": "2_params_negative_one_is_zero", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 55 + }, + { + "name": "all_params_negative_one_is_max", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 61 + }, + { + "name": "all_params_type_double", + "file": "\/home\/k4\/tmp\/bbr-algo\/BinderBeispielRegler\/tests\/util-test.cpp", + "line": 67 + } + ] } ] } diff --git a/tests/tests b/tests/tests index a1f44d0..d60c555 100755 Binary files a/tests/tests and b/tests/tests differ diff --git a/tests/tests[1]_tests.cmake b/tests/tests[1]_tests.cmake old mode 100755 new mode 100644 index f7d6f63..ed64928 --- a/tests/tests[1]_tests.cmake +++ b/tests/tests[1]_tests.cmake @@ -22,4 +22,68 @@ set_tests_properties([=[PT1FilterTest.FilterFactorEffect]=] WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] ) -set( tests_TESTS PT1FilterTest.InitialOutputIsZero PT1FilterTest.StepResponse PT1FilterTest.FilterFactorEffect) +add_test([=[UtilityTest_max3.param_3_is_max]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.param_3_is_max]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.param_3_is_max]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:25]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +add_test([=[UtilityTest_max3.param_2_is_max]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.param_2_is_max]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.param_2_is_max]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:31]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +add_test([=[UtilityTest_max3.param_1_is_max]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.param_1_is_max]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.param_1_is_max]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:37]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +add_test([=[UtilityTest_max3.all_params_equal]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.all_params_equal]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.all_params_equal]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:43]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +add_test([=[UtilityTest_max3.all_params_zero]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.all_params_zero]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.all_params_zero]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:49]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +add_test([=[UtilityTest_max3.2_params_negative_one_is_zero]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.2_params_negative_one_is_zero]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.2_params_negative_one_is_zero]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:55]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +add_test([=[UtilityTest_max3.all_params_negative_one_is_max]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.all_params_negative_one_is_max]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.all_params_negative_one_is_max]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:61]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +add_test([=[UtilityTest_max3.all_params_type_double]=] /home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/tests [==[--gtest_filter=UtilityTest_max3.all_params_type_double]==] --gtest_also_run_disabled_tests) +set_tests_properties([=[UtilityTest_max3.all_params_type_double]=] + PROPERTIES + + DEF_SOURCE_LINE [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests/util-test.cpp:67]==] + WORKING_DIRECTORY [==[/home/k4/tmp/bbr-algo/BinderBeispielRegler/tests]==] + SKIP_REGULAR_EXPRESSION [==[\[ SKIPPED \]]==] +) +set( tests_TESTS PT1FilterTest.InitialOutputIsZero PT1FilterTest.StepResponse PT1FilterTest.FilterFactorEffect UtilityTest_max3.param_3_is_max UtilityTest_max3.param_2_is_max UtilityTest_max3.param_1_is_max UtilityTest_max3.all_params_equal UtilityTest_max3.all_params_zero UtilityTest_max3.2_params_negative_one_is_zero UtilityTest_max3.all_params_negative_one_is_max UtilityTest_max3.all_params_type_double) diff --git a/tests/util-test.cpp b/tests/util-test.cpp new file mode 100644 index 0000000..ef12875 --- /dev/null +++ b/tests/util-test.cpp @@ -0,0 +1,74 @@ +/* +File: util-test.cpp +Description: This is a C++ source file containing unit tests for util.cpp. +Rev: 0.1 +Created: 01.04.26 +Author: Uwe Jakobeit +Copyright: Binder GmbH +Purpose: Testing utility functions +Notes: [Any relevant details, such as dependencies, usage examples, or known issues.] +*/ + + +#include + +#include + +#include "util.h" + +using namespace UTILITY_FUNCTIONS; + +//----------- Test of utility function 'max3' --------- +// Magic numbers for simplicity ( exceptionally allowed here ) + +// test if param 3 is max value +TEST(UtilityTest_max3, param_3_is_max) { + double max = max3(1.0f, 2.0f, 3.0f); + EXPECT_DOUBLE_EQ(max, 3.0f); +} + +// test if param 2 is max value +TEST(UtilityTest_max3, param_2_is_max) { + double max = max3(1.0f, 3.0f, 2.0f); + EXPECT_DOUBLE_EQ(max, 3.0f); +} + +// test if param 1 is max value +TEST(UtilityTest_max3, param_1_is_max) { + double max = max3( 3.0f, 1.0f, 2.0f); + EXPECT_DOUBLE_EQ(max, 3.0f); +} + +// test all params are max value +TEST(UtilityTest_max3, all_params_equal) { + double max = max3( 3.0f, 3.0f, 3.0f); + EXPECT_DOUBLE_EQ(max, 3.0f); +} + +// test all params are zero +TEST(UtilityTest_max3, all_params_zero) { + double max = max3( 0.0f, 0.0f, 0.0f); + EXPECT_DOUBLE_EQ(max, 0.0f); +} + +// test 2 params negatve, one is zero +TEST(UtilityTest_max3, 2_params_negative_one_is_zero) { + double max = max3( -2.0f, -1.0f, 0.0f); + EXPECT_DOUBLE_EQ(max, 0.0f); +} + +// test 2 params negatve, one is zero +TEST(UtilityTest_max3, all_params_negative_one_is_max) { + double max = max3( -2.0f, -1.0f, -3.0f); + EXPECT_DOUBLE_EQ(max, -1.0f); +} + + +TEST(UtilityTest_max3, all_params_type_double) { + double max = max3( std::numeric_limits::max(), 0.0f, 0.0f); + + EXPECT_DOUBLE_EQ(max, std::numeric_limits::max()); +} + + +