aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/catchy/test_cvc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/catchy/test_cvc.cpp')
-rw-r--r--src/tests/catchy/test_cvc.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/tests/catchy/test_cvc.cpp b/src/tests/catchy/test_cvc.cpp
new file mode 100644
index 000000000..1678f76f1
--- /dev/null
+++ b/src/tests/catchy/test_cvc.cpp
@@ -0,0 +1,41 @@
+// (C) 2015 Simon Warta (Kullo GmbH)
+// Botan is released under the Simplified BSD License (see license.txt)
+
+#include "catch.hpp"
+#include <botan/build.h>
+
+#if defined(BOTAN_HAS_CVC)
+
+#include <botan/eac_asn_obj.h>
+
+TEST_CASE("human readable time", "[EAC_Time]")
+ {
+ auto time1 = Botan::EAC_Time("2008-02-01");
+ auto time2 = Botan::EAC_Time("2008/02/28");
+ auto time3 = Botan::EAC_Time("2004-06-14");
+
+ CHECK(( time1.time_is_set() == true ));
+ CHECK(( time2.time_is_set() == true ));
+ CHECK(( time3.time_is_set() == true ));
+
+ CHECK(( time1.readable_string() == "2008/02/01" ));
+ CHECK(( time2.readable_string() == "2008/02/28" ));
+ CHECK(( time3.readable_string() == "2004/06/14" ));
+ }
+
+TEST_CASE("no time", "[EAC_Time]")
+ {
+ auto time = Botan::EAC_Time("");
+ CHECK(( time.time_is_set() == false ));
+ }
+
+TEST_CASE("invalis time", "[EAC_Time]")
+ {
+ CHECK_THROWS( Botan::EAC_Time(" ") );
+ CHECK_THROWS( Botan::EAC_Time("2008`02-01") );
+ CHECK_THROWS( Botan::EAC_Time("9999-02-01") );
+ CHECK_THROWS( Botan::EAC_Time("2000-02-01 17") );
+ CHECK_THROWS( Botan::EAC_Time("999921") );
+ }
+
+#endif // BOTAN_HAS_CVC