def testEdgeCases(self):
        from objc._pythonify import numberWrapper

        n = objc.lookUpClass('NSObject').alloc().init()

        with filterWarnings("error", RuntimeWarning):
            self.assertRaises(RuntimeWarning, numberWrapper, n)

        with filterWarnings("ignore", RuntimeWarning):
            self.assertIs(numberWrapper(n), n)


        # Fake number class, to ensure that all of
        # numberWrapper can be tested with a 64-bit runtime
        class Number (objc.lookUpClass("NSObject")):
            def objCType(self):
                return objc._C_INT

            def longValue(self):
                return 42

        n = Number.alloc().init()
        v = numberWrapper(n)
        self.assertEqual(v, 42)
        self.assertIs(v.__pyobjc_object__, n)
Ejemplo n.º 2
0
    def testEdgeCases(self):
        from objc._pythonify import numberWrapper

        n = objc.lookUpClass('NSObject').alloc().init()

        with filterWarnings("error", RuntimeWarning):
            self.assertRaises(RuntimeWarning, numberWrapper, n)

        with filterWarnings("ignore", RuntimeWarning):
            self.assertIs(numberWrapper(n), n)


        # Fake number class, to ensure that all of
        # numberWrapper can be tested with a 64-bit runtime
        class Number (objc.lookUpClass("NSObject")):
            def objCType(self):
                return objc._C_INT

            def longValue(self):
                return 42

        n = Number.alloc().init()
        v = numberWrapper(n)
        self.assertEqual(v, 42)
        self.assertIs(v.__pyobjc_object__, n)
Ejemplo n.º 3
0
    def testEdgeCases(self):
        from objc._pythonify import numberWrapper

        n = objc.lookUpClass('NSObject').alloc().init()

        with warnings.catch_warnings(record=True) as w:
            numberWrapper(n)
        self.assertEqual(len(w), 1)
        self.assertEqual(w[0].category, RuntimeWarning)

        with warnings.catch_warnings():
            self.assertIs(numberWrapper(n), n)

        # Fake number class, to ensure that all of
        # numberWrapper can be tested with a 64-bit runtime
        class Number(objc.lookUpClass("NSObject")):
            def objCType(self):
                return objc._C_INT

            def longValue(self):
                return 42

        n = Number.alloc().init()
        v = numberWrapper(n)
        self.assertEqual(v, 42)
        self.assertIs(v.__pyobjc_object__, n)
    def testDecimal(self):
        NSDecimalNumber = objc.lookUpClass("NSDecimalNumber")
        v = NSDecimalNumber.numberWithInt_(10)
        self.assertIsInstance(v, NSDecimalNumber)

        from objc._pythonify import numberWrapper
        o = numberWrapper(v)
        self.assertIs(o, v)
Ejemplo n.º 5
0
    def testDecimal(self):
        NSDecimalNumber = objc.lookUpClass("NSDecimalNumber")
        v = NSDecimalNumber.numberWithInt_(10)
        self.assertIsInstance(v, NSDecimalNumber)

        from objc._pythonify import numberWrapper
        o = numberWrapper(v)
        self.assertIs(o, v)