| 
									
										
										
										
											2010-02-07 17:03:15 +00:00
										 |  |  | from test.test_support import run_unittest | 
					
						
							| 
									
										
										
										
											2008-03-18 17:26:10 +00:00
										 |  |  | import unittest | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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(): | 
					
						
							| 
									
										
										
										
											2010-01-08 19:04:16 +00:00
										 |  |  |     run_unittest(TestImplementationComparisons) | 
					
						
							| 
									
										
										
										
											2008-03-18 17:26:10 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     test_main() |