mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
	
	
		
			80 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			80 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								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)
							 |