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