Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Test (doTest) where
- import Control.Monad
- test :: (String -> String -> Bool) -> (String, [String], [String]) -> IO ()
- test f (rows, truthy, falsy) = do
- forM_ truthy $ \w -> do
- unless (f rows w) $ error $ "Fail truthy test: " ++ w
- forM_ falsy $ \w -> do
- when (f rows w) $ error $ "Fail falsy test: " ++ w
- doTest :: (String -> String -> Bool) -> IO ()
- doTest f = mapM_ (test f) allCases
- case1 = (
- "WVERTICALL\n\
- \ROOAFFLSAB\n\
- \ACRILIATOA\n\
- \NDODKONWDC\n\
- \DRKESOODDK\n\
- \OEEPZEGLIW\n\
- \MSIIHOAERA\n\
- \ALRKRRIRER\n\
- \KODIDEDRCD\n\
- \HELWSLEUTH"
- , ["RANDOM", "VERTICAL", "HORIZONTAL", "WORDSEARCH", "WIKIPEDIA", "TAIL"]
- , ["WordSearch", "CODEGOLF", "UNICORN"]
- )
- case2 = (
- "Lorem ipsum dolor sit amet consectetu\n\
- \r adipisicing elit sed do eiusmod tem\n\
- \por incididunt ut labore et dolore ma\n\
- \gna aliqua. Ut enim ad minim veniam, \n\
- \quis nostrud exercitation ullamco lab\n\
- \oris nisi ut aliquip ex ea commodo co\n\
- \nsequat. Duis aute irure dolor in rep\n\
- \rehenderit in voluptate velit esse ci\n\
- \llum dolore eu fugiat nulla pariatur."
- , ["Lorem", "mine", "uma bop", "tuetdod", "snol,a", "texas", "pii.d v", "vexta"]
- , ["lorem", "wordsearch", "pii.d v", "mute"]
- )
- case3 = (
- "abcd\nefgh\nijkl\nmnop"
- , ["abcd", "efgh", "aeim", "miea", "afkp", "dgjm"]
- , ["ABCF"]
- )
- allCases = [case1, case2, case3]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement