From 8282085b99e1099e2ab05cdda962d910aa5987c4 Mon Sep 17 00:00:00 2001
From: athatheo <athatheoc@gmail.com>
Date: Sun, 5 Jun 2022 15:30:19 +0200
Subject: [PATCH] Fix Time Operators

---
 inc/Time/Time.hpp                            | 18 +++++++++++++++---
 test/Services/TimeBasedSchedulingService.cpp |  2 +-
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/inc/Time/Time.hpp b/inc/Time/Time.hpp
index 77c0cb08..3ec4436a 100644
--- a/inc/Time/Time.hpp
+++ b/inc/Time/Time.hpp
@@ -272,22 +272,34 @@ namespace Time {
 	typedef int64_t RelativeTime;
 
 	inline Time::CustomCUC_t operator+(const Time::CustomCUC_t time, RelativeTime relativeTime) {
-		return Time::CustomCUC_t{time.elapsed100msTicks + relativeTime / 10};
+		return Time::CustomCUC_t{time.elapsed100msTicks + relativeTime * 10};
 	}
 
 	inline Time::CustomCUC_t operator-(const Time::CustomCUC_t time, RelativeTime relativeTime) {
-		return Time::CustomCUC_t{time.elapsed100msTicks - relativeTime / 10};
+		return Time::CustomCUC_t{time.elapsed100msTicks - relativeTime * 10};
 	}
 
 	inline Time::CustomCUC_t& operator+=(Time::CustomCUC_t& time, RelativeTime relativeTime) {
-		time.elapsed100msTicks += relativeTime / 10;
+		time.elapsed100msTicks += relativeTime * 10;
 		return time;
 	}
 
+	inline bool operator - (Time::CustomCUC_t time1, Time::CustomCUC_t time2) {
+		return time1.elapsed100msTicks - time2.elapsed100msTicks;
+	}
+
+	inline bool operator + (Time::CustomCUC_t time1, Time::CustomCUC_t time2) {
+		return time1.elapsed100msTicks + time2.elapsed100msTicks;
+	}
+
 	inline bool operator<(Time::CustomCUC_t time1, Time::CustomCUC_t time2) {
 		return time1.elapsed100msTicks < time2.elapsed100msTicks;
 	}
 
+	inline bool operator>(Time::CustomCUC_t time1, Time::CustomCUC_t time2) {
+		return time1.elapsed100msTicks > time2.elapsed100msTicks;
+	}
+
 	inline bool operator==(const Time::CustomCUC_t time1, Time::CustomCUC_t time2) {
 		return time1.elapsed100msTicks == time2.elapsed100msTicks;
 	}
diff --git a/test/Services/TimeBasedSchedulingService.cpp b/test/Services/TimeBasedSchedulingService.cpp
index 55dadb1c..bedd6836 100644
--- a/test/Services/TimeBasedSchedulingService.cpp
+++ b/test/Services/TimeBasedSchedulingService.cpp
@@ -129,7 +129,7 @@ TEST_CASE("TC[11,4] Activity Insertion", "[service][st11]") {
 		Message receivedMessage(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::InsertActivities, Message::TC, 1);
 		receivedMessage.appendUint16(1); // Total number of requests
 
-		receivedMessage.appendCustomCUCTimeStamp(currentTime - 15564350);
+		receivedMessage.appendCustomCUCTimeStamp(currentTime - 1556435);
 		MessageParser::execute(receivedMessage); //timeService.insertActivities(receivedMessage);
 
 		REQUIRE(ServiceTests::thrownError(ErrorHandler::InstructionExecutionStartError));
-- 
GitLab