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