Example #1
0
    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__'))
Example #3
0
    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__"))
Example #4
0
    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)
Example #7
0
    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)