32 lines
914 B
Haskell

{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE OverloadedRecordDot #-}
{-# HLINT ignore "Use const" #-}
{-# HLINT ignore "Unused LANGUAGE pragma" #-}
{-# HLINT ignore "Avoid lambda" #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
module Test.Utility.UtilitySpec where
import Test.Hspec
import Utility.Utility
import qualified Data.Map as Map
import Data.Map
spec :: Spec
spec = do
describe "UtilitySpec" do
it "..." $ do
uncharacteristic <$> (allMaps [1, 2, 3] [True, False]) `shouldMatchList` [
[1,2,3], [1,2], [1,3], [1], [2, 3], [2], [3], []
]
uncharacteristic :: forall a . Map a Bool -> [a]
uncharacteristic intmap = [ x | (x, v) <- toList intmap, v ]