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_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_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_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)
    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)