1module Test.Calendar.LongWeekYears(longWeekYears) where 2 3import Data.Time.Calendar.WeekDate 4import Data.Time.Calendar 5import Test.Tasty 6import Test.Tasty.HUnit 7import Test.Calendar.LongWeekYearsRef 8 9longYear :: Integer -> Bool 10longYear year = case toWeekDate (fromGregorian year 12 31) of 11 (_,53,_) -> True 12 _ -> False 13 14showLongYear :: Integer -> String 15showLongYear year 16 = unwords [ show year ++ ":" 17 , (if isLeapYear year then "L" else " ") ++ (if longYear year then "*" else " ") ] 18 19longWeekYears :: TestTree 20longWeekYears = testCase "longWeekYears" $ 21 assertEqual "" longWeekYearsRef $ unlines $ map showLongYear [1901 .. 2050] 22