1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
{-# LANGUAGE OverloadedStrings #-}
module UnitTests.KeyMapInsertWith (keyMapInsertWithTests) where
import Test.Tasty (TestTree)
import Test.Tasty.HUnit (testCase, (@?=))
import qualified Data.Aeson.KeyMap as KM
keyMapInsertWithTests :: TestTree
keyMapInsertWithTests = testCase "KeyMap.insertWith" $ do
KM.insertWith (-) "a" 2 (KM.fromList [("a", 1)]) @?= KM.fromList [("a",1 :: Int)]
KM.insertWith (flip (-)) "a" 2 (KM.fromList [("a", 1)]) @?= KM.fromList [("a",-1 :: Int)]
KM.insertWith (-) "b" 2 (KM.fromList [("a", 1)]) @?= KM.fromList [("a",1),("b",2 :: Int)]
KM.insertWith (-) "b" 2 KM.empty @?= KM.fromList [("b",2 :: Int)]
|