diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal index c54ccf14e88cc1a0ab4b9b92d897522ca799184a..a568fadc5d649844ced02cc17e58def3ac8509b7 100644 --- a/cabal-install/cabal-install.cabal +++ b/cabal-install/cabal-install.cabal @@ -177,7 +177,9 @@ Test-Suite unit-tests filepath, test-framework, test-framework-hunit, + test-framework-quickcheck2, HUnit, + QuickCheck (>= 2.5), cabal-install, Cabal ghc-options: -Wall diff --git a/cabal-install/tests/UnitTests/Distribution/Client/Dependency/Modular/PSQ.hs b/cabal-install/tests/UnitTests/Distribution/Client/Dependency/Modular/PSQ.hs index 022ea979f1f85672e6b2979ccea42d19d7544d74..c3dc72eac114828fc1e8441d5e03d6c13f83ffee 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/Dependency/Modular/PSQ.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/Dependency/Modular/PSQ.hs @@ -4,12 +4,11 @@ module UnitTests.Distribution.Client.Dependency.Modular.PSQ ( import Distribution.Client.Dependency.Modular.PSQ -import Test.Framework as TF (Test) -import Test.Framework.Providers.HUnit (testCase) -import Test.HUnit (Assertion, assertEqual) +import Test.Framework as TF (Test) +import Test.Framework.Providers.QuickCheck2 tests :: [TF.Test] -tests = [ testCase "splitsAltImplementation" splitsTest +tests = [ testProperty "splitsAltImplementation" splitsTest ] -- | Original splits implementation @@ -19,12 +18,5 @@ splits' xs = (PSQ []) (\ k v ys -> cons k (v, ys) (fmap (\ (w, zs) -> (w, cons k v zs)) (splits' ys))) -splitsTest :: Assertion -splitsTest = do - assertEqual "" (splits' psq1) (splits psq1) - assertEqual "" (splits' psq2) (splits psq2) - assertEqual "" (splits' psq3) (splits psq3) - where - psq1 = PSQ [ (1,2), (3,4), (5,6), (7,8) ] :: PSQ Int Int - psq2 = PSQ [ (1,2) ] :: PSQ Int Int - psq3 = PSQ [] :: PSQ Int Int +splitsTest :: [(Int, Int)] -> Bool +splitsTest psq = splits' (PSQ psq) == splits (PSQ psq)