package timeext import ( "testing" "time" ) func TestParseDurationShortString(t *testing.T) { tst.AssertPDSSEqual(t, FromSeconds(1), "1s") tst.AssertPDSSEqual(t, FromSeconds(1), "1sec") tst.AssertPDSSEqual(t, FromSeconds(1), "1second") tst.AssertPDSSEqual(t, FromSeconds(1), "1seconds") tst.AssertPDSSEqual(t, FromSeconds(100), "100second") tst.AssertPDSSEqual(t, FromSeconds(100), "100seconds") tst.AssertPDSSEqual(t, FromSeconds(1883639.77), "1883639.77second") tst.AssertPDSSEqual(t, FromSeconds(1883639.77), "1883639.77seconds") tst.AssertPDSSEqual(t, FromSeconds(50), "50s") tst.AssertPDSSEqual(t, FromSeconds(50), "50sec") tst.AssertPDSSEqual(t, FromSeconds(1), "1second") tst.AssertPDSSEqual(t, FromSeconds(50), "50seconds") tst.AssertPDSSEqual(t, FromMinutes(10), "10m") tst.AssertPDSSEqual(t, FromMinutes(10), "10min") tst.AssertPDSSEqual(t, FromMinutes(1), "1minute") tst.AssertPDSSEqual(t, FromMinutes(10), "10minutes") tst.AssertPDSSEqual(t, FromMinutes(10.5), "10.5minutes") tst.AssertPDSSEqual(t, FromMilliseconds(100), "100ms") tst.AssertPDSSEqual(t, FromMilliseconds(100), "100milliseconds") tst.AssertPDSSEqual(t, FromMilliseconds(100), "100millisecond") tst.AssertPDSSEqual(t, FromNanoseconds(99235), "99235ns") tst.AssertPDSSEqual(t, FromNanoseconds(99235), "99235nanoseconds") tst.AssertPDSSEqual(t, FromNanoseconds(99235), "99235nanosecond") tst.AssertPDSSEqual(t, FromMicroseconds(99235), "99235us") tst.AssertPDSSEqual(t, FromMicroseconds(99235), "99235microseconds") tst.AssertPDSSEqual(t, FromMicroseconds(99235), "99235microsecond") tst.AssertPDSSEqual(t, FromHours(1), "1h") tst.AssertPDSSEqual(t, FromHours(1), "1hour") tst.AssertPDSSEqual(t, FromHours(2), "2hours") tst.AssertPDSSEqual(t, FromDays(1), "1d") tst.AssertPDSSEqual(t, FromDays(1), "1day") tst.AssertPDSSEqual(t, FromDays(10), "10days") tst.AssertPDSSEqual(t, FromDays(1), "1days") tst.AssertPDSSEqual(t, FromDays(10), "10day") tst.AssertPDSSEqual(t, FromDays(1)+FromMinutes(10), "1d10m") tst.AssertPDSSEqual(t, FromDays(1)+FromMinutes(10)+FromSeconds(200), "1d10m200sec") tst.AssertPDSSEqual(t, FromDays(1)+FromMinutes(10), "1d:10m") tst.AssertPDSSEqual(t, FromDays(1)+FromMinutes(10), "1d 10m") tst.AssertPDSSEqual(t, FromDays(1)+FromMinutes(10), "1d,10m") tst.AssertPDSSEqual(t, FromDays(1)+FromMinutes(10), "1d, 10m") tst.AssertPDSSEqual(t, FromDays(1)+FromSeconds(1000), "1d 1000seconds") tst.AssertPDSSEqual(t, FromDays(1), "86400s") } func assertPDSSEqual(t *testing.T, expected time.Duration, fmt string) { actual, err := ParseDurationShortString(fmt) if err != nil { t.Errorf("ParseDurationShortString('%s') failed with %v", fmt, err) } if actual != expected { t.Errorf("values differ: Actual: '%v', Expected: '%v'", actual.String(), expected.String()) } }