From 2a6f3f0750714a27602e70cd6f618f2abaf9af5e Mon Sep 17 00:00:00 2001
From: Theodoros Katzalis <thodkatz@gmail.com>
Date: Mon, 18 Mar 2019 13:56:06 +0200
Subject: [PATCH] Added tests for invalid dates

---
 test/Helpers/TimeHelper.cpp | 65 +++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/test/Helpers/TimeHelper.cpp b/test/Helpers/TimeHelper.cpp
index 7b6436aa..101d8cfc 100644
--- a/test/Helpers/TimeHelper.cpp
+++ b/test/Helpers/TimeHelper.cpp
@@ -3,6 +3,71 @@
 
 TEST_CASE("Time format implementation", "[CUC]") {
 
+	SECTION("Invalid date") {
+		struct TimeAndDate TimeInfo = {0};
+
+		// invalid year
+		TimeInfo.year = 2018;
+		TimeInfo.month = 4;
+		TimeInfo.day = 10;
+		TimeInfo.hour = 10;
+		TimeInfo.minute = 15;
+		TimeInfo.second = 0;
+
+		TimeHelper time;
+		uint32_t currTime = TimeHelper::mkUTCtime(TimeInfo);
+
+		// invalid month
+		TimeInfo.year = 2018;
+		TimeInfo.month = 60;
+		TimeInfo.day = 10;
+		TimeInfo.hour = 10;
+		TimeInfo.minute = 15;
+		TimeInfo.second = 0;
+
+		currTime = TimeHelper::mkUTCtime(TimeInfo);
+
+		// invalid day
+		TimeInfo.year = 2018;
+		TimeInfo.month = 4;
+		TimeInfo.day = 35;
+		TimeInfo.hour = 10;
+		TimeInfo.minute = 15;
+		TimeInfo.second = 0;
+
+		currTime = TimeHelper::mkUTCtime(TimeInfo);
+
+		// invalid hour
+		TimeInfo.year = 2018;
+		TimeInfo.month = 4;
+		TimeInfo.day = 10;
+		TimeInfo.hour = 100;
+		TimeInfo.minute = 15;
+		TimeInfo.second = 0;
+
+		currTime = TimeHelper::mkUTCtime(TimeInfo);
+
+		// invalid minute
+		TimeInfo.year = 2018;
+		TimeInfo.month = 4;
+		TimeInfo.day = 10;
+		TimeInfo.hour = 10;
+		TimeInfo.minute = 200;
+		TimeInfo.second = 0;
+
+		currTime = TimeHelper::mkUTCtime(TimeInfo);
+
+		// invalid second
+		TimeInfo.year = 2018;
+		TimeInfo.month = 4;
+		TimeInfo.day = 10;
+		TimeInfo.hour = 10;
+		TimeInfo.minute = 15;
+		TimeInfo.second = 122;
+
+		currTime = TimeHelper::mkUTCtime(TimeInfo);
+	}
+
 	SECTION("Convert UTC date to elapsed seconds since Unix epoch") {
 		struct TimeAndDate TimeInfo = {0};
 		// 10/04/2020 10:15:00
-- 
GitLab