| from test.test_support import run_unittest, check_py3k_warnings | |
| 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(): | |
| with check_py3k_warnings(): | |
| run_unittest(TestImplementationComparisons) | |
| if __name__ == '__main__': | |
| test_main() |