def test_parse_seconds(): parser = DurationParser() assert parser.parse("1 seconds") == timedelta(seconds=1) assert parser.parse("5 sec") == timedelta(seconds=5) assert parser.parse("5 s") == timedelta(seconds=5) assert parser.parse("5secs") == timedelta(seconds=5) assert parser.parse("5.0s") == timedelta(seconds=5) assert parser.parse("5.0 secs") == timedelta(seconds=5) assert parser.parse("5.5 s") == timedelta(seconds=5, milliseconds=500)
def test_parse_minutes(): parser = DurationParser() assert parser.parse("1 minutes") == timedelta(minutes=1) assert parser.parse("5 min") == timedelta(minutes=5) assert parser.parse("5 m") == timedelta(minutes=5) assert parser.parse("5mins") == timedelta(minutes=5) assert parser.parse("5.0m") == timedelta(minutes=5) assert parser.parse("5.0 min") == timedelta(minutes=5) assert parser.parse("5.5 m") == timedelta(minutes=5, seconds=30)
def test_parse_days(): parser = DurationParser() assert parser.parse("1 days") == timedelta(days=1) assert parser.parse("5 days") == timedelta(days=5) assert parser.parse("5 d") == timedelta(days=5) assert parser.parse("5d") == timedelta(days=5) assert parser.parse("5.0d") == timedelta(days=5) assert parser.parse("5.0day") == timedelta(days=5) assert parser.parse("5.0 day") == timedelta(days=5) assert parser.parse("5.5 days") == timedelta(days=5, hours=12)
def test_format(): parser = DurationParser() assert parser.format(timedelta(days=1)) == "1 days" assert parser.format(timedelta(seconds=86400)) == "1 days" assert parser.format(timedelta(hours=1)) == "1 hours" assert parser.format(timedelta(minutes=1)) == "1 minutes" assert parser.format(timedelta(seconds=60)) == "1 minutes" assert parser.format(timedelta(seconds=5)) == "5 seconds" assert parser.format(timedelta(seconds=1)) == "1 seconds" assert parser.format(timedelta(days=5, hours=6, minutes=7)) == "5 days, 6 hours, 7 minutes" assert parser.format( timedelta(days=5, hours=6, minutes=7, seconds=8)) == "5 days, 6 hours, 7 minutes, 8 seconds"
def test_parse_hours(): parser = DurationParser() assert parser.parse("1 hours") == timedelta(hours=1) assert parser.parse("5 hours") == timedelta(hours=5) assert parser.parse("5 h") == timedelta(hours=5) assert parser.parse("5hour") == timedelta(hours=5) assert parser.parse("5.0h") == timedelta(hours=5) assert parser.parse("5.0 hour") == timedelta(hours=5) assert parser.parse("5.5 h") == timedelta(hours=5, minutes=30)
def test_parse_multiple(): parser = DurationParser() assert parser.parse("1 day, 5 hours, 30 seconds") == timedelta(days=1, hours=5, seconds=30) assert parser.parse("1 day 5 hours 30 seconds") == timedelta(days=1, hours=5, seconds=30) assert parser.parse("1d 5 hours 30s") == timedelta(days=1, hours=5, seconds=30) assert parser.parse("1d 5h 30s") == timedelta(days=1, hours=5, seconds=30) assert parser.parse("5m 1d 5h 30s") == timedelta(days=1, hours=5, minutes=5, seconds=30)
def test_convert_empty_seconds(): parser = DurationParser() assert parser.parse("") == timedelta(seconds=0) assert parser.parse("0") == timedelta(seconds=0) assert parser.parse("30") == timedelta(seconds=30) assert parser.parse(str(60 * 60)) == timedelta(seconds=60 * 60)
def doTestConvert(duration): parser = DurationParser() assert parser.parse(parser.format(duration)) == duration