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]