@@ -3,10 +3,9 @@ module Test.TypeRep.CacheMap where
33import Prelude hiding (lookup)
44
55import Data.Functor.Identity (Identity (..))
6+import Test.Tasty.Hspec (Spec, describe, it, shouldBe)
67
7−import Test.Tasty.Hspec
8−
9−import Data.TypeRep.CacheMap (TF (..), fromList, lookup)
8+import Data.TypeRep.CacheMap (TF (..), TypeRepMap, empty, fromList, insert, lookup, size)
109
1110-- Simple test for 'lookup', 'insert' and 'size' functions.
1211spec_insertLookup :: Spec
@@ -17,25 +16,25 @@ spec_insertLookup = do
1716 -- it "returns the second inserted value of the same type" $
1817 -- lookup (fromList [TF (Identity 'b'), TF (Identity 'a')]) `shouldBe` Just (Identity 'b')
1918
20−-- describe "Size Test" $ do
21−-- it "is empty" $
22−-- size empty `shouldBe` 0
23−-- it "is of size 1 when 1 element inserted" $
24−-- size (insert (Identity 'a') empty) `shouldBe` 1
25−-- it "doesn't increase size when element of the same type is added" $
26−-- size (insert (Identity 'b') $ insert (Identity 'a') empty) `shouldBe` 1
27−-- it "returns 10 when 10 different types are inserted" $
28−-- size mapOf10 `shouldBe` 10
29−--
30−--
31−--mapOf10 :: TypeRepMap Identity
32−--mapOf10 = insert (Identity True)
33−-- $ insert (Identity [True, False])
34−-- $ insert (Identity $ Just True)
35−-- $ insert (Identity $ Just ())
36−-- $ insert (Identity [()])
37−-- $ insert (Identity ())
38−-- $ insert (Identity "aaa")
39−-- $ insert (Identity $ Just 'a')
40−-- $ insert (Identity 'a')
41−-- $ insert (Identity (11 :: Int)) empty
19+ describe "Size Test" $ do
20+ it "is empty" $
21+ size empty `shouldBe` 0
22+ it "is of size 1 when 1 element inserted" $
23+ size (insert (Identity 'a') empty) `shouldBe` 1
24+ it "doesn't increase size when element of the same type is added" $
25+ size (insert (Identity 'b') $ insert (Identity 'a') empty) `shouldBe` 1
26+ it "returns 10 when 10 different types are inserted" $
27+ size mapOf10 `shouldBe` 10
28+
29+
30+mapOf10 :: TypeRepMap Identity
31+mapOf10 = insert (Identity True)
32+ $ insert (Identity [True, False])
33+ $ insert (Identity $ Just True)
34+ $ insert (Identity $ Just ())
35+ $ insert (Identity [()])
36+ $ insert (Identity ())
37+ $ insert (Identity "aaa")
38+ $ insert (Identity $ Just 'a')
39+ $ insert (Identity 'a')
40+ $ insert (Identity (11 :: Int)) empty