@@ -39,3 +39,13 @@ spec = do
3939 `shouldBe` (Rec (#u := True, #a := 8))
4040 setA2 (Rec (#u := True, #a := 5, #b := 6))
4141 `shouldBe` (Rec (#u := True, #a := 8, #b := 6))
42+ describe "union" $ do
43+ it "simple union" $ do
44+ Rec (#a := 1) `union` Rec (#b := 2)
45+ `shouldBe` Rec (#a := 1, #b := 2)
46+ it "union with duplicates (not implemented)" $ do
47+ -- TODO: Actually remove duplicates
48+ let r1 = Rec (#b := 5, #a := 6)
49+ r2 = Rec (#c := 7, #a := 8)
50+ r1 `union` r2
51+ `shouldBe` Rec (#b := 5, #a := 8, #c := 7, #a := 8)