Setup QuickCheck testing
This commit is contained in:
parent
e0b5de5a7f
commit
c8af014976
14
default.nix
14
default.nix
|
@ -1,7 +1,6 @@
|
|||
{ mkDerivation, base, Cabal, cabal-test-quickcheck, extra
|
||||
, monad-loops, MonadRandom, pipes, protolude, QuickCheck
|
||||
, quickcheck-instances, random, random-fu, random-shuffle, stdenv
|
||||
, text
|
||||
{ mkDerivation, base, Cabal, extra, monad-loops, MonadRandom, pipes
|
||||
, protolude, QuickCheck, quickcheck-instances, random, random-fu
|
||||
, random-shuffle, stdenv, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "ga";
|
||||
|
@ -14,13 +13,8 @@ mkDerivation {
|
|||
quickcheck-instances random random-fu random-shuffle text
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base extra monad-loops MonadRandom pipes protolude QuickCheck
|
||||
base Cabal extra monad-loops MonadRandom pipes protolude QuickCheck
|
||||
quickcheck-instances random random-fu random-shuffle text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base Cabal cabal-test-quickcheck extra monad-loops MonadRandom
|
||||
pipes protolude QuickCheck quickcheck-instances random random-fu
|
||||
random-shuffle text
|
||||
];
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
}
|
||||
|
|
13
ga.cabal
13
ga.cabal
|
@ -56,16 +56,25 @@ executable ga
|
|||
, SS19
|
||||
, WS19
|
||||
|
||||
executable ga-tests
|
||||
build-depends: base ^>=4.12.0.0
|
||||
, Cabal
|
||||
, extra
|
||||
, MonadRandom
|
||||
, monad-loops
|
||||
, pipes
|
||||
, protolude
|
||||
, QuickCheck
|
||||
, quickcheck-instances
|
||||
, random
|
||||
, random-fu
|
||||
, random-shuffle
|
||||
, text
|
||||
default-language: Haskell2010
|
||||
hs-source-dirs: src
|
||||
main-is: Main.hs
|
||||
main-is: Test.hs
|
||||
other-modules: GA
|
||||
, Seminar
|
||||
, Pretty
|
||||
, SS19
|
||||
, WS19
|
||||
, WS19
|
|
@ -1,5 +1,6 @@
|
|||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Seminar where
|
||||
|
||||
|
@ -161,3 +162,6 @@ valid :: Assignment -> Bool
|
|||
valid a =
|
||||
length a == length (nub $ fst <$> a)
|
||||
&& length a == length (nub $ snd <$> a)
|
||||
return []
|
||||
|
||||
runTests = $quickCheckAll
|
||||
|
|
11
src/Test.hs
Normal file
11
src/Test.hs
Normal file
|
@ -0,0 +1,11 @@
|
|||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
|
||||
module Main where
|
||||
|
||||
import Protolude
|
||||
import qualified Seminar
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
_ <- Seminar.runTests
|
||||
return ()
|
Loading…
Reference in New Issue
Block a user