72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import pytest
 | 
						|
 | 
						|
from pandas import Timestamp
 | 
						|
 | 
						|
ts_no_ns = Timestamp(
 | 
						|
    year=2019,
 | 
						|
    month=5,
 | 
						|
    day=18,
 | 
						|
    hour=15,
 | 
						|
    minute=17,
 | 
						|
    second=8,
 | 
						|
    microsecond=132263,
 | 
						|
)
 | 
						|
ts_ns = Timestamp(
 | 
						|
    year=2019,
 | 
						|
    month=5,
 | 
						|
    day=18,
 | 
						|
    hour=15,
 | 
						|
    minute=17,
 | 
						|
    second=8,
 | 
						|
    microsecond=132263,
 | 
						|
    nanosecond=123,
 | 
						|
)
 | 
						|
ts_ns_tz = Timestamp(
 | 
						|
    year=2019,
 | 
						|
    month=5,
 | 
						|
    day=18,
 | 
						|
    hour=15,
 | 
						|
    minute=17,
 | 
						|
    second=8,
 | 
						|
    microsecond=132263,
 | 
						|
    nanosecond=123,
 | 
						|
    tz="UTC",
 | 
						|
)
 | 
						|
ts_no_us = Timestamp(
 | 
						|
    year=2019,
 | 
						|
    month=5,
 | 
						|
    day=18,
 | 
						|
    hour=15,
 | 
						|
    minute=17,
 | 
						|
    second=8,
 | 
						|
    microsecond=0,
 | 
						|
    nanosecond=123,
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
@pytest.mark.parametrize(
 | 
						|
    "ts, timespec, expected_iso",
 | 
						|
    [
 | 
						|
        (ts_no_ns, "auto", "2019-05-18T15:17:08.132263"),
 | 
						|
        (ts_no_ns, "seconds", "2019-05-18T15:17:08"),
 | 
						|
        (ts_no_ns, "nanoseconds", "2019-05-18T15:17:08.132263000"),
 | 
						|
        (ts_ns, "auto", "2019-05-18T15:17:08.132263123"),
 | 
						|
        (ts_ns, "hours", "2019-05-18T15"),
 | 
						|
        (ts_ns, "minutes", "2019-05-18T15:17"),
 | 
						|
        (ts_ns, "seconds", "2019-05-18T15:17:08"),
 | 
						|
        (ts_ns, "milliseconds", "2019-05-18T15:17:08.132"),
 | 
						|
        (ts_ns, "microseconds", "2019-05-18T15:17:08.132263"),
 | 
						|
        (ts_ns, "nanoseconds", "2019-05-18T15:17:08.132263123"),
 | 
						|
        (ts_ns_tz, "auto", "2019-05-18T15:17:08.132263123+00:00"),
 | 
						|
        (ts_ns_tz, "hours", "2019-05-18T15+00:00"),
 | 
						|
        (ts_ns_tz, "minutes", "2019-05-18T15:17+00:00"),
 | 
						|
        (ts_ns_tz, "seconds", "2019-05-18T15:17:08+00:00"),
 | 
						|
        (ts_ns_tz, "milliseconds", "2019-05-18T15:17:08.132+00:00"),
 | 
						|
        (ts_ns_tz, "microseconds", "2019-05-18T15:17:08.132263+00:00"),
 | 
						|
        (ts_ns_tz, "nanoseconds", "2019-05-18T15:17:08.132263123+00:00"),
 | 
						|
        (ts_no_us, "auto", "2019-05-18T15:17:08.000000123"),
 | 
						|
    ],
 | 
						|
)
 | 
						|
def test_isoformat(ts, timespec, expected_iso):
 | 
						|
    assert ts.isoformat(timespec=timespec) == expected_iso
 |