packages feed

holidays-0.1.0.0: tst/Test/Holidays/Germany.hs

{-# LANGUAGE OverloadedStrings #-}

module Test.Holidays.Germany (
  unitTests,
  propTests,
) where

import Data.Set qualified as S
import Holidays
import Test.Holidays
import Test.Tasty
import Test.Tasty.HUnit

-- german states
regions :: [Region] 
regions = ["BW","BY","BE","BB","HB","HH","HE","MV","NI","NW","RP","SL","SN","ST","SH","TH"]

unitTests :: TestTree
unitTests =
  testGroup
    "DEU unit tests"
    [ testCase "2025" $
        S.toAscList (holidays "DEU" regions 2025)
          @?= [ day 2025 1 1,
                day 2025 1 6,
                day 2025 3 8,
                day 2025 4 18,
                day 2025 4 20,
                day 2025 4 21,
                day 2025 5 1,
                day 2025 5 8,
                day 2025 5 29,
                day 2025 6 8,
                day 2025 6 9,
                day 2025 6 19,
                day 2025 8 15,
                day 2025 9 20,
                day 2025 10 3,
                day 2025 10 31,
                day 2025 11 1,
                day 2025 11 19,
                day 2025 12 25,
                day 2025 12 26
              ]
    ]

propTests :: TestTree
propTests = countryPropTests "DEU" regions