diff options
Diffstat (limited to 'tests/Property.hs')
-rw-r--r-- | tests/Property.hs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/tests/Property.hs b/tests/Property.hs index 55b7f31..2c06474 100644 --- a/tests/Property.hs +++ b/tests/Property.hs @@ -2,20 +2,32 @@ module Property (propertyTests) where import Data.Graph.Inductive import Test.Tasty -import Test.Tasty.QuickCheck as QC +import qualified Test.Tasty.QuickCheck as QC import Test.VeriFuzz +import qualified Test.VeriFuzz.Graph.RandomAlt as V newtype TestGraph = TestGraph { getGraph :: Gr Gate () } deriving (Show) +newtype AltTestGraph = AltTestGraph { getAltGraph :: Gr Gate () } + deriving (Show) + instance QC.Arbitrary TestGraph where - arbitrary = TestGraph <$> randomDAG 30 + arbitrary = TestGraph <$> QC.resize 30 randomDAG -simpleGraph = QC.testProperty "simple graph generation" $ - \graph -> simp (graph :: TestGraph) +instance QC.Arbitrary AltTestGraph where + arbitrary = AltTestGraph <$> QC.resize 100 V.randomDAG + +simpleGraph = QC.testProperty "simple graph generation check" $ + \graph -> simp graph where simp = isSimple . getGraph +simpleAltGraph = QC.testProperty "simple alternative graph generation check" $ + \graph -> simp graph + where simp = isSimple . getAltGraph + propertyTests :: TestTree propertyTests = testGroup "Property Tests" [ simpleGraph + , simpleAltGraph ] |