exact-cover-0.1.0.0: tests/Math/ExactCover/Tests.hs
-- |
module Math.ExactCover.Tests where
import Math.ExactCover
import Test.Tasty (TestTree, testGroup)
import qualified Test.Tasty.HUnit as U
import Test.Tasty.HUnit ((@?=))
import qualified Data.Map.Strict as Map (fromList)
import qualified Data.Set as Set (fromList)
tests :: TestTree
tests = testGroup "Math.ExactCover"
[ tests_solve
]
tests_solve :: TestTree
tests_solve = testGroup "solve"
[ U.testCase "regular test case" case_solve_reg1
]
case_solve_reg1 :: U.Assertion
case_solve_reg1 =
( Set.fromList . solve $ Map.fromList [ (Set.fromList [2,4,5::Int], 'A')
, (Set.fromList [0,3,6], 'B')
, (Set.fromList [1,2,5], 'C')
, (Set.fromList [0,3], 'D')
, (Set.fromList [1,6], 'E')
, (Set.fromList [3,4,6], 'F')
]
) @?= Set.fromList "ADE"