{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Headroom.TypesSpec ( spec ) where import Headroom.Variables ( mkVariables ) import RIO import Test.Hspec spec :: Spec spec = do describe "Semigroup Variables" $ do it "combines two instances of variables" $ do let sample1 = mkVariables [("fst", "v1"), ("snd", "v1")] sample2 = mkVariables [("snd", "v2"), ("trd", "v1")] expected = mkVariables [("trd", "v1"), ("snd", "v2"), ("fst", "v1")] (sample1 <> sample2) `shouldBe` expected