blob: fb8a0dee90aff8eee5af36558154e904c9846c87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include <catch2/catch.hpp>
#include <vcpkg/base/chrono.h>
namespace Chrono = vcpkg::Chrono;
TEST_CASE ("parse time", "[chrono]")
{
auto timestring = "1990-02-03T04:05:06.0Z";
auto maybe_time = Chrono::CTime::parse(timestring);
REQUIRE(maybe_time.has_value());
REQUIRE(maybe_time.get()->to_string() == timestring);
}
TEST_CASE ("parse blank time", "[chrono]")
{
auto maybe_time = Chrono::CTime::parse("");
REQUIRE_FALSE(maybe_time.has_value());
}
TEST_CASE ("difference of times", "[chrono]")
{
auto maybe_time1 = Chrono::CTime::parse("1990-02-03T04:05:06.0Z");
auto maybe_time2 = Chrono::CTime::parse("1990-02-10T04:05:06.0Z");
REQUIRE(maybe_time1.has_value());
REQUIRE(maybe_time2.has_value());
auto delta = maybe_time2.get()->to_time_point() - maybe_time1.get()->to_time_point();
REQUIRE(std::chrono::duration_cast<std::chrono::hours>(delta).count() == 24 * 7);
}
|