def testPickling(self): v = { 'long': NSNumber.numberWithUnsignedLongLong_(2**63 + 5000), 'int': NSNumber.numberWithInt_(42), 'float': NSNumber.numberWithDouble_(2.0), } import pickle data = pickle.dumps(v) w = pickle.loads(data) if os_level_key(os_release()) < os_level_key('10.5'): self.assertEqual(w, { 'long': -2**63 + 5000, 'int': 42, 'float': 2.0, }) else: self.assertEqual(w, { 'long': 2**63 + 5000, 'int': 42, 'float': 2.0, }) for o in v.values(): self.assertTrue(hasattr(o, '__pyobjc_object__')) for o in w.values(): self.assertFalse(hasattr(o, '__pyobjc_object__'))
def testPickling(self): v = { 'long': NSNumber.numberWithUnsignedLongLong_(2 ** 63 + 5000), 'int': NSNumber.numberWithInt_(42), 'float': NSNumber.numberWithDouble_(2.0), } import pickle data = pickle.dumps(v) w = pickle.loads(data) if os_release() <= '10.5' and os_release() != '10.10': self.assertEqual(w, { 'long': -2**63 + 5000, 'int': 42, 'float': 2.0, }) else: self.assertEqual(w, { 'long': 2**63 + 5000, 'int': 42, 'float': 2.0, }) for o in v.values(): self.assertTrue(hasattr(o, '__pyobjc_object__')) for o in w.values(): self.assertFalse(hasattr(o, '__pyobjc_object__'))
def testPickling(self): v = { "long": NSNumber.numberWithUnsignedLongLong_(2**63 + 5000), "int": NSNumber.numberWithInt_(42), "float": NSNumber.numberWithDouble_(2.0), } import pickle data = pickle.dumps(v) w = pickle.loads(data) if os_level_key(os_release()) < os_level_key("10.5"): self.assertEqual(w, { "long": -(2**63) + 5000, "int": 42, "float": 2.0 }) else: self.assertEqual(w, { "long": 2**63 + 5000, "int": 42, "float": 2.0 }) for o in v.values(): self.assertTrue(hasattr(o, "__pyobjc_object__")) for o in w.values(): self.assertFalse(hasattr(o, "__pyobjc_object__"))
def testCompare(self): self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithLong_(1) ), NSOrderedAscending, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithUnsignedLongLong_(2 ** 40), ), NSOrderedAscending, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithDouble_(42.0) ), NSOrderedAscending, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithLong_(-1) ), NSOrderedDescending, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithLongLong_(-(2 ** 60)) ), NSOrderedDescending, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithDouble_(-42.0) ), NSOrderedDescending, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithLong_(0) ), NSOrderedSame, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithDouble_(0.0) ), NSOrderedSame, ) self.assertEqual( OC_TestNumber.compareA_andB_( NSNumber.numberWithLong_(0), NSNumber.numberWithLongLong_(0) ), NSOrderedSame, )
def testLongValue(self): v = NSNumber.numberWithUnsignedLongLong_(2 ** 63 + 5000) self.assertIsInstance(v, long) if os_release() <= '10.5' and os_release() != '10.10': self.assertEqual(v.description(), str(-2**63+5000)) else: self.assertEqual(v.description(), str(2**63+5000)) self.assertIsNot(type(v), long) self.assertRaises(AttributeError, setattr, v, 'x', 42)
def testCompare(self): self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithLong_(1)), NSOrderedAscending) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithUnsignedLongLong_(2**40)), NSOrderedAscending) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithDouble_(42.0)), NSOrderedAscending) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithLong_(-1)), NSOrderedDescending) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithLongLong_(-2**60)), NSOrderedDescending) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithDouble_(-42.0)), NSOrderedDescending) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithLong_(0)), NSOrderedSame) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithDouble_(0.0)), NSOrderedSame) self.assertEqual(OC_TestNumber.compareA_andB_(NSNumber.numberWithLong_(0), NSNumber.numberWithLongLong_(0)), NSOrderedSame)
def testLongValue(self): v = NSNumber.numberWithUnsignedLongLong_(2**63 + 5000) self.assertIsInstance(v, long) if os_level_key(os_release()) < os_level_key('10.5'): self.assertEqual(v.description(), str(-2**63 + 5000)) else: self.assertEqual(v.description(), str(2**63 + 5000)) self.assertIsNot(type(v), long) self.assertRaises(AttributeError, setattr, v, 'x', 42)