]> gitweb.factorcode.org Git - factor.git/commitdiff
calendar: fix quarter, add tests.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 17 Dec 2020 04:41:40 +0000 (20:41 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 17 Dec 2020 04:41:40 +0000 (20:41 -0800)
basis/calendar/calendar-tests.factor
basis/calendar/calendar.factor

index e1bf51080877967f597972b9eba399023bf1b010..ba792b4ca225ca71e464aa00d4bd84c051a5daa8 100644 (file)
@@ -207,6 +207,8 @@ IN: calendar
     2008 2 29 <date> =
 ] unit-test
 
+{ { 1 1 1 2 2 2 3 3 3 4 4 4 } } [ 12 [1,b] [ quarter ] map ] unit-test
+
 { 0 }
 [ now-gmt gmt-offset>> duration>seconds ] unit-test
 
index 7d65f99d21dbcc454340d253d20072bae8f357a2..92c7186965c17e53fa3912ffa6a0aefd11748eac 100644 (file)
@@ -336,7 +336,7 @@ M: timestamp <=> [ >gmt tuple-slots ] compare ;
     [ >gmt slots{ year } ] same? ;
 
 : quarter ( timestamp -- [1,4] )
-    month>> 3 /i 1 + ; inline
+    month>> 3 /mod [ drop 1 + ] unless-zero ; inline
 
 : same-quarter? ( ts1 ts2 -- ? )
     [ >gmt [ year>> ] [ quarter ] bi 2array ] same? ;