Skip to content

Commit 63d0395

Browse files
committed
Added tests for canonicalizing Periods
1 parent 7c54ff2 commit 63d0395

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

stdlib/Dates/test/periods.jl

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,18 @@ end
378378
@test Dates.Date(2009, 2, 1) - (Dates.Month(1) + Dates.Day(1)) == Dates.Date(2008, 12, 31)
379379
@test_throws MethodError (Dates.Month(1) + Dates.Day(1)) - Dates.Date(2009,2,1)
380380
end
381+
382+
@testset "canonicalize Period" begin
383+
# reduce individual Period into most basic CompoundPeriod
384+
@test Dates.canonicalize(Dates.Nanosecond(1000000)) == Dates.canonicalize(Dates.Millisecond(1))
385+
@test Dates.canonicalize(Dates.Millisecond(1000)) == Dates.canonicalize(Dates.Second(1))
386+
@test Dates.canonicalize(Dates.Second(60)) == Dates.canonicalize(Dates.Minute(1))
387+
@test Dates.canonicalize(Dates.Minute(60)) == Dates.canonicalize(Dates.Hour(1))
388+
@test Dates.canonicalize(Dates.Hour(24)) == Dates.canonicalize(Dates.Day(1))
389+
@test Dates.canonicalize(Dates.Day(7)) == Dates.canonicalize(Dates.Week(1))
390+
@test Dates.canonicalize(Dates.Month(12)) == Dates.canonicalize(Dates.Year(1))
391+
@test Dates.canonicalize(Dates.Minute(24*60*1 + 12*60)) == Dates.canonicalize(Dates.CompoundPeriod([Dates.Day(1),Dates.Hour(12)]))
392+
end
381393
@testset "unary ops and vectorized period arithmetic" begin
382394
pa = [1y 1m 1w 1d; 1h 1mi 1s 1ms]
383395
cpa = [1y + 1s 1m + 1s 1w + 1s 1d + 1s; 1h + 1s 1mi + 1s 2m + 1s 1s + 1ms]
@@ -468,3 +480,4 @@ end
468480
end
469481

470482
end
483+

0 commit comments

Comments
 (0)