def testValueForKeyPath(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEqual( STUB.keyValue_forObject_key_(1, o, b"multiple".decode("ascii")), o._values["multiple"], ) self.assertEqual( STUB.keyValue_forObject_key_(1, o, b"multiple.level2".decode("ascii")), o._values["multiple"]._values["level2"], ) self.assertEqual( STUB.keyValue_forObject_key_( 1, o, b"multiple.level2.level3.keyA".decode("ascii")), o._values["multiple"]._values["level2"]._values["level3"]. _values["keyA"], ) self.assertEqual( STUB.keyValue_forObject_key_( 1, o, b"multiple.level2.level3.keyB".decode("ascii")), o._values["multiple"]._values["level2"]._values["level3"]. _values["keyB"], ) self.assertRaises( KeyError, STUB.keyValue_forObject_key_, 1, o, b"multiple.level2.nokey".decode("ascii"), )
def testKVO2(self): """ Check if observations work for python-based keys on ObjC classes """ observer = KeyValueObserver.alloc().init() self.assertEqual(observer.observed, []) o = KeyValueClass1.alloc().init() o.addObserver_forKeyPath_options_context_(observer, b"key3".decode("ascii"), 0, 0) try: STUB.setKeyValue_forObject_key_value_(2, o, b"key3".decode("ascii"), b"drie".decode("ascii")) self.assertEqual(o.key3, b"drie".decode("ascii")) self.assertEqual(len(observer.observed), 1) keyPath, object, change = observer.observed[0] self.assertEqual(keyPath, b"key3".decode("ascii")) self.assertIs(object, o) self.assertEqual(change, {NSKeyValueChangeKindKey: 1}) finally: o.removeObserver_forKeyPath_(observer, b"key3".decode("ascii"))
def testKVO3(self): """ Check if observations work for python-based keys on ObjC classes """ observer = KeyValueObserver.alloc().init() self.assertEqual(observer.observed, []) o = KeyValueClass1.alloc().init() STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'three'.decode('ascii')) o.addObserver_forKeyPath_options_context_( observer, b"key3".decode('ascii'), NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld, 0) try: STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'drie'.decode('ascii')) self.assertEqual(o.key3, b"drie".decode('ascii')) self.assertEqual(len(observer.observed), 1) keyPath, object, change = observer.observed[0] self.assertEqual(keyPath, b"key3".decode('ascii')) self.assert_(object is o) self.assertEqual( change, { NSKeyValueChangeKindKey: 1, NSKeyValueChangeNewKey: b'drie'.decode('ascii'), NSKeyValueChangeOldKey: b'three'.decode('ascii') }) finally: o.removeObserver_forKeyPath_(observer, b'key3'.decode('ascii'))
def testBytes(self): r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1) b = PyObjC_TestClass3.getBytes_(r) self.assertEquals(str(b.bytes()), 'hello world') self.assertEquals(b.getBytes_length_(None, 4), 'hell') self.assertEquals(b.getBytes_range_(None, NSRange(2, 4)), 'llo ')
def testKVO3(self): """ Check if observations work for python-based keys on ObjC classes """ observer = KeyValueObserver.alloc().init() self.assertEquals(observer.observed, []) o = KeyValueClass1.alloc().init() STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'three') o.addObserver_forKeyPath_options_context_(observer, u"key3", NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld, 0) try: STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie') self.assertEquals(o.key3, u"drie") self.assertEquals(len(observer.observed), 1) keyPath, object, change = observer.observed[0] self.assertEquals(keyPath, u"key3") self.assert_(object is o) self.assertEquals(change, { NSKeyValueChangeKindKey:1, NSKeyValueChangeNewKey:u'drie', NSKeyValueChangeOldKey:u'three' }) finally: o.removeObserver_forKeyPath_(observer, u'key3')
def testKVO3(self): """ Check if observations work for python-based keys on ObjC classes """ observer = KeyValueObserver.alloc().init() self.assertEqual(observer.observed, []) o = KeyValueClass1.alloc().init() STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'three'.decode('ascii')) o.addObserver_forKeyPath_options_context_(observer, b"key3".decode('ascii'), NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld, 0) try: STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'drie'.decode('ascii')) self.assertEqual(o.key3, b"drie".decode('ascii')) self.assertEqual(len(observer.observed), 1) keyPath, object, change = observer.observed[0] self.assertEqual(keyPath, b"key3".decode('ascii')) self.assert_(object is o) self.assertEqual(change, { NSKeyValueChangeKindKey:1, NSKeyValueChangeNewKey:b'drie'.decode('ascii'), NSKeyValueChangeOldKey:b'three'.decode('ascii') }) finally: o.removeObserver_forKeyPath_(observer, b'key3'.decode('ascii'))
def testTakeValueForKeyPath(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEqual( o._values["multiple"]._values["level2"]._values["level3"]. _values["keyA"], "hello", ) self.assertEqual( o._values["multiple"]._values["level2"]._values["level3"]. _values["keyB"], "world", ) STUB.setKeyValue_forObject_key_value_(1, o, "multiple.level2.level3.keyA", "KeyAValue") self.assertEqual( o._values["multiple"]._values["level2"]._values["level3"]. _values["keyA"], "KeyAValue", ) STUB.setKeyValue_forObject_key_value_(1, o, "multiple.level2.level3.keyB", 9.999) self.assertEqual( o._values["multiple"]._values["level2"]._values["level3"]. _values["keyB"], 9.999, )
def testTakeValuesFromDictionary(self): o = KeyValueClass1.alloc().init() self.assertEqual(o.key3, 3) self.assertEqual(o._key4, b"4".decode("ascii")) o.key5 = 1 self.assertNotHasAttr(o, b"key9".decode("ascii")) STUB.setKeyValue_forObject_key_value_( 3, o, None, { b"key3".decode("ascii"): b"drie".decode("ascii"), b"key4".decode("ascii"): b"vier".decode("ascii"), b"key5".decode("ascii"): b"V".decode("ascii"), b"key9".decode("ascii"): b"IX".decode("ascii"), }, ) self.assertEqual(o.key3, b"drie".decode("ascii")) self.assertEqual(o._key4, b"viervierviervier".decode("ascii")) self.assertEqual(o.key5, b"VVVVV".decode("ascii")) self.assertHasAttr(o, b"key9".decode("ascii")) self.assertEqual(o.key9, b"IX".decode("ascii"))
def testKVO3(self): """ Check if observations work for python-based keys on ObjC classes """ observer = KeyValueObserver.alloc().init() self.assertEquals(observer.observed, []) o = KeyValueClass1.alloc().init() STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'three') o.addObserver_forKeyPath_options_context_( observer, u"key3", NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld, 0) try: STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie') self.assertEquals(o.key3, u"drie") self.assertEquals(len(observer.observed), 1) keyPath, object, change = observer.observed[0] self.assertEquals(keyPath, u"key3") self.assert_(object is o) self.assertEquals( change, { NSKeyValueChangeKindKey: 1, NSKeyValueChangeNewKey: u'drie', NSKeyValueChangeOldKey: u'three' }) finally: o.removeObserver_forKeyPath_(observer, u'key3')
def testBytes(self): r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1) b = PyObjC_TestClass3.getBytes_(r) self.assertEquals(str(b.bytes()), 'hello world') self.assertEquals(b.getBytes_length_(None, 4), 'hell') self.assertEquals(b.getBytes_range_(None, NSRange(2, 4)), 'llo ')
def testTakeValuesFromDictionary(self): o = KeyValueClass1Explicit.alloc().init() self.assertEqual(o._values["key3"], 3) self.assertEqual(o._values["key4"], b"4".decode("ascii")) o._values["key5"] = 1 self.assertNotIn("key9", o._values) STUB.setKeyValue_forObject_key_value_( 3, o, None, { b"key3".decode("ascii"): b"drie".decode("ascii"), b"key4".decode("ascii"): b"vier".decode("ascii"), b"key5".decode("ascii"): b"V".decode("ascii"), b"key9".decode("ascii"): b"IX".decode("ascii"), }, ) self.assertEqual(o._values["key3"], b"drie".decode("ascii")) self.assertEqual(o._values["key4"], b"viervierviervier".decode("ascii")) self.assertEqual(o._values["key5"], b"VVVVV".decode("ascii")) self.assertEqual(o._values["key9"], b"IX".decode("ascii"))
def testStoredValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEqual(STUB.keyValue_forObject_key_(2, o, "foo"), "foobar") self.assertEqual(STUB.keyValue_forObject_key_(2, o, "bar"), "foobarfoobar") self.assertEqual(STUB.keyValue_forObject_key_(2, o, "roprop"), "read-only")
def testTakeValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEqual(o.foo, b"foobar".decode('ascii')) STUB.setKeyValue_forObject_key_value_(0, o, b'foo'.decode('ascii'), b'FOO'.decode('ascii')) self.assertEqual(o.foo, b"FOO".decode('ascii')) self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0, o, b'key9'.decode('ascii'), b'IX'.decode('ascii'))
def testTakeValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEquals(o.foo, u"foobar") STUB.setKeyValue_forObject_key_value_(0, o, u'foo', u'FOO') self.assertEquals(o.foo, u"FOO") self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0, o, u'key9', u'IX')
def testTakeValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEqual(o.foo, "foobar") STUB.setKeyValue_forObject_key_value_(0, o, "foo", "FOO") self.assertEqual(o.foo, "FOO") self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0, o, "key9", "IX")
def testValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"foo"), u"foobar") self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"bar"), u"foobarfoobar") self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"roprop"), u"read-only")
def testTakeValuesFromDictionary2(self): o = KeyValueClass4.alloc().init() self.assertEquals(o.foo, u"foobar") STUB.setKeyValue_forObject_key_value_(3, o, None, { u'foo': u'FOO' }) self.assertEquals(o.foo, u"FOO") self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { u'key9': u'IX' }) self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { u'roprop': u'IX' })
def testTakeValuesFromDictionary2(self): o = KeyValueClass4.alloc().init() self.assertEqual(o.foo, b"foobar".decode('ascii')) STUB.setKeyValue_forObject_key_value_(3, o, None, { b'foo'.decode('ascii'): b'FOO'.decode('ascii') }) self.assertEqual(o.foo, b"FOO".decode('ascii')) self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { b'key9'.decode('ascii'): b'IX'.decode('ascii') }) self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, { b'roprop'.decode('ascii'): b'IX'.decode('ascii') })
def testTakeValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEquals(o.foo, u"foobar") STUB.setKeyValue_forObject_key_value_(0, o, u'foo', u'FOO') self.assertEquals(o.foo, u"FOO") self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 0, o, u'key9', u'IX')
def testTakeValuesFromDictionary2(self): o = KeyValueClass4.alloc().init() self.assertEquals(o.foo, u"foobar") STUB.setKeyValue_forObject_key_value_(3, o, None, {u'foo': u'FOO'}) self.assertEquals(o.foo, u"FOO") self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, {u'key9': u'IX'}) self.assertRaises(KeyError, STUB.setKeyValue_forObject_key_value_, 3, o, None, {u'roprop': u'IX'})
def testStoredValueForKey(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key1".decode('ascii')), 1) self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key2".decode('ascii')), 2) self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key3".decode('ascii')), 3) self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key4".decode('ascii')), "4") self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"multiple".decode('ascii')), o.multiple) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o, b"nokey".decode('ascii'))
def testStoredValueForKey(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key1"), 1) self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key2"), 2) self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key3"), 3) self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key4"), "4") self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"multiple"), o._values['multiple']) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o, u"nokey")
def testStoredValueForKey(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key1".decode('ascii')), 1) self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key2".decode('ascii')), 2) self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key3".decode('ascii')), 3) self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"key4".decode('ascii')), "4") self.assertEqual(STUB.keyValue_forObject_key_(2, o, b"multiple".decode('ascii')), o._values['multiple']) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o, b"nokey".decode('ascii'))
def testValueForKeyPath(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple"), o._values['multiple']) self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2"), o._values['multiple']._values['level2']) self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyA"), o._values['multiple']._values['level2']._values['level3']._values['keyA']) self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyB"), o._values['multiple']._values['level2']._values['level3']._values['keyB']) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, u"multiple.level2.nokey")
def testStoredValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEqual( STUB.keyValue_forObject_key_(2, o, b"foo".decode('ascii')), b"foobar".decode('ascii')) self.assertEqual( STUB.keyValue_forObject_key_(2, o, b"bar".decode('ascii')), b"foobarfoobar".decode('ascii')) self.assertEqual( STUB.keyValue_forObject_key_(2, o, b"roprop".decode('ascii')), b"read-only".decode('ascii'))
def testTakeValueForKeyPath(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyA'], b"hello".decode('ascii')) self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyB'], b"world".decode('ascii')) STUB.setKeyValue_forObject_key_value_(1, o, b"multiple.level2.level3.keyA".decode('ascii'), b"KeyAValue".decode('ascii')) self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyA'], b"KeyAValue".decode('ascii')) STUB.setKeyValue_forObject_key_value_(1, o, b"multiple.level2.level3.keyB".decode('ascii'), 9.999) self.assertEqual(o._values['multiple']._values['level2']._values['level3']._values['keyB'], 9.999)
def testTakeValueForKeyPath(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEquals(o.multiple.level2.level3.keyA, u"hello") self.assertEquals(o.multiple.level2.level3.keyB, u"world") STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyA", u"KeyAValue") self.assertEquals(o.multiple.level2.level3.keyA, u"KeyAValue") STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyB", 9.999) self.assertEquals(o.multiple.level2.level3.keyB, 9.999)
def testTakeValueForKeyPath(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyA'], u"hello") self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyB'], u"world") STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyA", u"KeyAValue") self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyA'], u"KeyAValue") STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyB", 9.999) self.assertEquals(o._values['multiple']._values['level2']._values['level3']._values['keyB'], 9.999)
def testValueForKeyPath(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple".decode('ascii')), o._values['multiple']) self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2".decode('ascii')), o._values['multiple']._values['level2']) self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyA".decode('ascii')), o._values['multiple']._values['level2']._values['level3']._values['keyA']) self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyB".decode('ascii')), o._values['multiple']._values['level2']._values['level3']._values['keyB']) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, b"multiple.level2.nokey".decode('ascii'))
def testValueForKeyPath(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple"), o.multiple) self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2"), o.multiple.level2) self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyA"), o.multiple.level2.level3.keyA) self.assertEquals(STUB.keyValue_forObject_key_(1, o, u"multiple.level2.level3.keyB"), o.multiple.level2.level3.keyB) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, u"multiple.level2.nokey")
def testValueForKey(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key1".decode('ascii')), 1) self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key2".decode('ascii')), 2) self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key3".decode('ascii')), 3) self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key4".decode('ascii')), "4") self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"multiple".decode('ascii')), o._values['multiple']) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, b"nokey".decode('ascii'))
def testBytes(self): r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1) b = PyObjC_TestClass3.getBytes_(r) # Check for memoryview if isinstance(b.bytes(), memoryview): self.assertEqual(b.bytes().tobytes(), b'hello world') else: self.assertEqual(bytes(b.bytes()), b'hello world') self.assertEqual(b.getBytes_length_(None, 4), b'hell') self.assertEqual(b.getBytes_range_(None, NSRange(2, 4)), b'llo ')
def testBytes(self): r = PyObjC_TestClass3.makeDataWithBytes_method_(MyData3, 1) b = PyObjC_TestClass3.getBytes_(r) # Check for memoryview if isinstance(b.bytes(), memoryview): self.assertEqual(b.bytes().tobytes(), b'hello world') else: self.assertEqual(bytes(b.bytes()), b'hello world') self.assertEqual(b.getBytes_length_(None, 4), b'hell') self.assertEqual(b.getBytes_range_(None, NSRange(2, 4)), b'llo ')
def testValueForKeyPath(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple".decode('ascii')), o.multiple) self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2".decode('ascii')), o.multiple.level2) self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyA".decode('ascii')), o.multiple.level2.level3.keyA) self.assertEqual(STUB.keyValue_forObject_key_(1, o, b"multiple.level2.level3.keyB".decode('ascii')), o.multiple.level2.level3.keyB) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 1, o, b"multiple.level2.nokey".decode('ascii'))
def testStoredValueForKey(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key1"), 1) self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key2"), 2) self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key3"), 3) self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"key4"), "4") self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"multiple"), o.multiple) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 2, o, u"nokey")
def testTakeValueForKey(self): o = KeyValueClass1Explicit.alloc().init() self.assertEqual(o._values['key3'], 3) STUB.setKeyValue_forObject_key_value_(0, o, b'key3'.decode('ascii'), b'drie'.decode('ascii')) self.assertEqual(o._values['key3'], b"drie".decode('ascii')) self.assertEqual(o._values['key4'], b"4".decode('ascii')) STUB.setKeyValue_forObject_key_value_(0, o, b'key4'.decode('ascii'), b'vier'.decode('ascii')) self.assert_(not hasattr(o, b"key4".decode('ascii'))) self.assertEqual(o._values['key4'], b"viervierviervier".decode('ascii')) o._values['key5'] = 1 STUB.setKeyValue_forObject_key_value_(0, o, b'key5'.decode('ascii'), b'V'.decode('ascii')) self.assertEqual(o._values['key5'], b"VVVVV".decode('ascii')) self.assert_(not hasattr(o, b'key9'.decode('ascii'))) self.assert_('key9' not in o._values) STUB.setKeyValue_forObject_key_value_(0, o, b'key9'.decode('ascii'), b'IX'.decode('ascii')) self.assert_(not hasattr(o, b'key9'.decode('ascii'))) self.assert_('key9' in o._values) self.assertEqual(o._values['key9'], b'IX'.decode('ascii'))
def testValueForKey(self): o = KeyValueClass1Explicit.alloc().init() o.addMultiple() self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key1"), 1) self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key2"), 2) self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key3"), 3) self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key4"), "4") self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"multiple"), o._values['multiple']) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, u"nokey")
def testTakeValueForKey(self): o = KeyValueClass1Explicit.alloc().init() self.assertEqual(o._values["key3"], 3) STUB.setKeyValue_forObject_key_value_(0, o, b"key3".decode("ascii"), b"drie".decode("ascii")) self.assertEqual(o._values["key3"], b"drie".decode("ascii")) self.assertEqual(o._values["key4"], b"4".decode("ascii")) STUB.setKeyValue_forObject_key_value_(0, o, b"key4".decode("ascii"), b"vier".decode("ascii")) self.assertNotHasAttr(o, b"key4".decode("ascii")) self.assertEqual(o._values["key4"], b"viervierviervier".decode("ascii")) o._values["key5"] = 1 STUB.setKeyValue_forObject_key_value_(0, o, b"key5".decode("ascii"), b"V".decode("ascii")) self.assertEqual(o._values["key5"], b"VVVVV".decode("ascii")) self.assertNotHasAttr(o, b"key9".decode("ascii")) self.assertNotIn("key9", o._values) STUB.setKeyValue_forObject_key_value_(0, o, b"key9".decode("ascii"), b"IX".decode("ascii")) self.assertNotHasAttr(o, b"key9".decode("ascii")) self.assertIn("key9", o._values) self.assertEqual(o._values["key9"], b"IX".decode("ascii"))
def testDictWithObjects(self): o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary2, 0) self.assert_(isinstance(o, tuple)) self.assertEquals(o[2], 4) self.assertEquals(len(o[1]), 4) self.assertEquals(len(o[0]), 4)
def testInitWithObjects(self): o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary1, 1) self.assert_(isinstance(o, MyDictionary1)) self.assertEquals(o._count, 4) self.assertEquals(len(o._keys), 4) self.assertEquals(len(o._objects), 4)
def testTakeValueForKeyPath(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEquals(o.multiple.level2.level3.keyA, u"hello") self.assertEquals(o.multiple.level2.level3.keyB, u"world") STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyA", u"KeyAValue") self.assertEquals(o.multiple.level2.level3.keyA, u"KeyAValue") STUB.setKeyValue_forObject_key_value_(1, o, u"multiple.level2.level3.keyB", 9.999) self.assertEquals(o.multiple.level2.level3.keyB, 9.999)
def testTakeValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEqual(o.foo, b"foobar".decode("ascii")) STUB.setKeyValue_forObject_key_value_(0, o, b"foo".decode("ascii"), b"FOO".decode("ascii")) self.assertEqual(o.foo, b"FOO".decode("ascii")) self.assertRaises( KeyError, STUB.setKeyValue_forObject_key_value_, 0, o, b"key9".decode("ascii"), b"IX".decode("ascii"), )
def testDictWithObjects(self): o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary2, 0) self.assertIsInstance(o, tuple) self.assertEqual(o[2], 4) self.assertEqual(len(o[1]), 4) self.assertEqual(len(o[0]), 4)
def testValuesForKeys(self): o = KeyValueClass1Explicit.alloc().init() self.assertEqual( STUB.keyValue_forObject_key_( 3, o, [ b"key1".decode("ascii"), b"key2".decode("ascii"), b"key3".decode("ascii"), b"key4".decode("ascii"), ], ), { b"key1".decode("ascii"): 1, b"key2".decode("ascii"): 2, b"key3".decode("ascii"): 3, b"key4".decode("ascii"): b"4".decode("ascii"), }, ) self.assertRaises( KeyError, STUB.keyValue_forObject_key_, 3, o, [ b"key1".decode("ascii"), b"key3".decode("ascii"), b"nosuchkey".decode("ascii"), ], )
def testInitWithObjects(self): o = PyObjC_TestClass3.makeDictFromClass_method_(MyDictionary1, 1) self.assertIsInstance(o, MyDictionary1) self.assertEqual(o._count, 4) self.assertEqual(len(o._keys), 4) self.assertEqual(len(o._objects), 4)
def testTakeValuesFromDictionary(self): o = KeyValueClass1Explicit.alloc().init() self.assertEqual(o._values['key3'], 3) self.assertEqual(o._values['key4'], b"4".decode('ascii')) o._values['key5'] = 1 self.assert_('key9' not in o._values) STUB.setKeyValue_forObject_key_value_(3, o, None, { b'key3'.decode('ascii'): b'drie'.decode('ascii'), b'key4'.decode('ascii'): b'vier'.decode('ascii'), b'key5'.decode('ascii'): b'V'.decode('ascii'), b'key9'.decode('ascii'): b'IX'.decode('ascii'), }) self.assertEqual(o._values['key3'], b"drie".decode('ascii')) self.assertEqual(o._values['key4'], b"viervierviervier".decode('ascii')) self.assertEqual(o._values['key5'], b"VVVVV".decode('ascii')) self.assertEqual(o._values['key9'], b'IX'.decode('ascii'))
def testTakeValuesFromDictionary(self): o = KeyValueClass1Explicit.alloc().init() self.assertEquals(o._values['key3'], 3) self.assertEquals(o._values['key4'], u"4") o._values['key5'] = 1 self.assert_('key9' not in o._values) STUB.setKeyValue_forObject_key_value_(3, o, None, { u'key3': u'drie', u'key4': u'vier', u'key5': u'V', u'key9': u'IX', }) self.assertEquals(o._values['key3'], u"drie") self.assertEquals(o._values['key4'], u"viervierviervier") self.assertEquals(o._values['key5'], u"VVVVV") self.assertEquals(o._values['key9'], u'IX')
def testTakeValuesFromDictionary(self): o = KeyValueClass1.alloc().init() self.assertEqual(o.key3, 3) self.assertEqual(o._key4, b"4".decode('ascii')) o.key5 = 1 self.assert_(not hasattr(o, b'key9'.decode('ascii'))) STUB.setKeyValue_forObject_key_value_(3, o, None, { b'key3'.decode('ascii'): b'drie'.decode('ascii'), b'key4'.decode('ascii'): b'vier'.decode('ascii'), b'key5'.decode('ascii'): b'V'.decode('ascii'), b'key9'.decode('ascii'): b'IX'.decode('ascii'), }) self.assertEqual(o.key3, b"drie".decode('ascii')) self.assertEqual(o._key4, b"viervierviervier".decode('ascii')) self.assertEqual(o.key5, b"VVVVV".decode('ascii')) self.assert_(hasattr(o, b'key9'.decode('ascii'))) self.assertEqual(o.key9, b'IX'.decode('ascii'))
def testTakeValuesFromDictionary(self): o = KeyValueClass1.alloc().init() self.assertEquals(o.key3, 3) self.assertEquals(o._key4, u"4") o.key5 = 1 self.assert_(not hasattr(o, u'key9')) STUB.setKeyValue_forObject_key_value_(3, o, None, { u'key3': u'drie', u'key4': u'vier', u'key5': u'V', u'key9': u'IX', }) self.assertEquals(o.key3, u"drie") self.assertEquals(o._key4, u"viervierviervier") self.assertEquals(o.key5, u"VVVVV") self.assert_(hasattr(o, u'key9')) self.assertEquals(o.key9, u'IX')
def testTakeStoredValueForKey(self): o = KeyValueClass1Explicit.alloc().init() self.assertEquals(o._values['key3'], 3) STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie') self.assertEquals(o._values['key3'], u"drie") self.assertEquals(o._values['key4'], u"4") STUB.setKeyValue_forObject_key_value_(2, o, u'key4', u'vier') self.assertEquals(o._values['key4'], u"viervierviervier") o.key5 = 1 STUB.setKeyValue_forObject_key_value_(2, o, u'key5', u'V') self.assertEquals(o._values['key5'], u"VVVVV") self.assert_('key9' not in o._values) STUB.setKeyValue_forObject_key_value_(2, o, u'key9', u'IX') self.assert_('key9' in o._values) self.assertEquals(o._values['key9'], u'IX')
def testTakeStoredValueForKey(self): o = KeyValueClass1.alloc().init() self.assertEqual(o.key3, 3) STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'drie'.decode('ascii')) self.assertEqual(o.key3, b"drie".decode('ascii')) self.assertEqual(o._key4, b"4".decode('ascii')) STUB.setKeyValue_forObject_key_value_(2, o, b'key4'.decode('ascii'), b'vier'.decode('ascii')) self.assertEqual(o._key4, b"viervierviervier".decode('ascii')) o.key5 = 1 STUB.setKeyValue_forObject_key_value_(2, o, b'key5'.decode('ascii'), b'V'.decode('ascii')) self.assertEqual(o.key5, b"VVVVV".decode('ascii')) self.assert_(not hasattr(o, b'key9'.decode('ascii'))) STUB.setKeyValue_forObject_key_value_(2, o, b'key9'.decode('ascii'), b'IX'.decode('ascii')) self.assert_(hasattr(o, b'key9'.decode('ascii'))) self.assertEqual(o.key9, b'IX'.decode('ascii'))
def testTakeStoredValueForKey(self): o = KeyValueClass1Explicit.alloc().init() self.assertEqual(o._values['key3'], 3) STUB.setKeyValue_forObject_key_value_(2, o, b'key3'.decode('ascii'), b'drie'.decode('ascii')) self.assertEqual(o._values['key3'], b"drie".decode('ascii')) self.assertEqual(o._values['key4'], b"4".decode('ascii')) STUB.setKeyValue_forObject_key_value_(2, o, b'key4'.decode('ascii'), b'vier'.decode('ascii')) self.assertEqual(o._values['key4'], b"viervierviervier".decode('ascii')) o.key5 = 1 STUB.setKeyValue_forObject_key_value_(2, o, b'key5'.decode('ascii'), b'V'.decode('ascii')) self.assertEqual(o._values['key5'], b"VVVVV".decode('ascii')) self.assert_('key9' not in o._values) STUB.setKeyValue_forObject_key_value_(2, o, b'key9'.decode('ascii'), b'IX'.decode('ascii')) self.assert_('key9' in o._values) self.assertEqual(o._values['key9'], b'IX'.decode('ascii'))
def testTakeStoredValueForKey(self): o = KeyValueClass1.alloc().init() self.assertEquals(o.key3, 3) STUB.setKeyValue_forObject_key_value_(2, o, u'key3', u'drie') self.assertEquals(o.key3, u"drie") self.assertEquals(o._key4, u"4") STUB.setKeyValue_forObject_key_value_(2, o, u'key4', u'vier') self.assertEquals(o._key4, u"viervierviervier") o.key5 = 1 STUB.setKeyValue_forObject_key_value_(2, o, u'key5', u'V') self.assertEquals(o.key5, u"VVVVV") self.assert_(not hasattr(o, u'key9')) STUB.setKeyValue_forObject_key_value_(2, o, u'key9', u'IX') self.assert_(hasattr(o, u'key9')) self.assertEquals(o.key9, u'IX')
def testValueForKey(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key1".decode('ascii')), 1) self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key2".decode('ascii')), 2) self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key3".decode('ascii')), 3) self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"key4".decode('ascii')), "4") self.assertEqual(STUB.keyValue_forObject_key_(0, o, b"multiple".decode('ascii')), o.multiple) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, b"nokey".decode('ascii')) self.assertRaises(ValueError, STUB.keyValue_forObject_key_, 0, o, b"keyRaisingValueError".decode('ascii')) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, b"keyRaisingNSUnknownKeyException".decode('ascii')) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, b"keyReturningSameSelector".decode('ascii')) obj = STUB.keyValue_forObject_key_( 0, o, b"keyReturningOtherSelector".decode('ascii')) self.assertIsInstance(obj, objc.selector) self.assertEqual(obj.selector, b"getKey1") self.assertIs(obj.self, o )
def testValueForKey(self): o = KeyValueClass1.alloc().init() o.addMultiple() self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key1"), 1) self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key2"), 2) self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key3"), 3) self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"key4"), "4") self.assertEquals(STUB.keyValue_forObject_key_(0, o, u"multiple"), o.multiple) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, u"nokey") self.assertRaises(ValueError, STUB.keyValue_forObject_key_, 0, o, u"keyRaisingValueError") self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, u"keyRaisingNSUnknownKeyException") self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 0, o, u"keyReturningSameSelector") obj = STUB.keyValue_forObject_key_( 0, o, u"keyReturningOtherSelector") self.failUnless( isinstance(obj, objc.selector) ) self.assertEquals(obj.selector, "getKey1") self.failUnless( obj.self is o )
def testValuesForKeys(self): o = KeyValueClass1Explicit.alloc().init() self.assertEquals(STUB.keyValue_forObject_key_(3, o, [u"key1", u"key2", u"key3", u"key4"]), { u"key1":1, u"key2":2, u"key3": 3, u"key4": u"4"} ) self.assertRaises(KeyError, STUB.keyValue_forObject_key_, 3, o, [u"key1", u"key3", u"nosuchkey"])
def testStoredValueForKey2(self): o = KeyValueClass4.alloc().init() self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"foo"), u"foobar") self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"bar"), u"foobarfoobar") self.assertEquals(STUB.keyValue_forObject_key_(2, o, u"roprop"), u"read-only")