@@ -98,17 +98,29 @@ def _union_test(ctx):
9898 """Unit tests for sets.union."""
9999 env = unittest .begin (ctx )
100100
101- asserts .new_set_equals (env , sets .make (), sets .union ())
102- asserts .new_set_equals (env , sets .make ([1 ]), sets .union (sets .make ([1 ])))
103- asserts .new_set_equals (env , sets .make (), sets .union (sets .make (), sets .make ()))
104- asserts .new_set_equals (env , sets .make ([1 ]), sets .union (sets .make (), sets .make ([1 ])))
105- asserts .new_set_equals (env , sets .make ([1 ]), sets .union (sets .make ([1 ]), sets .make ()))
106- asserts .new_set_equals (env , sets .make ([1 ]), sets .union (sets .make ([1 ]), sets .make ([1 ])))
107- asserts .new_set_equals (env , sets .make ([1 , 2 ]), sets .union (sets .make ([1 ]), sets .make ([1 , 2 ])))
108- asserts .new_set_equals (env , sets .make ([1 , 2 ]), sets .union (sets .make ([1 ]), sets .make ([2 ])))
101+ s = sets .make ()
102+ s = sets .mutable_union (s , sets .make ())
103+ asserts .new_set_equals (env , sets .make (), s )
104+ s = sets .make ()
105+ s = sets .mutable_union (s , sets .make ([1 ]))
106+ asserts .new_set_equals (env , sets .make ([1 ]), s )
107+ s = sets .make ([1 ])
108+ s = sets .mutable_union (s , sets .make ())
109+ asserts .new_set_equals (env , sets .make ([1 ]), s )
110+ s = sets .make ([1 ])
111+ s = sets .mutable_union (s , sets .make ([1 ]))
112+ asserts .new_set_equals (env , sets .make ([1 ]), s )
113+ s = sets .make ([1 ])
114+ s = sets .mutable_union (s , sets .make ([1 , 2 ]))
115+ asserts .new_set_equals (env , sets .make ([1 , 2 ]), s )
116+ s = sets .make ([1 ])
117+ s = sets .mutable_union (s , sets .make ([2 ]))
118+ asserts .new_set_equals (env , sets .make ([1 , 2 ]), s )
109119
110120 # If passing a list, verify that duplicate elements are ignored.
111- asserts .new_set_equals (env , sets .make ([1 , 2 ]), sets .union (sets .make ([1 , 1 ]), sets .make ([1 , 2 ])))
121+ s = sets .make ([1 , 1 ])
122+ s = sets .mutable_union (s , sets .make ([1 , 2 ]))
123+ asserts .new_set_equals (env , sets .make ([1 , 2 ]), s )
112124
113125 return unittest .end (env )
114126
@@ -132,6 +144,38 @@ def _difference_test(ctx):
132144
133145difference_test = unittest .make (_difference_test )
134146
147+ def _mutable_difference_test (ctx ):
148+ """Unit tests for sets.difference."""
149+ env = unittest .begin (ctx )
150+
151+ s = sets .make ()
152+ s = sets .mutable_difference (s , sets .make ())
153+ asserts .new_set_equals (env , sets .make (), s )
154+ s = sets .make ()
155+ s = sets .mutable_difference (s , sets .make ([1 ]))
156+ asserts .new_set_equals (env , sets .make (), s )
157+ s = sets .make ([1 ])
158+ s = sets .mutable_difference (s , sets .make ())
159+ asserts .new_set_equals (env , sets .make ([1 ]), s )
160+ s = sets .make ([1 ])
161+ s = sets .mutable_difference (s , sets .make ([1 ]))
162+ asserts .new_set_equals (env , sets .make (), s )
163+ s = sets .make ([1 ])
164+ s = sets .mutable_difference (s , sets .make ([1 , 2 ]))
165+ asserts .new_set_equals (env , sets .make (), s )
166+ s = sets .make ([1 ])
167+ s = sets .mutable_difference (s , sets .make ([2 ]))
168+ asserts .new_set_equals (env , sets .make ([1 ]), s )
169+
170+ # If passing a list, verify that duplicate elements are ignored.
171+ s = sets .make ([1 , 2 ])
172+ s = s .mutable_difference (s , sets .make ([1 , 1 ]))
173+ asserts .new_set_equals (env , sets .make ([2 ]), s )
174+
175+ return unittest .end (env )
176+
177+ mutable_difference_test = unittest .make (_mutable_difference_test )
178+
135179def _to_list_test (ctx ):
136180 """Unit tests for sets.to_list."""
137181 env = unittest .begin (ctx )
0 commit comments