| 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 | |
| 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) |