Remove Trie, I couldn't use it after all
This commit is contained in:
@ -2,8 +2,5 @@ module Main where
|
||||
|
||||
import Test.Hspec (hspec)
|
||||
|
||||
import qualified Test.Data.Trie as Data.Trie
|
||||
|
||||
main :: IO ()
|
||||
main = hspec $
|
||||
Data.Trie.spec
|
||||
main = hspec $ pure ()
|
||||
|
@ -1,32 +0,0 @@
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
module Test.Data.Trie where
|
||||
|
||||
import Test.Hspec
|
||||
import Test.Hspec.Hedgehog
|
||||
import Data.ByteString (ByteString)
|
||||
import qualified Hedgehog.Gen as Gen
|
||||
import qualified Hedgehog.Range as Range
|
||||
|
||||
import qualified Data.Map.Strict as M
|
||||
import Control.Monad.State (evalStateT, foldM, execStateT, StateT (runStateT))
|
||||
import qualified Data.Foldable as F
|
||||
import qualified Data.Trie as Trie
|
||||
import Data.Monoid
|
||||
|
||||
genByteString :: Gen ByteString
|
||||
genByteString = Gen.bytes (Range.linear 0 50)
|
||||
|
||||
genModel :: Gen (M.Map ByteString (Sum Int))
|
||||
genModel = Gen.map (Range.linear 0 30) genT
|
||||
where
|
||||
genT = (,) <$> genByteString <*> (Sum <$> Gen.integral (Range.linear 0 1000))
|
||||
|
||||
propInsert :: PropertyT IO ()
|
||||
propInsert = do
|
||||
model <- forAll genModel
|
||||
let got = F.foldl' (\acc (k,v) -> Trie.insert k v acc) Trie.empty $ M.toList model
|
||||
model === M.fromList (Trie.toList got)
|
||||
|
||||
spec :: Spec
|
||||
spec = describe "Data.Trie" $
|
||||
it "inserts as with Map" $ hedgehog propInsert
|
Reference in New Issue
Block a user