def test_empty(self): """Start with an empty object""" x = PropertyDict() self.assertIsNone(x.couch) self.assertIsNone(x.potato) x.couch = self.dict_b x.potato = self.dict_a self.assertEqual(x.couch.z.a, 7) self.assertEqual(x.couch.zz.b, 8) self.assertEqual(x.couch.z['a'], 7) self.assertEqual(x.couch.zz['b'], 8) self.assertEqual(x.couch['z'].a, 7) self.assertEqual(x.couch['zz'].b, 8) self.assertEqual(x.couch['z']['a'], 7) self.assertEqual(x.couch['zz']['b'], 8) self.assertEqual(x['couch'].z.a, 7) self.assertEqual(x['couch'].zz.b, 8) self.assertEqual(x['couch'].z['a'], 7) self.assertEqual(x['couch'].zz['b'], 8) self.assertEqual(x['couch']['z'].a, 7) self.assertEqual(x['couch']['zz'].b, 8) self.assertEqual(x['couch']['z']['a'], 7) self.assertEqual(x['couch']['zz']['b'], 8) self.assertEqual(x.potato.a, 1) self.assertEqual(x.potato['a'], 1) self.assertEqual(x.potato.b, 2) self.assertEqual(x.potato['b'], 2) self.assertEqual(x.potato.c[0], 3) self.assertEqual(x.potato.c[1], 4) self.assertEqual(x.potato.c[2], 5) self.assertEqual(x.potato['c'][0], 3) self.assertEqual(x.potato['c'][1], 4) self.assertEqual(x.potato['c'][2], 5) self.assertEqual(x.potato.d[0].a, 1) self.assertEqual(x.potato.d[1].b, 2) self.assertEqual(x.potato.d[0]['a'], 1) self.assertEqual(x.potato.d[1]['b'], 2) self.assertEqual(x.potato['d'][0].a, 1) self.assertEqual(x.potato['d'][1].b, 2) self.assertEqual(x.potato['d'][0]['a'], 1) self.assertEqual(x.potato['d'][1]['b'], 2) self.assertEqual(x['potato'].a, 1) self.assertEqual(x['potato']['a'], 1) self.assertEqual(x['potato'].b, 2) self.assertEqual(x['potato']['b'], 2) self.assertEqual(x['potato'].c[0], 3) self.assertEqual(x['potato'].c[1], 4) self.assertEqual(x['potato'].c[2], 5) self.assertEqual(x['potato']['c'][0], 3) self.assertEqual(x['potato']['c'][1], 4) self.assertEqual(x['potato']['c'][2], 5) self.assertEqual(x['potato'].d[0].a, 1) self.assertEqual(x['potato'].d[1].b, 2) self.assertEqual(x['potato'].d[0]['a'], 1) self.assertEqual(x['potato'].d[1]['b'], 2) self.assertEqual(x['potato']['d'][0].a, 1) self.assertEqual(x['potato']['d'][1].b, 2) self.assertEqual(x['potato']['d'][0]['a'], 1) self.assertEqual(x['potato']['d'][1]['b'], 2)