def test_union_with_iterable(self): oset1 = OrderedSet([1]) self.assertEqual(oset1.union([2, 1]), OrderedSet([1, 2])) self.assertEqual( OrderedSet([1, 2]) | OrderedSet([3, 1, 2, 4]), OrderedSet([1, 2, 3, 4])) # union with unordered set should work, # though the order will be arbitrary self.assertEqual(oset1.union(set([2])), OrderedSet([1, 2]))
def test_union_and_update(self): oset = OrderedSet(self.lst) lst = self.lst oset2 = oset.union([3, 9, 27]) self.assertEqual(oset2, OrderedSet(lst + [27])) # make sure original oset isn't changed self.assertEqual(oset, OrderedSet(lst)) oset1 = OrderedSet(self.lst) oset2 = OrderedSet(self.lst) oset3 = oset1 | oset2 self.assertEqual(oset3, oset1) self.assertEqual(oset3, oset1.union(oset2)) oset1 |= OrderedSet("abc") self.assertEqual(oset1, oset2.union("abc")) oset1 = OrderedSet(self.lst) oset1.update("abc") self.assertEqual(oset1, oset2.union("abc"))