time-1.10: test/main/Test/Calendar/LongWeekYears.hs
module Test.Calendar.LongWeekYears
( longWeekYears
) where
import Data.Time.Calendar
import Data.Time.Calendar.WeekDate
import Test.Calendar.LongWeekYearsRef
import Test.Tasty
import Test.Tasty.HUnit
longYear :: Integer -> Bool
longYear year =
case toWeekDate (fromGregorian year 12 31) of
(_, 53, _) -> True
_ -> False
showLongYear :: Integer -> String
showLongYear year =
unwords
[ show year ++ ":"
, (if isLeapYear year
then "L"
else " ") ++
(if longYear year
then "*"
else " ")
]
longWeekYears :: TestTree
longWeekYears = testCase "longWeekYears" $ assertEqual "" longWeekYearsRef $ unlines $ map showLongYear [1901 .. 2050]