def test_pop(self): set1 = OrderedSet('ab') elem = set1.pop() self.assertEqual(elem, 'b') elem = set1.pop() self.assertEqual(elem, 'a') self.assertRaises(KeyError, set1.pop)
def test_binary_operations(self): set1 = OrderedSet('abracadabra') set2 = OrderedSet('simsalabim') self.assertNotEqual(set1, set2) self.assertEqual(set1 & set2, OrderedSet(['a', 'b'])) self.assertEqual( set1 | set2, OrderedSet(['a', 'b', 'r', 'c', 'd', 's', 'i', 'm', 'l'])) self.assertEqual(set1 - set2, OrderedSet(['r', 'c', 'd']))
def test_remove(self): set1 = OrderedSet('abracadabra') set1.remove('a') set1.remove('b') self.assertEqual(set1, OrderedSet('rcd')) self.assertNotIn('a', set1) self.assertNotIn('b', set1) self.assertIn('r', set1) set1.discard('a') set1.discard('a')
def media(self): unique_css = OrderedSet() unique_js = OrderedSet() for js in getattr(self.Media, 'js', ()): unique_js.add(js) for css in getattr(self.Media, 'css', ()): unique_css.add(css) for module in self.modules: for js in getattr(module.Media, 'js', ()): unique_js.add(js) for css in getattr(module.Media, 'css', ()): unique_css.add(css) class Media: css = list(unique_css) js = list(unique_js) return Media
def media(self): unique_css = OrderedSet() unique_js = OrderedSet() for js in getattr(self.Media, "js", ()): unique_js.add(js) for css in getattr(self.Media, "css", ()): unique_css.add(css) for module in self.modules: for js in getattr(module.Media, "js", ()): unique_js.add(js) for css in getattr(module.Media, "css", ()): unique_css.add(css) class Media: css = list(unique_css) js = list(unique_js) return Media
def test_clear(self): set1 = OrderedSet('abracadabra') set1.clear() self.assertEqual(len(set1), 0) self.assertEqual(set1, OrderedSet())
def test_remove_error(self): set1 = OrderedSet('abracadabra') try: set1.remove('z') except KeyError: pass
def test_pickle(self): set1 = OrderedSet('abracadabra') roundtrip = pickle.loads(pickle.dumps(set1)) self.assertEqual(roundtrip, set1)
def test_order(self): set1 = OrderedSet('abracadabra') self.assertEqual(len(set1), 5) self.assertEqual(set1, OrderedSet(['a', 'b', 'r', 'c', 'd'])) self.assertEqual(list(reversed(set1)), ['d', 'c', 'r', 'b', 'a'])
def test_empty_pickle(self): empty_oset = OrderedSet() empty_roundtrip = pickle.loads(pickle.dumps(empty_oset)) self.assertEqual(empty_roundtrip, empty_oset)