diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-12-01 16:08:09 -0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-12-01 16:08:09 -0800 |
| commit | 71f8958a069208b08a4bcca207956ef8a15238ab (patch) | |
| tree | 1fdded86553d97386fcd4d799bda4863fbe1516f /toolsrc/src/tests.chrono.cpp | |
| parent | 34d8c77d35089484f66d80299dc6f8303a994a84 (diff) | |
| download | vcpkg-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.cpp | 41 |
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()); + } + }; +} |
