From c4c80116eca7d498176b3f6fb8278f5bf8a17ea3 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Fri, 30 Nov 2018 23:00:52 +0000 Subject: Add first property test --- tests/Property.hs | 20 ++++++++++++++++++++ tests/Test.hs | 15 +++------------ tests/Unit.hs | 13 +++++++++++++ 3 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 tests/Property.hs create mode 100644 tests/Unit.hs (limited to 'tests') diff --git a/tests/Property.hs b/tests/Property.hs new file mode 100644 index 0000000..ba9152e --- /dev/null +++ b/tests/Property.hs @@ -0,0 +1,20 @@ +module Property (propertyTests) where + +import Data.Graph.Inductive +import Test.Tasty +import Test.Tasty.QuickCheck as QC +import Test.VeriFuzz + +newtype TestGraph = TestGraph { getGraph :: Gr Gate ()} + deriving (Show) + +instance QC.Arbitrary TestGraph where + arbitrary = TestGraph <$> randomDAG 100 + +simpleGraph = QC.testProperty "simple graph generation" $ + \graph -> isSimple (getGraph (graph :: TestGraph)) == True + +propertyTests :: TestTree +propertyTests = testGroup "Property" + [ simpleGraph + ] diff --git a/tests/Test.hs b/tests/Test.hs index 0c631b8..0eb9e0a 100644 --- a/tests/Test.hs +++ b/tests/Test.hs @@ -1,19 +1,10 @@ module Main where +import Property import Test.Tasty -import Test.Tasty.HUnit -import Test.Tasty.QuickCheck as QC - -unitTests = testGroup "Unit tests" - [ testCase "List comparison (different length)" $ - [1, 2, 3] `compare` [1,2] @?= GT - - -- the following test does not hold - , testCase "List comparison (same length)" $ - [1, 2, 3] `compare` [1,2,2] @?= GT - ] +import Unit tests :: TestTree -tests = testGroup "Tests" [unitTests] +tests = testGroup "Tests" [unitTests, propertyTests] main = defaultMain tests diff --git a/tests/Unit.hs b/tests/Unit.hs new file mode 100644 index 0000000..a04098b --- /dev/null +++ b/tests/Unit.hs @@ -0,0 +1,13 @@ +module Unit (unitTests) where + +import Test.Tasty +import Test.Tasty.HUnit + +unitTests = testGroup "Unit tests" + [ testCase "List comparison (different length)" $ + [1, 2, 3] `compare` [1,2] @?= GT + + -- the following test does not hold + , testCase "List comparison (same length)" $ + [1, 2, 3] `compare` [1,2,2] @?= GT + ] -- cgit