mirror of
https://github.com/Haskell-Things/ImplicitCAD.git
synced 2024-09-19 08:57:33 +03:00
Initial hedgehog setup
This commit is contained in:
parent
e999aa48f9
commit
3c69c886bc
4
cabal.project
Normal file
4
cabal.project
Normal file
@ -0,0 +1,4 @@
|
||||
packages: .
|
||||
|
||||
package zlib
|
||||
flags: +pkg-config
|
@ -49,7 +49,7 @@ Library
|
||||
-Wall
|
||||
-Wcompat
|
||||
-Wmonomorphism-restriction
|
||||
-Wmissing-local-signatures
|
||||
-Wmissing-signatures
|
||||
-Wmissing-export-lists
|
||||
-Wmissing-import-lists
|
||||
-Wmissing-home-modules
|
||||
@ -137,7 +137,7 @@ Executable extopenscad
|
||||
-Wall
|
||||
-Wcompat
|
||||
-Wmonomorphism-restriction
|
||||
-Wmissing-local-signatures
|
||||
-Wmissing-signatures
|
||||
-Wmissing-export-lists
|
||||
-Wmissing-import-lists
|
||||
-Wmissing-home-modules
|
||||
@ -161,7 +161,7 @@ Executable docgen
|
||||
-Wall
|
||||
-Wcompat
|
||||
-Wmonomorphism-restriction
|
||||
-Wmissing-local-signatures
|
||||
-Wmissing-signatures
|
||||
-Wmissing-export-lists
|
||||
-Wmissing-import-lists
|
||||
-Wmissing-home-modules
|
||||
@ -196,7 +196,7 @@ Executable implicitsnap
|
||||
-Wall
|
||||
-Wcompat
|
||||
-Wmonomorphism-restriction
|
||||
-Wmissing-local-signatures
|
||||
-Wmissing-signatures
|
||||
-Wmissing-export-lists
|
||||
-Wmissing-import-lists
|
||||
-Wmissing-home-modules
|
||||
@ -223,7 +223,7 @@ Executable Benchmark
|
||||
-Wall
|
||||
-Wcompat
|
||||
-Wmonomorphism-restriction
|
||||
-Wmissing-local-signatures
|
||||
-Wmissing-signatures
|
||||
-Wmissing-export-lists
|
||||
-Wmissing-import-lists
|
||||
-Wmissing-home-modules
|
||||
@ -241,7 +241,10 @@ Test-suite test-implicit
|
||||
base,
|
||||
hspec,
|
||||
implicit,
|
||||
parsec
|
||||
parsec,
|
||||
HUnit,
|
||||
hedgehog,
|
||||
hw-hspec-hedgehog
|
||||
Main-is: Main.hs
|
||||
Hs-source-dirs: tests
|
||||
Ghc-options:
|
||||
@ -252,7 +255,7 @@ Test-suite test-implicit
|
||||
-Wall
|
||||
-Wcompat
|
||||
-Wmonomorphism-restriction
|
||||
-Wmissing-local-signatures
|
||||
-Wmissing-signatures
|
||||
-Wmissing-export-lists
|
||||
-Wmissing-import-lists
|
||||
-Wmissing-home-modules
|
||||
@ -269,6 +272,7 @@ Test-suite test-implicit
|
||||
ExecSpec.Util
|
||||
MessageSpec.Message
|
||||
MessageSpec.Util
|
||||
PropertySpec
|
||||
|
||||
Benchmark parser-bench
|
||||
Type: exitcode-stdio-1.0
|
||||
@ -289,7 +293,7 @@ Benchmark parser-bench
|
||||
-Wall
|
||||
-Wcompat
|
||||
-Wmonomorphism-restriction
|
||||
-Wmissing-local-signatures
|
||||
-Wmissing-signatures
|
||||
-Wmissing-export-lists
|
||||
-Wmissing-import-lists
|
||||
-Wmissing-home-modules
|
||||
|
@ -20,6 +20,8 @@ import ExecSpec.Expr(exprExec)
|
||||
-- the execution test for warnings.
|
||||
import MessageSpec.Message(programExec)
|
||||
|
||||
import PropertySpec (propSpec)
|
||||
|
||||
main :: IO ()
|
||||
main = hspec $ do
|
||||
-- run tests against the expression parsing engine.
|
||||
@ -30,3 +32,6 @@ main = hspec $ do
|
||||
describe "expression execution" exprExec
|
||||
-- run tests against the evaluation engine, checking for messages.
|
||||
describe "program execution" programExec
|
||||
|
||||
-- Generate data to be evaluated, and ensure the properties hold.
|
||||
describe "property tests" propSpec
|
||||
|
15
tests/PropertySpec.hs
Normal file
15
tests/PropertySpec.hs
Normal file
@ -0,0 +1,15 @@
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module PropertySpec
|
||||
( propSpec
|
||||
) where
|
||||
|
||||
import Prelude (($), Bool (True), (.))
|
||||
import Test.Hspec (it, Spec)
|
||||
import HaskellWorks.Hspec.Hedgehog (requireProperty)
|
||||
import Hedgehog ((===))
|
||||
|
||||
propSpec :: Spec
|
||||
propSpec =
|
||||
it "trivial" . requireProperty $ do
|
||||
True === True
|
Loading…
Reference in New Issue
Block a user