{-# 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 ]