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
35
36
37
38
39
40
41
42
43
44
| import pytest
|
| from pandas import Timedelta
|
|
| @pytest.mark.parametrize(
| "td, expected_repr",
| [
| (Timedelta(10, unit="d"), "Timedelta('10 days 00:00:00')"),
| (Timedelta(10, unit="s"), "Timedelta('0 days 00:00:10')"),
| (Timedelta(10, unit="ms"), "Timedelta('0 days 00:00:00.010000')"),
| (Timedelta(-10, unit="ms"), "Timedelta('-1 days +23:59:59.990000')"),
| ],
| )
| def test_repr(td, expected_repr):
| assert repr(td) == expected_repr
|
|
| @pytest.mark.parametrize(
| "td, expected_iso",
| [
| (
| Timedelta(
| days=6,
| minutes=50,
| seconds=3,
| milliseconds=10,
| microseconds=10,
| nanoseconds=12,
| ),
| "P6DT0H50M3.010010012S",
| ),
| (Timedelta(days=4, hours=12, minutes=30, seconds=5), "P4DT12H30M5S"),
| (Timedelta(nanoseconds=123), "P0DT0H0M0.000000123S"),
| # trim nano
| (Timedelta(microseconds=10), "P0DT0H0M0.00001S"),
| # trim micro
| (Timedelta(milliseconds=1), "P0DT0H0M0.001S"),
| # don't strip every 0
| (Timedelta(minutes=1), "P0DT0H1M0S"),
| ],
| )
| def test_isoformat(td, expected_iso):
| assert td.isoformat() == expected_iso
|
|