Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(203)

Side by Side Diff: Lib/test/test_set.py

Issue 602: range: lean and mean (Closed) SVN Base: http://svn.python.org/view/*checkout*/python/branches/py3k/
Patch Set: __len__ is back! Created 5 months, 1 week ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 import unittest 1 import unittest
2 from test import test_support 2 from test import test_support
3 from weakref import proxy 3 from weakref import proxy
4 import operator 4 import operator
5 import copy 5 import copy
6 import pickle 6 import pickle
7 import os 7 import os
8 from random import randrange, shuffle 8 from random import randrange, shuffle
9 import sys 9 import sys
10 import warnings 10 import warnings
(...skipping 1551 matching lines...) Show 10 above Show 10 below
1562 1562
1563 from itertools import chain 1563 from itertools import chain
1564 def L(seqn): 1564 def L(seqn):
1565 'Test multiple tiers of iterators' 1565 'Test multiple tiers of iterators'
1566 return chain(map(lambda x:x, R(Ig(G(seqn))))) 1566 return chain(map(lambda x:x, R(Ig(G(seqn)))))
1567 1567
1568 class TestVariousIteratorArgs(unittest.TestCase): 1568 class TestVariousIteratorArgs(unittest.TestCase):
1569 1569
1570 def test_constructor(self): 1570 def test_constructor(self):
1571 for cons in (set, frozenset): 1571 for cons in (set, frozenset):
1572 for s in ("123", "", range(1000), ('do', 1.2), range(2000,2200,5)): 1572 for s in ("123", "", ('do', 1.2)):
1573 for g in (G, I, Ig, S, L, R): 1573 for g in (G, I, Ig, S, L, R):
1574 self.assertEqual(sorted(cons(g(s)), key=repr), sorted(g(s), key=repr)) 1574 self.assertEqual(sorted(cons(g(s)), key=repr), sorted(g(s), key=repr))
1575 self.assertRaises(TypeError, cons , X(s)) 1575 self.assertRaises(TypeError, cons , X(s))
1576 self.assertRaises(TypeError, cons , N(s)) 1576 self.assertRaises(TypeError, cons , N(s))
1577 self.assertRaises(ZeroDivisionError, cons , E(s)) 1577 self.assertRaises(ZeroDivisionError, cons , E(s))
1578 1578
1579 def test_inline_methods(self): 1579 def test_inline_methods(self):
1580 s = set('november') 1580 s = set('november')
1581 for data in ("123", "", range(1000), ('do', 1.2), range(2000,2200,5), 'd ecember'): 1581 for data in ("123", "", ('do', 1.2), 'december'):
1582 for meth in (s.union, s.intersection, s.difference, s.symmetric_diff erence, s.isdisjoint): 1582 for meth in (s.union, s.intersection, s.difference, s.symmetric_diff erence, s.isdisjoint):
1583 for g in (G, I, Ig, L, R): 1583 for g in (G, I, Ig, L, R):
1584 expected = meth(data) 1584 expected = meth(data)
1585 actual = meth(G(data)) 1585 actual = meth(G(data))
1586 if isinstance(expected, bool): 1586 if isinstance(expected, bool):
1587 self.assertEqual(actual, expected) 1587 self.assertEqual(actual, expected)
1588 else: 1588 else:
1589 self.assertEqual(sorted(actual, key=repr), sorted(expect ed, key=repr)) 1589 self.assertEqual(sorted(actual, key=repr), sorted(expect ed, key=repr))
1590 self.assertRaises(TypeError, meth, X(s)) 1590 self.assertRaises(TypeError, meth, X(s))
1591 self.assertRaises(TypeError, meth, N(s)) 1591 self.assertRaises(TypeError, meth, N(s))
1592 self.assertRaises(ZeroDivisionError, meth, E(s)) 1592 self.assertRaises(ZeroDivisionError, meth, E(s))
1593 1593
1594 def test_inplace_methods(self): 1594 def test_inplace_methods(self):
1595 for data in ("123", "", range(1000), ('do', 1.2), range(2000,2200,5), 'd ecember'): 1595 for data in ("123", "", ('do', 1.2), 'december'):
1596 for methname in ('update', 'intersection_update', 1596 for methname in ('update', 'intersection_update',
1597 'difference_update', 'symmetric_difference_update') : 1597 'difference_update', 'symmetric_difference_update') :
1598 for g in (G, I, Ig, S, L, R): 1598 for g in (G, I, Ig, S, L, R):
1599 s = set('january') 1599 s = set('january')
1600 t = s.copy() 1600 t = s.copy()
1601 getattr(s, methname)(list(g(data))) 1601 getattr(s, methname)(list(g(data)))
1602 getattr(t, methname)(g(data)) 1602 getattr(t, methname)(g(data))
1603 self.assertEqual(sorted(s, key=repr), sorted(t, key=repr)) 1603 self.assertEqual(sorted(s, key=repr), sorted(t, key=repr))
1604 1604
1605 self.assertRaises(TypeError, getattr(set('january'), methname), X(data)) 1605 self.assertRaises(TypeError, getattr(set('january'), methname), X(data))
(...skipping 153 matching lines...) Show 10 above Show 10 below
1759 import gc 1759 import gc
1760 counts = [None] * 5 1760 counts = [None] * 5
1761 for i in range(len(counts)): 1761 for i in range(len(counts)):
1762 test_support.run_unittest(*test_classes) 1762 test_support.run_unittest(*test_classes)
1763 gc.collect() 1763 gc.collect()
1764 counts[i] = sys.gettotalrefcount() 1764 counts[i] = sys.gettotalrefcount()
1765 print(counts) 1765 print(counts)
1766 1766
1767 if __name__ == "__main__": 1767 if __name__ == "__main__":
1768 test_main(verbose=True) 1768 test_main(verbose=True)
OLDNEW

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r338