mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
	
	
		
			40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from test.test_support import run_unittest, have_unicode | ||
|  | import unittest | ||
|  | import sys | ||
|  | 
 | ||
|  | class TestImplementationComparisons(unittest.TestCase): | ||
|  | 
 | ||
|  |     def test_type_comparisons(self): | ||
|  |         self.assertTrue(str < int or str > int) | ||
|  |         self.assertTrue(int <= str or int >= str) | ||
|  |         self.assertTrue(cmp(int, str) != 0) | ||
|  |         self.assertTrue(int is int) | ||
|  |         self.assertTrue(str == str) | ||
|  |         self.assertTrue(int != str) | ||
|  | 
 | ||
|  |     def test_cell_comparisons(self): | ||
|  |         def f(x): | ||
|  |             if x: | ||
|  |                 y = 1 | ||
|  |             def g(): | ||
|  |                 return x | ||
|  |             def h(): | ||
|  |                 return y | ||
|  |             return g, h | ||
|  |         g, h = f(0) | ||
|  |         g_cell, = g.func_closure | ||
|  |         h_cell, = h.func_closure | ||
|  |         self.assertTrue(h_cell < g_cell) | ||
|  |         self.assertTrue(g_cell >= h_cell) | ||
|  |         self.assertEqual(cmp(g_cell, h_cell), 1) | ||
|  |         self.assertTrue(g_cell is g_cell) | ||
|  |         self.assertTrue(g_cell == g_cell) | ||
|  |         self.assertTrue(h_cell == h_cell) | ||
|  |         self.assertTrue(g_cell != h_cell) | ||
|  | 
 | ||
|  | def test_main(): | ||
|  |     run_unittest(TestImplementationComparisons) | ||
|  | 
 | ||
|  | if __name__ == '__main__': | ||
|  |     test_main() |