symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_undocumented_details.py
author Gareth Stockwell <gareth.stockwell@accenture.com>
Wed, 22 Sep 2010 20:10:53 +0100
branchgraphics-phase-3
changeset 113 b842c0cb760e
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Backed out changeset b6c206049d8a The nvmemmory library depends on a modification to qemu; this change is therefore backed out in order to allow NVM functionality to be merged into graphics-phase-3 by transplanting individual commits.

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