aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAkshay <[email protected]>2020-10-13 18:39:42 +0100
committerAkshay <[email protected]>2020-10-13 18:39:42 +0100
commit8b08ea946d1fc73d8363efb633b8063f750520bf (patch)
treec4b0db535597f25f3750628725fd03f43ac59dab /tests
parentf943fc17e5f80f92d20c86de5ea499bbfbe0cd75 (diff)
rework test suite
Diffstat (limited to 'tests')
-rw-r--r--tests/Main.hs4
-rw-r--r--tests/Properties.hs24
2 files changed, 18 insertions, 10 deletions
diff --git a/tests/Main.hs b/tests/Main.hs
index a05ddb1..c4e0d9b 100644
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -1,8 +1,6 @@
1module Main where 1module Main where
2 2
3import Properties 3import Properties
4import Test.Framework.Providers.QuickCheck2
5import Test.Framework.Runners.Console (defaultMain)
6import Test.QuickCheck 4import Test.QuickCheck
7 5
8main = defaultMain [ Properties.tests ] 6main = tests
diff --git a/tests/Properties.hs b/tests/Properties.hs
index b42cd4b..e50c7e8 100644
--- a/tests/Properties.hs
+++ b/tests/Properties.hs
@@ -1,15 +1,25 @@
1{-# LANGUAGE TemplateHaskell #-} 1{-# LANGUAGE TemplateHaskell #-}
2module Properties where 2module Properties where
3 3
4import Parser (Expr (..), 4import Parser (Expr (..), parseLispValue, parseQuote)
5 parseLispValue,
6 parseQuote)
7 5
8import Test.Framework.Providers.QuickCheck2
9import Test.Framework.TH
10import Test.QuickCheck 6import Test.QuickCheck
11import Text.ParserCombinators.Parsec
12 7
13-- some tests would go here hopefully 8-- some tests would go here hopefully
14 9
15tests = $testGroupGenerator 10-- a filler test to test the test suite :^)
11qsort :: (Ord a) => [a] -> [a]
12qsort [] = []
13qsort [x] = [x]
14qsort (x:xs) = qsort left ++ [x] ++ qsort right
15 where left = filter (<= x) xs
16 right = filter (> x) xs
17
18checkList :: (Ord a) => [a] -> Bool
19checkList = ordered . qsort
20 where ordered [] = True
21 ordered [x] = True
22 ordered (x:y:xs) = x <= y && ordered (y:xs)
23
24return []
25tests = $quickCheckAll