2010-01-08 14:41:40 -04:00
|
|
|
from test.test_support import run_unittest, check_warnings
|
2008-03-18 14:26:10 -03:00
|
|
|
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():
|
2010-01-08 14:41:40 -04:00
|
|
|
# Silence Py3k warnings
|
|
|
|
with check_warnings():
|
|
|
|
run_unittest(TestImplementationComparisons)
|
2008-03-18 14:26:10 -03:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
test_main()
|