Skip to content
Snippets Groups Projects
Commit 7da27034 authored by Joachim Breitner's avatar Joachim Breitner
Browse files

Add test case for new splits implementation

parent f7d654cf
No related branches found
No related tags found
No related merge requests found
......@@ -5,6 +5,7 @@ import Test.Framework
import qualified UnitTests.Distribution.Client.Sandbox
import qualified UnitTests.Distribution.Client.Targets
import qualified UnitTests.Distribution.Client.Dependency.Modular.PSQ
tests :: [Test]
tests = [
......@@ -12,6 +13,8 @@ tests = [
UnitTests.Distribution.Client.Sandbox.tests
,testGroup "Distribution.Client.Targets"
UnitTests.Distribution.Client.Targets.tests
,testGroup "UnitTests.Distribution.Client.Dependency.Modular.PSQ"
UnitTests.Distribution.Client.Dependency.Modular.PSQ.tests
]
main :: IO ()
......
module UnitTests.Distribution.Client.Dependency.Modular.PSQ (
tests
) where
import Distribution.Client.Dependency.Modular.PSQ
import Test.Framework as TF (Test)
import Test.Framework.Providers.HUnit (testCase)
import Test.HUnit (Assertion, assertEqual)
tests :: [TF.Test]
tests = [ testCase "splitsAltImplementation" splitsTest
]
-- | Original splits implementation
splits' :: PSQ k a -> PSQ k (a, PSQ k a)
splits' xs =
casePSQ 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment