def test_get_good_key(self): b = Bucket() b._vals = [('a', 12), ('x', 'asdf'), (4, False), (-1, True)] self.assertEqual(b['a'], 12) self.assertEqual(b[-1], True) self.assertEqual(b[4], False) self.assertEqual(b['x'], 'asdf')
def test_del_non_exist(self): b = Bucket() b._vals = [('z', 4), (4, 38), (12, '17'), (18, 2)] thrown = False try: b['f'] except KeyError as e: thrown = True self.assertTrue(thrown) b._vals = [] thrown = False try: b[4] except KeyError as e: thrown = True self.assertTrue(thrown)
def test_set_overwrite(self): b = Bucket() b._vals = [('z', 4), (4, 38), (12, '17')] b[4] = 'z' self.assertEqual(b._vals, [('z', 4), (4, 'z'), (12, '17')]) b['z'] = 1009 self.assertEqual(b._vals, [('z', 1009), (4, 'z'), (12, '17')]) b[12] = False self.assertEqual(b._vals, [('z', 1009), (4, 'z'), (12, False)])
def test_del(self): b = Bucket() b._vals = [('z', 4), (4, 38), (12, '17'), (18, 2)] del b[4] self.assertEqual(b._vals, [('z', 4), (12, '17'), (18, 2)]) del b[18] self.assertEqual(b._vals, [('z', 4), (12, '17')]) del b['z'] self.assertEqual(b._vals, [(12, '17')]) del b[12] self.assertEqual(b._vals, [])
def test_get_bad_key(self): b = Bucket() thrown = False try: b[''] except KeyError as e: thrown = True self.assertTrue(thrown) b._vals = [('b', 1)] thrown = False try: b['a'] except KeyError as e: thrown = True self.assertTrue(thrown)