def test_self_referential_dictionary(self): s1 = NSString.stringWithString_('hello') s2 = NSString.stringWithString_('world') a = NSMutableDictionary.dictionary() a.setValue_forKey_(s1, s2) a.setValue_forKey_(a, s1) buf = self.dumps(a) self.assertIsInstance(buf, NSData) b = self.loads(buf) self.assertEqual(b.valueForKey_(s2), s1) self.assertIs(b.valueForKey_(s1), b)
def test_self_referential_array(self): s1 = NSString.stringWithString_('hello') s2 = NSString.stringWithString_('world') a = NSMutableArray.arrayWithArray_([s1, s2]) a.addObject_(a) buf = self.dumps(a) self.assertIsInstance(buf, NSData) b = self.loads(buf) self.assertEqual(b[0], s1) self.assertEqual(b[1], s2) self.assertIs(b[2], b)