From 44f9bcfaa77e626b3cc0d9dd6f4f027907cb672b Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@student.kit.edu>
Date: Wed, 26 Jun 2019 08:30:00 +0200
Subject: [PATCH] Add VirtualRobotChecksTest

---
 VirtualRobot/tests/CMakeLists.txt             |  1 +
 VirtualRobot/tests/VirtualRobotChecksTest.cpp | 74 +++++++++++++++++++
 2 files changed, 75 insertions(+)
 create mode 100644 VirtualRobot/tests/VirtualRobotChecksTest.cpp

diff --git a/VirtualRobot/tests/CMakeLists.txt b/VirtualRobot/tests/CMakeLists.txt
index d6399d134..c7280e02f 100644
--- a/VirtualRobot/tests/CMakeLists.txt
+++ b/VirtualRobot/tests/CMakeLists.txt
@@ -1,5 +1,6 @@
 
 ADD_VR_TEST( VirtualRobotExceptionTest )
+ADD_VR_TEST( VirtualRobotChecksTest )
 
 ADD_VR_TEST( VirtualRobotRobotTest )
 
diff --git a/VirtualRobot/tests/VirtualRobotChecksTest.cpp b/VirtualRobot/tests/VirtualRobotChecksTest.cpp
new file mode 100644
index 000000000..814318444
--- /dev/null
+++ b/VirtualRobot/tests/VirtualRobotChecksTest.cpp
@@ -0,0 +1,74 @@
+/**
+* @package    VirtualRobot
+* @author     Manfred Kroehnert
+* @copyright  2010 Manfred Kroehnert
+*/
+
+#define BOOST_TEST_MODULE VirtualRobot_VirtualRobotChecksTests
+
+#include <VirtualRobot/VirtualRobotTest.h>
+#include <VirtualRobot/VirtualRobotChecks.h>
+
+
+using namespace VirtualRobot;
+
+
+BOOST_AUTO_TEST_CASE(test_VR_CHECK_true)
+{
+    bool tru = true;
+    
+    BOOST_CHECK_NO_THROW(VR_CHECK(true));
+    BOOST_CHECK_NO_THROW(VR_CHECK(tru));
+    
+    BOOST_CHECK_NO_THROW(VR_CHECK_HINT(true, "Must be true."));
+    BOOST_CHECK_NO_THROW(VR_CHECK_HINT(tru, "Must be true."));
+}
+
+
+BOOST_AUTO_TEST_CASE(test_VR_CHECK_false)
+{
+    bool fals = false;
+    
+    BOOST_CHECK_THROW(VR_CHECK(false), VirtualRobotCheckException);
+    BOOST_CHECK_THROW(VR_CHECK(fals), VirtualRobotCheckException);
+    
+    BOOST_CHECK_THROW(VR_CHECK_HINT(false, "Must throw."), VirtualRobotCheckException);
+    BOOST_CHECK_THROW(VR_CHECK_HINT(fals, "Must throw."), VirtualRobotCheckException);
+}
+
+
+struct Fixture
+{
+    int a = -1, a2 = a, b = 5, c = 10, z = 0;
+};
+
+
+BOOST_FIXTURE_TEST_SUITE(Comparison, Fixture)
+
+
+BOOST_AUTO_TEST_CASE(test_VR_CHECK_COMPARISON)
+{
+    BOOST_CHECK_NO_THROW(VR_CHECK_COMPARISON(4, 4, ==));
+    BOOST_CHECK_THROW(VR_CHECK_COMPARISON(2, 4, ==), VirtualRobotCheckException);
+    
+    BOOST_CHECK_NO_THROW(VR_CHECK_COMPARISON(2, 4, !=));
+    BOOST_CHECK_THROW(VR_CHECK_COMPARISON(4, 4, !=), VirtualRobotCheckException);
+}
+
+
+BOOST_AUTO_TEST_CASE(test_VR_CHECK_EQUAL)
+{            
+    BOOST_CHECK_NO_THROW(VR_CHECK_EQUAL(4, 4));
+    BOOST_CHECK_NO_THROW(VR_CHECK_EQUAL(z, 0));
+    BOOST_CHECK_NO_THROW(VR_CHECK_EQUAL(-1, a));
+    BOOST_CHECK_NO_THROW(VR_CHECK_EQUAL(a, a2));
+    
+    BOOST_CHECK_THROW(VR_CHECK_EQUAL(0, 1), VirtualRobotCheckException);
+    BOOST_CHECK_THROW(VR_CHECK_EQUAL(z, 10), VirtualRobotCheckException);
+    BOOST_CHECK_THROW(VR_CHECK_EQUAL(a, b), VirtualRobotCheckException);
+    
+    VR_CHECK_EQUAL(0, 1);
+}
+
+
+BOOST_AUTO_TEST_SUITE_END()
-- 
GitLab