예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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"
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
def doTestConvert(duration):
    parser = DurationParser()
    assert parser.parse(parser.format(duration)) == duration