aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/tests.chrono.cpp
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-12-01 16:08:09 -0800
committerRobert Schumacher <roschuma@microsoft.com>2017-12-01 16:08:09 -0800
commit71f8958a069208b08a4bcca207956ef8a15238ab (patch)
tree1fdded86553d97386fcd4d799bda4863fbe1516f /toolsrc/src/tests.chrono.cpp
parent34d8c77d35089484f66d80299dc6f8303a994a84 (diff)
downloadvcpkg-71f8958a069208b08a4bcca207956ef8a15238ab.tar.gz
vcpkg-71f8958a069208b08a4bcca207956ef8a15238ab.zip
[vcpkg-contact-survey] Add monthly survey prompt
Diffstat (limited to 'toolsrc/src/tests.chrono.cpp')
-rw-r--r--toolsrc/src/tests.chrono.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/toolsrc/src/tests.chrono.cpp b/toolsrc/src/tests.chrono.cpp
new file mode 100644
index 000000000..269cdca58
--- /dev/null
+++ b/toolsrc/src/tests.chrono.cpp
@@ -0,0 +1,41 @@
+#include "tests.pch.h"
+
+using namespace Microsoft::VisualStudio::CppUnitTestFramework;
+
+namespace Chrono = vcpkg::Chrono;
+
+namespace UnitTest1
+{
+ class ChronoTests : public TestClass<ChronoTests>
+ {
+ TEST_METHOD(parse_time)
+ {
+ auto timestring = "1990-02-03T04:05:06.0Z";
+ auto maybe_time = Chrono::CTime::parse(timestring);
+
+ Assert::IsTrue(maybe_time.has_value());
+
+ Assert::AreEqual(timestring, maybe_time.get()->to_string().c_str());
+ }
+
+ TEST_METHOD(parse_time_blank)
+ {
+ auto maybe_time = Chrono::CTime::parse("");
+
+ Assert::IsFalse(maybe_time.has_value());
+ }
+
+ TEST_METHOD(time_difference)
+ {
+ auto maybe_time1 = Chrono::CTime::parse("1990-02-03T04:05:06.0Z");
+ auto maybe_time2 = Chrono::CTime::parse("1990-02-10T04:05:06.0Z");
+
+ Assert::IsTrue(maybe_time1.has_value());
+ Assert::IsTrue(maybe_time2.has_value());
+
+ auto delta = maybe_time2.get()->to_time_point() - maybe_time1.get()->to_time_point();
+
+ Assert::AreEqual(24 * 7, std::chrono::duration_cast<std::chrono::hours>(delta).count());
+ }
+ };
+}