diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2023-01-26 20:38:52 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2023-01-26 20:38:52 +0100 |
commit | 8c54d41a063a595b8663490b2bbd1d06bac209f7 (patch) | |
tree | 96bba4965486d4ed798a6648894e24cd2a61c937 /examples | |
parent | 33b40f71fcea36987cc30b0f57f85aff1b8e54ff (diff) |
Use std::source_location instead of __FILE__ and __LINE__ and add new functions for use instead of macros.source_location
Diffstat (limited to 'examples')
-rw-r--r-- | examples/ExampleTest.cc | 107 | ||||
-rw-r--r-- | examples/Makefile | 2 |
2 files changed, 105 insertions, 4 deletions
diff --git a/examples/ExampleTest.cc b/examples/ExampleTest.cc index aebe712..09162c7 100644 --- a/examples/ExampleTest.cc +++ b/examples/ExampleTest.cc @@ -30,14 +30,115 @@ std::ostream& operator<<(std::ostream& stream, const Speed& speed) return stream; } + +// New-style (non-macro based) test class ExampleTest : public uUnit { public: ExampleTest() { - uTEST(ExampleTest::boundaryTests); - uTEST(ExampleTest::exceptionTests); + test(&ExampleTest::boundaryTests, "ExampleTest::boundaryTests"); + test(&ExampleTest::exceptionTests, "ExampleTest::exceptionTests"); + } + + void boundaryTests() + { + assert_equal(Speed::B0, getBaud(0)); + assert_equal(Speed::B0, getBaud(1)); + assert_equal(Speed::B0, getBaud(49)); + + assert_equal(Speed::B50, getBaud(50)); + assert_equal(Speed::B50, getBaud(51)); + assert_equal(Speed::B50, getBaud(74)); + + assert_equal(Speed::B75, getBaud(75)); + assert_equal(Speed::B75, getBaud(76)); + assert_equal(Speed::B75, getBaud(109)); + + assert_equal(Speed::B110, getBaud(110)); + assert_equal(Speed::B110, getBaud(111)); + assert_equal(Speed::B110, getBaud(133)); + + assert_equal(Speed::B134, getBaud(134)); + assert_equal(Speed::B134, getBaud(135)); + assert_equal(Speed::B134, getBaud(149)); + + assert_equal(Speed::B150, getBaud(150)); + assert_equal(Speed::B150, getBaud(151)); + assert_equal(Speed::B150, getBaud(199)); + + assert_equal(Speed::B200, getBaud(200)); + assert_equal(Speed::B200, getBaud(201)); + assert_equal(Speed::B200, getBaud(299)); + + assert_equal(Speed::B300, getBaud(300)); + assert_equal(Speed::B300, getBaud(301)); + assert_equal(Speed::B300, getBaud(599)); + + assert_equal(Speed::B600, getBaud(600)); + assert_equal(Speed::B600, getBaud(601)); + assert_equal(Speed::B600, getBaud(1199)); + + assert_equal(Speed::B1200, getBaud(1200)); + assert_equal(Speed::B1200, getBaud(1201)); + assert_equal(Speed::B1200, getBaud(1799)); + + assert_equal(Speed::B1800, getBaud(1800)); + assert_equal(Speed::B1800, getBaud(1801)); + assert_equal(Speed::B1800, getBaud(2399)); + + assert_equal(Speed::B2400, getBaud(2400)); + assert_equal(Speed::B2400, getBaud(2401)); + assert_equal(Speed::B2400, getBaud(4799)); + + assert_equal(Speed::B4800, getBaud(4800)); + assert_equal(Speed::B4800, getBaud(4801)); + assert_equal(Speed::B4800, getBaud(9599)); + + assert_equal(Speed::B9600, getBaud(9600)); + assert_equal(Speed::B9600, getBaud(9601)); + assert_equal(Speed::B9600, getBaud(19199)); + + assert_equal(Speed::B19200, getBaud(19200)); + assert_equal(Speed::B19200, getBaud(19201)); + assert_equal(Speed::B19200, getBaud(38399)); + + assert_equal(Speed::B38400, getBaud(38400)); + assert_equal(Speed::B38400, getBaud(38401)); + assert_equal(Speed::B38400, getBaud(57599)); + + assert_equal(Speed::B57600, getBaud(57600)); + assert_equal(Speed::B57600, getBaud(57601)); + assert_equal(Speed::B57600, getBaud(115199)); + + assert_equal(Speed::B115200, getBaud(115200)); + assert_equal(Speed::B115200, getBaud(115201)); + assert_equal(Speed::B115200, getBaud(230399)); + + assert_equal(Speed::B230400, getBaud(230400)); + assert_equal(Speed::B230400, getBaud(230401)); + } + + void exceptionTests() + { + assert_throws<bad_speed>([](){getBaud(-1);}); + } +}; + +// Registers the fixture into the 'registry' +static ExampleTest test; + + +// Old-style (macro-based) test example +class ExampleTestOldStyle + : public uUnit +{ +public: + ExampleTestOldStyle() + { + uTEST(ExampleTestOldStyle::boundaryTests); + uTEST(ExampleTestOldStyle::exceptionTests); } void boundaryTests() @@ -125,4 +226,4 @@ public: }; // Registers the fixture into the 'registry' -static ExampleTest test; +static ExampleTestOldStyle oldStyleTest; diff --git a/examples/Makefile b/examples/Makefile index 7ab11fa..2f00198 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -3,7 +3,7 @@ TESTS=\ test_ExampleTest CXX ?= g++ -CXXFLAGS ?= -g -std=c++17 -Wall -Werror -Wextra -Wconversion -I.. +CXXFLAGS ?= -g -std=c++20 -Wall -Werror -Wextra -Wconversion -I.. all: ${TESTS} |