7from pybind11_tests
import chrono
as m
13 date0 = datetime.datetime.today()
14 date1 = m.test_chrono1()
15 date2 = datetime.datetime.today()
21 diff_python =
abs(date2 - date0)
22 diff =
abs(date1 - date2)
29 assert diff.seconds <= diff_python.seconds
33 date1 = datetime.datetime.today()
36 date2 = m.test_chrono2(date1)
42 diff =
abs(date1 - date2)
43 assert diff == datetime.timedelta(0)
47 date1 = datetime.date.today()
50 datetime2 = m.test_chrono2(date1)
51 date2 = datetime2.date()
52 time2 = datetime2.time()
55 assert isinstance(datetime2, datetime.datetime)
60 diff =
abs(date1 - date2)
62 assert diff.seconds == 0
63 assert diff.microseconds == 0
69 assert time2.hour == 0
70 assert time2.minute == 0
71 assert time2.second == 0
72 assert time2.microsecond == 0
75SKIP_TZ_ENV_ON_WIN = pytest.mark.skipif(
76 "env.WIN", reason=
"TZ environment variable only supported on POSIX"
80@pytest.mark.parametrize(
83 datetime.datetime.today().time(),
84 datetime.time(0, 0, 0),
85 datetime.time(0, 0, 0, 1),
86 datetime.time(0, 28, 45, 109827),
87 datetime.time(0, 59, 59, 999999),
88 datetime.time(1, 0, 0),
89 datetime.time(5, 59, 59, 0),
90 datetime.time(5, 59, 59, 1),
93@pytest.mark.parametrize(
97 pytest.param(
"Europe/Brussels", marks=SKIP_TZ_ENV_ON_WIN),
98 pytest.param(
"Asia/Pyongyang", marks=SKIP_TZ_ENV_ON_WIN),
99 pytest.param(
"America/New_York", marks=SKIP_TZ_ENV_ON_WIN),
104 monkeypatch.setenv(
"TZ",
"/usr/share/zoneinfo/{}".format(tz))
107 datetime2 = m.test_chrono2(time1)
108 date2 = datetime2.date()
109 time2 = datetime2.time()
112 assert isinstance(datetime2, datetime.datetime)
117 assert time1 == time2
120 assert date2.year == 1970
121 assert date2.month == 1
122 assert date2.day == 1
128 date1 = datetime.datetime.today()
129 date2 = datetime.datetime.today()
135 cpp_diff = m.test_chrono3(diff)
137 assert cpp_diff == diff
140 diff = datetime.timedelta(microseconds=-1)
141 cpp_diff = m.test_chrono3(diff)
143 assert cpp_diff == diff
148 date1 = datetime.datetime.today()
149 date2 = datetime.datetime.today()
152 cpp_diff = m.test_chrono4(date2, date1)
154 assert cpp_diff == diff
159 date1 = datetime.date.today()
160 date2 = datetime.date.today()
163 cpp_diff = m.test_chrono4(date2, date1)
165 assert cpp_diff == diff
169 time1 = m.test_chrono5()
174 time1 = datetime.timedelta(days=10, seconds=10, microseconds=100)
175 time2 = m.test_chrono6(time1)
180 assert time1 == time2
185 time = m.test_chrono7(35.525123)
189 assert time.seconds == 35
190 assert 525122 <= time.microseconds <= 525123
192 diff = m.test_chrono_float_diff(43.789012, 1.123456)
193 assert diff.seconds == 42
194 assert 665556 <= diff.microseconds <= 665557
198 time = datetime.datetime.now()
199 time1 = m.test_nano_timepoint(time, datetime.timedelta(seconds=60))
200 assert time1 == time + datetime.timedelta(seconds=60)
204 resolutions = m.different_resolutions()
205 time = datetime.datetime.now()
206 resolutions.timestamp_h = time
207 resolutions.timestamp_m = time
208 resolutions.timestamp_s = time
209 resolutions.timestamp_ms = time
210 resolutions.timestamp_us = time
bool isinstance(handle obj)
\rst Return true if obj is an instance of T.
def test_chrono_system_clock()
def test_floating_point_duration()
def test_chrono_duration_subtraction_equivalence()
def test_nano_timepoint()
def test_chrono_system_clock_roundtrip_time(time1, tz, monkeypatch)
def test_chrono_duration_subtraction_equivalence_date()
def test_chrono_duration_roundtrip()
def test_chrono_steady_clock_roundtrip()
def test_chrono_system_clock_roundtrip()
def test_chrono_system_clock_roundtrip_date()
def test_chrono_different_resolutions()
def test_chrono_steady_clock()
std::string abs(const Vector2 &)