runTest :: String   -- ^ name of the test
        -> Lotus    -- ^ the lotus puzzle
        -> String   -- ^ success or failed text
runTest name lts = do
    let solvedLotus = lotusSolver lts
    if all (checkAll solvedLotus) [0..48] then show name ++ " passed!"
    else "### " ++ show name ++ " failed! ###"

-- | Tests unsolvable puzzles
runTest :: String   -- ^ name of the test
        -> Lotus    -- ^ the lotus puzzle
        -> String
runTest name lts = do
    let solvedLotus = lotusSolver lts
    if all (checkAll solvedLotus) [0..48] then show name ++ " passed!"
    else "### " ++ show name ++ " failed! ###"

-- | Tests unsolvable puzzles
runTest name lts = do
    let solvedLotus = lotusSolver lts
    if all (checkAll solvedLotus) [0..48] then show name ++ " passed!"
    else "### " ++ show name ++ " failed! ###"

-- | Tests unsolvable puzzles