Example #1
0
 def test_set(self):
     convert = TypedDict(mydict)
     convert.a = 8  # works
     assert convert.a == 8
     convert['b'] = 9.3  # works
     assert convert['b'] == 9
     assert convert.b == convert['b']
Example #2
0
 def test_descriptor(self):
     venum = TypedEnum(abc)
     data = dict(mydict)
     data['enum'] = venum
     data = TypedDict(data)
     data.enum = 1
     self.assertEqual(data.enum, 'b')
     self.assertRaises(ValueError, data.__setattr__, 'enum', 'z')
Example #3
0
 def test_set_update(self):
     '''Makes sure that object can set values like "update" that are
     also attributes (through item assignment)'''
     udict = deepcopy(mydict)
     udict['update'] = 'start'
     attrdict = TypedDict(udict)
     self.assertEqual(attrdict['update'], 'start')
     attrdict['update'] = 'hi'
     self.assertNotEqual(attrdict.update, 'hi')
     self.assertEqual(attrdict['update'], 'hi')
     attrdict.update({
         'update': 'hello'
     })
     self.assertNotEqual(attrdict.update, 'hello')
     self.assertEqual(attrdict['update'], 'hello')
Example #4
0
 def test_readonly(self):
     frozen = TypedDict(mydict)
     frozen.readonly = True
     self.assertRaises(TypeError, setattr, frozen, 'a', 5)
     self.assertRaises(TypeError, setattr, frozen, 'own', TypedDict({}))
     self.assertRaises(TypeError, setattr, frozen, 'own', {})