# -*- coding: utf-8 -*- 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