Ejemplo n.º 1
0
    def test_unsigned_long_long(self):
        self.assertEquals(0, pyObjCPy(objc._C_ULNG_LNG, 0))
        self.assertEquals(ULLONG_MAX, pyObjCPy(objc._C_ULNG_LNG, ULLONG_MAX))
        self.assertEquals(0, pyObjCPy(objc._C_ULNG_LNG, long(0)))
        self.assertEquals(ULLONG_MAX, pyObjCPy(objc._C_ULNG_LNG, long(ULLONG_MAX)))
        self.assertEquals(0, pyObjCPy(objc._C_ULNG_LNG, float(0)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG_LNG, LLONG_MIN)
        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG_LNG, LLONG_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG_LNG, "1")
Ejemplo n.º 2
0
    def test_long_long(self):
        self.assertEquals(0, pyObjCPy(objc._C_LNG_LNG, 0))

        if sys.maxint < 2 ** 32:
            self.assertEquals(LONG_MAX, pyObjCPy(objc._C_LNG_LNG, float(LONG_MAX)))
        self.assertEquals(LLONG_MAX, pyObjCPy(objc._C_LNG_LNG, LLONG_MAX))
        self.assertEquals(LLONG_MIN, pyObjCPy(objc._C_LNG_LNG, LLONG_MIN))

        self.assertRaises(ValueError, pyObjCPy, objc._C_LNG_LNG, LLONG_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_LNG_LNG, LLONG_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_LNG_LNG, "1")
Ejemplo n.º 3
0
    def test_long_long(self):
        self.assertEquals(0, pyObjCPy(objc._C_LNG_LNG, 0))

        if sys.maxint < 2 ** 32:
            self.assertEquals(LONG_MAX, pyObjCPy(objc._C_LNG_LNG, float(LONG_MAX)))
        self.assertEquals(LLONG_MAX, pyObjCPy(objc._C_LNG_LNG, LLONG_MAX))
        self.assertEquals(LLONG_MIN, pyObjCPy(objc._C_LNG_LNG, LLONG_MIN))

        self.assertRaises(ValueError, pyObjCPy, objc._C_LNG_LNG, LLONG_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_LNG_LNG, LLONG_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_LNG_LNG, "1")
        self.assertRaises(ValueError, pyObjCPy, objc._C_LNG_LNG, b"1")
Ejemplo n.º 4
0
    def test_unsigned_long_long(self):
        self.assertEquals(0, pyObjCPy(objc._C_ULNG_LNG, 0))
        self.assertEquals(ULLONG_MAX, pyObjCPy(objc._C_ULNG_LNG, ULLONG_MAX))
        self.assertEquals(0, pyObjCPy(objc._C_ULNG_LNG, long(0)))
        self.assertEquals(ULLONG_MAX,
                          pyObjCPy(objc._C_ULNG_LNG, long(ULLONG_MAX)))
        self.assertEquals(0, pyObjCPy(objc._C_ULNG_LNG, float(0)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG_LNG, LLONG_MIN)
        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG_LNG,
                          LLONG_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG_LNG, "1")
Ejemplo n.º 5
0
    def testSimple(self):
        # struct Foo {
        #    int;
        #    int;
        # };
        signature = b"{Foo=ii}"

        inval = (1, 2)

        self.assertEquals(inval, pyObjCPy(signature, inval))
        self.assertEquals(inval, pyObjCPy(signature, list(inval)))
        self.assertEquals(inval, pyObjCPy(signature, iter(inval)))
        self.assertEquals(inval, pyObjCPy(signature, iter(list(inval))))
Ejemplo n.º 6
0
    def test_simple(self):
        signature = b"[10i]"
        value = tuple(range(10))

        self.assertEquals(value, tuple(pyObjCPy(signature, value)))
        self.assertEquals(value, tuple(pyObjCPy(signature, list(value))))
        self.assertEquals(value, tuple(pyObjCPy(signature, iter(value))))
        self.assertEquals(value, tuple(pyObjCPy(signature, iter(list(value)))))

        self.assertRaises(ValueError, pyObjCPy, signature, value + value[:1])
        self.assertRaises(ValueError, pyObjCPy, signature, value[:9])
        self.assertRaises(ValueError, pyObjCPy, signature, iter(value + value[:1]))
        self.assertRaises(ValueError, pyObjCPy, signature, iter(value[:9]))
        self.assertRaises(TypeError, pyObjCPy, signature, None)
Ejemplo n.º 7
0
    def test_unsigned_char(self):
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, 0))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, b'\0'))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, long(0)))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, float(0)))

        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, UCHAR_MAX))
        if sys.version_info[0] == 2:
            self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, chr(UCHAR_MAX)))
        else:
            self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, bytes([UCHAR_MAX])))
            self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, bytearray([UCHAR_MAX])))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, long(UCHAR_MAX)))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, float(UCHAR_MAX)))

        self.assertRaises((IndexError, ValueError), pyObjCPy, objc._C_UCHR, SCHAR_MIN)
        self.assertRaises((IndexError, ValueError), pyObjCPy, objc._C_UCHR, SCHAR_MIN - 1)
Ejemplo n.º 8
0
    def testHoles(self):
        # This struct usually contains holes
        #
        # struct Foo {
        #   short;
        #   int;
        #   short;
        #   double;
        #   short;
        # };
        signature = b"{Foo=sisds}"

        inval = (1, 2, 3, 4.0, 5)

        self.assertEquals(inval, pyObjCPy(signature, inval))
        self.assertEquals(inval, pyObjCPy(signature, list(inval)))
        self.assertEquals(inval, pyObjCPy(signature, iter(inval)))
        self.assertEquals(inval, pyObjCPy(signature, iter(list(inval))))
Ejemplo n.º 9
0
    def test_short(self):
        self.assertEquals(0, pyObjCPy(objc._C_SHT, 0))
        self.assertEquals(SHRT_MAX, pyObjCPy(objc._C_SHT, SHRT_MAX))
        self.assertEquals(SHRT_MIN, pyObjCPy(objc._C_SHT, SHRT_MIN))
        self.assertEquals(0, pyObjCPy(objc._C_SHT, long(0)))
        self.assertEquals(SHRT_MAX, pyObjCPy(objc._C_SHT, long(SHRT_MAX)))
        self.assertEquals(SHRT_MIN, pyObjCPy(objc._C_SHT, long(SHRT_MIN)))
        self.assertEquals(0, pyObjCPy(objc._C_SHT, float(0)))
        self.assertEquals(SHRT_MAX, pyObjCPy(objc._C_SHT, float(SHRT_MAX)))
        self.assertEquals(SHRT_MIN, pyObjCPy(objc._C_SHT, float(SHRT_MIN)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_SHT, SHRT_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_SHT, SHRT_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_SHT, "1")
Ejemplo n.º 10
0
    def test_short(self):
        self.assertEquals(0, pyObjCPy(objc._C_SHT, 0))
        self.assertEquals(SHRT_MAX, pyObjCPy(objc._C_SHT, SHRT_MAX))
        self.assertEquals(SHRT_MIN, pyObjCPy(objc._C_SHT, SHRT_MIN))
        self.assertEquals(0, pyObjCPy(objc._C_SHT, long(0)))
        self.assertEquals(SHRT_MAX, pyObjCPy(objc._C_SHT, long(SHRT_MAX)))
        self.assertEquals(SHRT_MIN, pyObjCPy(objc._C_SHT, long(SHRT_MIN)))
        self.assertEquals(0, pyObjCPy(objc._C_SHT, float(0)))
        self.assertEquals(SHRT_MAX, pyObjCPy(objc._C_SHT, float(SHRT_MAX)))
        self.assertEquals(SHRT_MIN, pyObjCPy(objc._C_SHT, float(SHRT_MIN)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_SHT, SHRT_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_SHT, SHRT_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_SHT, "1")
Ejemplo n.º 11
0
    def test_int(self):
        self.assertEquals(0, pyObjCPy(objc._C_INT, 0))
        self.assertEquals(INT_MAX, pyObjCPy(objc._C_INT, INT_MAX))
        self.assertEquals(INT_MIN, pyObjCPy(objc._C_INT, INT_MIN))
        self.assertEquals(0, pyObjCPy(objc._C_INT, long(0)))
        self.assertEquals(INT_MAX, pyObjCPy(objc._C_INT, long(INT_MAX)))
        self.assertEquals(INT_MIN, pyObjCPy(objc._C_INT, long(INT_MIN)))
        self.assertEquals(0, pyObjCPy(objc._C_INT, float(0)))
        self.assertEquals(INT_MAX, pyObjCPy(objc._C_INT, float(INT_MAX)))
        self.assertEquals(INT_MIN, pyObjCPy(objc._C_INT, float(INT_MIN)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_INT, INT_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_INT, INT_MIN - 1)

        # Check implicit conversion
        self.assertRaises(ValueError, pyObjCPy, objc._C_INT, "1")
Ejemplo n.º 12
0
    def test_int(self):
        self.assertEquals(0, pyObjCPy(objc._C_INT, 0))
        self.assertEquals(INT_MAX, pyObjCPy(objc._C_INT, INT_MAX))
        self.assertEquals(INT_MIN, pyObjCPy(objc._C_INT, INT_MIN))
        self.assertEquals(0, pyObjCPy(objc._C_INT, long(0)))
        self.assertEquals(INT_MAX, pyObjCPy(objc._C_INT, long(INT_MAX)))
        self.assertEquals(INT_MIN, pyObjCPy(objc._C_INT, long(INT_MIN)))
        self.assertEquals(0, pyObjCPy(objc._C_INT, float(0)))
        self.assertEquals(INT_MAX, pyObjCPy(objc._C_INT, float(INT_MAX)))
        self.assertEquals(INT_MIN, pyObjCPy(objc._C_INT, float(INT_MIN)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_INT, INT_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_INT, INT_MIN - 1)

        # Check implicit conversion
        self.assertRaises(ValueError, pyObjCPy, objc._C_INT, "1")
Ejemplo n.º 13
0
    def test_double(self):
        self.assertEquals(0, pyObjCPy(objc._C_DBL, 0))
        self.assertEquals(float(INT_MAX), pyObjCPy(objc._C_DBL, INT_MAX))
        self.assertEquals(DBL_MAX, pyObjCPy(objc._C_DBL, DBL_MAX))
        self.assertEquals(DBL_MIN, pyObjCPy(objc._C_DBL, DBL_MIN))
        self.assertEquals(-DBL_MAX, pyObjCPy(objc._C_DBL, -DBL_MAX))
        self.assertEquals(-DBL_MIN, pyObjCPy(objc._C_DBL, -DBL_MIN))
        self.assertEquals(DBL_EPSILON, pyObjCPy(objc._C_DBL, DBL_EPSILON))
        self.assertEquals(-DBL_EPSILON, pyObjCPy(objc._C_DBL, -DBL_EPSILON))

        self.assertRaises(ValueError, pyObjCPy, objc._C_DBL, 1L << 10000)

        self.assertRaises(ValueError, pyObjCPy, objc._C_DBL, "1")
Ejemplo n.º 14
0
    def test_unsigned_char(self):
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, 0))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, '\0'))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, long(0)))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, float(0)))

        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, UCHAR_MAX))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, chr(UCHAR_MAX)))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, long(UCHAR_MAX)))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, float(UCHAR_MAX)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_UCHR, SCHAR_MIN)
        self.assertRaises(ValueError, pyObjCPy, objc._C_UCHR, SCHAR_MIN - 1)
Ejemplo n.º 15
0
    def test_unsigned_char(self):
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, 0))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, '\0'))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, long(0)))
        self.assertEquals(0, pyObjCPy(objc._C_UCHR, float(0)))

        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, UCHAR_MAX))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, chr(UCHAR_MAX)))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, long(UCHAR_MAX)))
        self.assertEquals(UCHAR_MAX, pyObjCPy(objc._C_UCHR, float(UCHAR_MAX)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_UCHR, SCHAR_MIN)
        self.assertRaises(ValueError, pyObjCPy, objc._C_UCHR, SCHAR_MIN - 1)
Ejemplo n.º 16
0
    def test_double(self):
        self.assertEquals(0, pyObjCPy(objc._C_DBL, 0))
        self.assertEquals(float(INT_MAX), pyObjCPy(objc._C_DBL, INT_MAX))
        self.assertEquals(DBL_MAX, pyObjCPy(objc._C_DBL, DBL_MAX))
        self.assertEquals(DBL_MIN, pyObjCPy(objc._C_DBL, DBL_MIN))
        self.assertEquals(-DBL_MAX, pyObjCPy(objc._C_DBL, -DBL_MAX))
        self.assertEquals(-DBL_MIN, pyObjCPy(objc._C_DBL, -DBL_MIN))
        self.assertEquals(DBL_EPSILON, pyObjCPy(objc._C_DBL, DBL_EPSILON))
        self.assertEquals(-DBL_EPSILON, pyObjCPy(objc._C_DBL, -DBL_EPSILON))

        self.assertRaises(ValueError, pyObjCPy, objc._C_DBL, 1L << 10000)

        self.assertRaises(ValueError, pyObjCPy, objc._C_DBL, "1")
Ejemplo n.º 17
0
    def test_float(self):
        self.assertEquals(0, pyObjCPy(objc._C_FLT, 0))
        self.assertEquals(float(SHRT_MAX), pyObjCPy(objc._C_FLT, SHRT_MAX))
        self.assertEquals(FLT_MAX, pyObjCPy(objc._C_FLT, FLT_MAX))
        self.assertEquals(FLT_MIN, pyObjCPy(objc._C_FLT, FLT_MIN))
        self.assertEquals(-FLT_MAX, pyObjCPy(objc._C_FLT, -FLT_MAX))
        self.assertEquals(-FLT_MIN, pyObjCPy(objc._C_FLT, -FLT_MIN))
        self.assertEquals(FLT_EPSILON, pyObjCPy(objc._C_FLT, FLT_EPSILON))
        self.assertEquals(-FLT_EPSILON, pyObjCPy(objc._C_FLT, -FLT_EPSILON))

        # Just in cause we do something stupid and convert to double instead
        # of float
        self.assertNotEquals(DBL_MAX, pyObjCPy(objc._C_FLT, DBL_MAX))

        self.assertRaises(ValueError, pyObjCPy, objc._C_FLT, 1L << 10000)

        self.assertRaises(ValueError, pyObjCPy, objc._C_FLT, "1")
Ejemplo n.º 18
0
    def test_float(self):
        self.assertEquals(0, pyObjCPy(objc._C_FLT, 0))
        self.assertEquals(float(SHRT_MAX), pyObjCPy(objc._C_FLT, SHRT_MAX))
        self.assertEquals(FLT_MAX, pyObjCPy(objc._C_FLT, FLT_MAX))
        self.assertEquals(FLT_MIN, pyObjCPy(objc._C_FLT, FLT_MIN))
        self.assertEquals(-FLT_MAX, pyObjCPy(objc._C_FLT, -FLT_MAX))
        self.assertEquals(-FLT_MIN, pyObjCPy(objc._C_FLT, -FLT_MIN))
        self.assertEquals(FLT_EPSILON, pyObjCPy(objc._C_FLT, FLT_EPSILON))
        self.assertEquals(-FLT_EPSILON, pyObjCPy(objc._C_FLT, -FLT_EPSILON))

        # Just in cause we do something stupid and convert to double instead
        # of float
        self.assertNotEquals(DBL_MAX, pyObjCPy(objc._C_FLT, DBL_MAX))

        self.assertRaises(ValueError, pyObjCPy, objc._C_FLT, 1L << 10000)

        self.assertRaises(ValueError, pyObjCPy, objc._C_FLT, "1")
Ejemplo n.º 19
0
    def test_unsigned_int(self):
        self.assertEquals(0, pyObjCPy(objc._C_UINT, 0))
        self.assertEquals(UINT_MAX, pyObjCPy(objc._C_UINT, UINT_MAX))
        self.assertEquals(0, pyObjCPy(objc._C_UINT, long(0)))
        self.assertEquals(UINT_MAX, pyObjCPy(objc._C_UINT, long(UINT_MAX)))
        self.assertEquals(0, pyObjCPy(objc._C_UINT, float(0)))
        self.assertEquals(UINT_MAX, pyObjCPy(objc._C_UINT, float(UINT_MAX)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_UINT, INT_MIN)
        self.assertRaises(ValueError, pyObjCPy, objc._C_UINT, INT_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_UINT, "1")
Ejemplo n.º 20
0
    def test_unsigned_int(self):
        self.assertEquals(0, pyObjCPy(objc._C_UINT, 0))
        self.assertEquals(UINT_MAX, pyObjCPy(objc._C_UINT, UINT_MAX))
        self.assertEquals(0, pyObjCPy(objc._C_UINT, long(0)))
        self.assertEquals(UINT_MAX, pyObjCPy(objc._C_UINT, long(UINT_MAX)))
        self.assertEquals(0, pyObjCPy(objc._C_UINT, float(0)))
        self.assertEquals(UINT_MAX, pyObjCPy(objc._C_UINT, float(UINT_MAX)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_UINT, INT_MIN)
        self.assertRaises(ValueError, pyObjCPy, objc._C_UINT, INT_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_UINT, "1")
Ejemplo n.º 21
0
    def test_unsigned_short(self):
        self.assertEquals(0, pyObjCPy(objc._C_USHT, 0))
        self.assertEquals(USHRT_MAX, pyObjCPy(objc._C_USHT, USHRT_MAX))
        self.assertEquals(0, pyObjCPy(objc._C_USHT, long(0)))
        self.assertEquals(USHRT_MAX, pyObjCPy(objc._C_USHT, long(USHRT_MAX)))
        self.assertEquals(0, pyObjCPy(objc._C_USHT, float(0)))
        self.assertEquals(USHRT_MAX, pyObjCPy(objc._C_USHT, float(USHRT_MAX)))

        self.assertRaises(ValueError, pyObjCPy, objc._C_USHT, SHRT_MIN)
        self.assertRaises(ValueError, pyObjCPy, objc._C_USHT, SHRT_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_USHT, "1")
        self.assertRaises(ValueError, pyObjCPy, objc._C_USHT, b"1")
Ejemplo n.º 22
0
    def test_unsigned_long(self):
        self.assertEquals(0, pyObjCPy(objc._C_ULNG, 0))
        self.assertEquals(ULONG_MAX, pyObjCPy(objc._C_ULNG, ULONG_MAX))
        self.assertEquals(0, pyObjCPy(objc._C_ULNG, long(0)))
        self.assertEquals(ULONG_MAX, pyObjCPy(objc._C_ULNG, long(ULONG_MAX)))
        self.assertEquals(0, pyObjCPy(objc._C_ULNG, float(0)))

        if sys.maxint < 2 ** 32:
            self.assertEquals(ULONG_MAX, pyObjCPy(objc._C_ULNG, float(ULONG_MAX)))
            self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG, LONG_MIN)
            self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG, LONG_MIN - 1)

        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG, "1")
        self.assertRaises(ValueError, pyObjCPy, objc._C_ULNG, b"1")
Ejemplo n.º 23
0
    def test_char(self):
        self.assertEquals(0, pyObjCPy(objc._C_CHR, 0))
        self.assertEquals(0, pyObjCPy(objc._C_CHR, b'\x00'))
        self.assertEquals(0, pyObjCPy(objc._C_CHR, long(0)))

        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, CHAR_MAX))
        if sys.version_info[0] == 2:
            self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, chr(CHAR_MAX)))
        else:
            self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, bytes([CHAR_MAX])))
            self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, bytearray([CHAR_MAX])))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, CHAR_MIN))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, long(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, long(CHAR_MIN)))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, float(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, float(CHAR_MIN)))

        # XXX: Is this right, chr(-1) raises an exception, and is not
        # equivalent to '\xff'. Should (char)-1 be converted to '\xff'/255 ?
        self.assertEquals(-1, pyObjCPy(objc._C_CHR, b'\xff'))

        self.assertRaises(ValueError, pyObjCPy, objc._C_CHR, CHAR_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_CHR, CHAR_MIN - 1)
Ejemplo n.º 24
0
    def test_char(self):
        self.assertEquals(0, pyObjCPy(objc._C_CHR, 0))
        self.assertEquals(0, pyObjCPy(objc._C_CHR, chr(0)))
        self.assertEquals(0, pyObjCPy(objc._C_CHR, long(0)))

        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, CHAR_MAX))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, chr(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, CHAR_MIN))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, long(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, long(CHAR_MIN)))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, float(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, float(CHAR_MIN)))

        # XXX: Is the right, chr(-1) raises an exception, and is not
        # equivalent to '\xff'. Should (char)-1 be converted to '\xff'/255 ?
        self.assertEquals(-1, pyObjCPy(objc._C_CHR, '\xff'))

        self.assertRaises(ValueError, pyObjCPy, objc._C_CHR, CHAR_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_CHR, CHAR_MIN - 1)
Ejemplo n.º 25
0
    def test_char(self):
        self.assertEquals(0, pyObjCPy(objc._C_CHR, 0))
        self.assertEquals(0, pyObjCPy(objc._C_CHR, chr(0)))
        self.assertEquals(0, pyObjCPy(objc._C_CHR, long(0)))

        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, CHAR_MAX))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, chr(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, CHAR_MIN))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, long(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, long(CHAR_MIN)))
        self.assertEquals(CHAR_MAX, pyObjCPy(objc._C_CHR, float(CHAR_MAX)))
        self.assertEquals(CHAR_MIN, pyObjCPy(objc._C_CHR, float(CHAR_MIN)))

        # XXX: Is the right, chr(-1) raises an exception, and is not
        # equivalent to '\xff'. Should (char)-1 be converted to '\xff'/255 ?
        self.assertEquals(-1, pyObjCPy(objc._C_CHR, '\xff'))

        self.assertRaises(ValueError, pyObjCPy, objc._C_CHR, CHAR_MAX + 1)
        self.assertRaises(ValueError, pyObjCPy, objc._C_CHR, CHAR_MIN - 1)