diff options
Diffstat (limited to 'lib/python2.7/test/test_contains.py')
-rw-r--r-- | lib/python2.7/test/test_contains.py | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/lib/python2.7/test/test_contains.py b/lib/python2.7/test/test_contains.py deleted file mode 100644 index 7138081..0000000 --- a/lib/python2.7/test/test_contains.py +++ /dev/null @@ -1,111 +0,0 @@ -from test.test_support import have_unicode, run_unittest -import unittest - - -class base_set: - def __init__(self, el): - self.el = el - -class set(base_set): - def __contains__(self, el): - return self.el == el - -class seq(base_set): - def __getitem__(self, n): - return [self.el][n] - - -class TestContains(unittest.TestCase): - def test_common_tests(self): - a = base_set(1) - b = set(1) - c = seq(1) - self.assertIn(1, b) - self.assertNotIn(0, b) - self.assertIn(1, c) - self.assertNotIn(0, c) - self.assertRaises(TypeError, lambda: 1 in a) - self.assertRaises(TypeError, lambda: 1 not in a) - - # test char in string - self.assertIn('c', 'abc') - self.assertNotIn('d', 'abc') - - self.assertIn('', '') - self.assertIn('', 'abc') - - self.assertRaises(TypeError, lambda: None in 'abc') - - if have_unicode: - def test_char_in_unicode(self): - self.assertIn('c', unicode('abc')) - self.assertNotIn('d', unicode('abc')) - - self.assertIn('', unicode('')) - self.assertIn(unicode(''), '') - self.assertIn(unicode(''), unicode('')) - self.assertIn('', unicode('abc')) - self.assertIn(unicode(''), 'abc') - self.assertIn(unicode(''), unicode('abc')) - - self.assertRaises(TypeError, lambda: None in unicode('abc')) - - # test Unicode char in Unicode - self.assertIn(unicode('c'), unicode('abc')) - self.assertNotIn(unicode('d'), unicode('abc')) - - # test Unicode char in string - self.assertIn(unicode('c'), 'abc') - self.assertNotIn(unicode('d'), 'abc') - - def test_builtin_sequence_types(self): - # a collection of tests on builtin sequence types - a = range(10) - for i in a: - self.assertIn(i, a) - self.assertNotIn(16, a) - self.assertNotIn(a, a) - - a = tuple(a) - for i in a: - self.assertIn(i, a) - self.assertNotIn(16, a) - self.assertNotIn(a, a) - - class Deviant1: - """Behaves strangely when compared - - This class is designed to make sure that the contains code - works when the list is modified during the check. - """ - aList = range(15) - def __cmp__(self, other): - if other == 12: - self.aList.remove(12) - self.aList.remove(13) - self.aList.remove(14) - return 1 - - self.assertNotIn(Deviant1(), Deviant1.aList) - - class Deviant2: - """Behaves strangely when compared - - This class raises an exception during comparison. That in - turn causes the comparison to fail with a TypeError. - """ - def __cmp__(self, other): - if other == 4: - raise RuntimeError, "gotcha" - - try: - self.assertNotIn(Deviant2(), a) - except TypeError: - pass - - -def test_main(): - run_unittest(TestContains) - -if __name__ == '__main__': - test_main() |