def test_setitem(self): """ Tests __setitem__ method of AttribDict class. """ # 1 ad = AttribDict() ad['test'] = 'NEW' self.assertEqual(ad['test'], 'NEW') self.assertEqual(ad.test, 'NEW') self.assertEqual(ad.get('test'), 'NEW') self.assertEqual(ad.__getattr__('test'), 'NEW') self.assertEqual(ad.__getitem__('test'), 'NEW') self.assertEqual(ad.__dict__['test'], 'NEW') self.assertEqual(ad.__dict__.get('test'), 'NEW') self.assertTrue('test' in ad) self.assertTrue('test' in ad.__dict__) # 2 ad = AttribDict() ad.__setitem__('test', 'NEW') self.assertEqual(ad['test'], 'NEW') self.assertEqual(ad.test, 'NEW') self.assertEqual(ad.get('test'), 'NEW') self.assertEqual(ad.__getattr__('test'), 'NEW') self.assertEqual(ad.__getitem__('test'), 'NEW') self.assertEqual(ad.__dict__['test'], 'NEW') self.assertEqual(ad.__dict__.get('test'), 'NEW') self.assertTrue('test' in ad) self.assertTrue('test' in ad.__dict__)
def test_setdefault(self): """ Tests setdefault method of AttribDict class. """ ad = AttribDict() # 1 default = ad.setdefault('test', 'NEW') self.assertEqual(default, 'NEW') self.assertEqual(ad['test'], 'NEW') self.assertEqual(ad.test, 'NEW') self.assertEqual(ad.get('test'), 'NEW') self.assertEqual(ad.__getattr__('test'), 'NEW') self.assertEqual(ad.__getitem__('test'), 'NEW') self.assertEqual(ad.__dict__['test'], 'NEW') self.assertEqual(ad.__dict__.get('test'), 'NEW') self.assertTrue('test' in ad) self.assertTrue('test' in ad.__dict__) # 2 - existing key should not be overwritten default = ad.setdefault('test', 'SOMETHINGDIFFERENT') self.assertEqual(default, 'NEW') self.assertEqual(ad['test'], 'NEW') self.assertEqual(ad.test, 'NEW') self.assertEqual(ad.get('test'), 'NEW') self.assertEqual(ad.__getattr__('test'), 'NEW') self.assertEqual(ad.__getitem__('test'), 'NEW') self.assertEqual(ad.__dict__['test'], 'NEW') self.assertEqual(ad.__dict__.get('test'), 'NEW') self.assertTrue('test' in ad) self.assertTrue('test' in ad.__dict__) # 3 - default value isNone ad = AttribDict() default = ad.setdefault('test') self.assertEqual(default, None) self.assertEqual(ad['test'], None) self.assertEqual(ad.test, None) self.assertEqual(ad.get('test'), None) self.assertEqual(ad.__getattr__('test'), None) self.assertEqual(ad.__getitem__('test'), None) self.assertEqual(ad.__dict__['test'], None) self.assertEqual(ad.__dict__.get('test'), None) self.assertTrue('test' in ad) self.assertTrue('test' in ad.__dict__)
def test_init(self): """ Tests initialization of AttribDict class. """ ad = AttribDict({'test': 'NEW'}) self.assertEqual(ad['test'], 'NEW') self.assertEqual(ad.test, 'NEW') self.assertEqual(ad.get('test'), 'NEW') self.assertEqual(ad.__getattr__('test'), 'NEW') self.assertEqual(ad.__getitem__('test'), 'NEW') self.assertEqual(ad.__dict__['test'], 'NEW') self.assertEqual(ad.__dict__.get('test'), 'NEW') self.assertTrue('test' in ad) self.assertTrue('test' in ad.__dict__)