aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/tests.chrono.cpp
diff options
context:
space:
mode:
authorAlexander Saprykin <xelfium@gmail.com>2018-05-26 13:27:14 +0200
committerGitHub <noreply@github.com>2018-05-26 13:27:14 +0200
commit4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5 (patch)
treed95c9490352eb73f078d34a33bc4bb44ac9fa48b /toolsrc/src/tests.chrono.cpp
parentfb689bd13dd6ba563a885d71fff1dd2b32a615db (diff)
parent2ac7527b40b1dbeb7856b9f763362c1e139e2ca9 (diff)
downloadvcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.tar.gz
vcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.zip
Merge pull request #1 from Microsoft/master
Update vcpkg from upstream
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());
+ }
+ };
+}