mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-19 15:35:01 +00:00
29 lines
839 B
Python
29 lines
839 B
Python
from ctypes import *
|
|
import unittest
|
|
|
|
subclasses = []
|
|
for base in [c_byte, c_short, c_int, c_long, c_longlong,
|
|
c_ubyte, c_ushort, c_uint, c_ulong, c_ulonglong,
|
|
c_float, c_double, c_longdouble, c_bool]:
|
|
class X(base):
|
|
pass
|
|
subclasses.append(X)
|
|
|
|
class X(c_char):
|
|
pass
|
|
|
|
# This test checks if the __repr__ is correct for subclasses of simple types
|
|
|
|
class ReprTest(unittest.TestCase):
|
|
def test_numbers(self):
|
|
for typ in subclasses:
|
|
base = typ.__bases__[0]
|
|
self.assertTrue(repr(base(42)).startswith(base.__name__))
|
|
self.assertEqual("<X object at", repr(typ(42))[:12])
|
|
|
|
def test_char(self):
|
|
self.assertEqual("c_char('x')", repr(c_char('x')))
|
|
self.assertEqual("<X object at", repr(X('x'))[:12])
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|