| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import unittest
- from test.support import import_helper
- import types
- xxlimited = import_helper.import_module('xxlimited')
- xxlimited_35 = import_helper.import_module('xxlimited_35')
- class CommonTests:
- module: types.ModuleType
- def test_xxo_new(self):
- xxo = self.module.Xxo()
- def test_xxo_attributes(self):
- xxo = self.module.Xxo()
- with self.assertRaises(AttributeError):
- xxo.foo
- with self.assertRaises(AttributeError):
- del xxo.foo
- xxo.foo = 1234
- self.assertEqual(xxo.foo, 1234)
- del xxo.foo
- with self.assertRaises(AttributeError):
- xxo.foo
- def test_foo(self):
- # the foo function adds 2 numbers
- self.assertEqual(self.module.foo(1, 2), 3)
- def test_str(self):
- self.assertTrue(issubclass(self.module.Str, str))
- self.assertIsNot(self.module.Str, str)
- custom_string = self.module.Str("abcd")
- self.assertEqual(custom_string, "abcd")
- self.assertEqual(custom_string.upper(), "ABCD")
- def test_new(self):
- xxo = self.module.new()
- self.assertEqual(xxo.demo("abc"), "abc")
- class TestXXLimited(CommonTests, unittest.TestCase):
- module = xxlimited
- def test_xxo_demo(self):
- xxo = self.module.Xxo()
- other = self.module.Xxo()
- self.assertEqual(xxo.demo("abc"), "abc")
- self.assertEqual(xxo.demo(xxo), xxo)
- self.assertEqual(xxo.demo(other), other)
- self.assertEqual(xxo.demo(0), None)
- def test_error(self):
- with self.assertRaises(self.module.Error):
- raise self.module.Error
- def test_buffer(self):
- xxo = self.module.Xxo()
- self.assertEqual(xxo.x_exports, 0)
- b1 = memoryview(xxo)
- self.assertEqual(xxo.x_exports, 1)
- b2 = memoryview(xxo)
- self.assertEqual(xxo.x_exports, 2)
- b1[0] = 1
- self.assertEqual(b1[0], 1)
- self.assertEqual(b2[0], 1)
- class TestXXLimited35(CommonTests, unittest.TestCase):
- module = xxlimited_35
- def test_xxo_demo(self):
- xxo = self.module.Xxo()
- other = self.module.Xxo()
- self.assertEqual(xxo.demo("abc"), "abc")
- self.assertEqual(xxo.demo(0), None)
- def test_roj(self):
- # the roj function always fails
- with self.assertRaises(SystemError):
- self.module.roj(0)
- def test_null(self):
- null1 = self.module.Null()
- null2 = self.module.Null()
- self.assertNotEqual(null1, null2)
|