@@ -95,6 +95,26 @@ defmodule TimeTest do
9595 assert not Time . after? ( time1 , time2 )
9696 end
9797
98+ test "diff/3" do
99+ time1 = ~T[ 05:02:01.234]
100+ time2 = ~T[ 10:00:04.123]
101+ time1_holocene = ~T[ 05:02:01.234 Calendar.Holocene]
102+
103+ assert Time . diff ( time1 , time2 ) == - 17883
104+ assert Time . diff ( time1 , time2 , :hour ) == - 4
105+ assert Time . diff ( time1 , time2 , :minute ) == - 298
106+ assert Time . diff ( time1 , time2 , :second ) == - 17883
107+ assert Time . diff ( time1 , time2 , :millisecond ) == - 17_882_889
108+ assert Time . diff ( time1 , time2 , :microsecond ) == - 17_882_889_000
109+
110+ assert Time . diff ( time1_holocene , time2 ) == - 17883
111+ assert Time . diff ( time1_holocene , time2 , :hour ) == - 4
112+ assert Time . diff ( time1_holocene , time2 , :minute ) == - 298
113+ assert Time . diff ( time1_holocene , time2 , :second ) == - 17883
114+ assert Time . diff ( time1_holocene , time2 , :millisecond ) == - 17_882_889
115+ assert Time . diff ( time1_holocene , time2 , :microsecond ) == - 17_882_889_000
116+ end
117+
98118 test "truncate/2" do
99119 assert Time . truncate ( ~T[ 01:01:01.123456] , :microsecond ) == ~T[ 01:01:01.123456]
100120
0 commit comments