summaryrefslogtreecommitdiff
path: root/Lib/test/test_itertools.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2009-01-27 09:52:35 +0000
committerRaymond Hettinger <python@rcn.com>2009-01-27 09:52:35 +0000
commitf93f3032c63906d0a6516d6e75985f0d425f36f5 (patch)
treef0a305225d17ee6a2a5734e1f7bae8db5eae83c2 /Lib/test/test_itertools.py
parent2976aaa39666229fa9591f219b4642f8ccbcc30a (diff)
downloadcpython-git-f93f3032c63906d0a6516d6e75985f0d425f36f5.tar.gz
Stronger tests for combinatoric relationships.
Diffstat (limited to 'Lib/test/test_itertools.py')
-rw-r--r--Lib/test/test_itertools.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py
index 8d8e059657..09908d699b 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -281,11 +281,15 @@ class TestBasicOps(unittest.TestCase):
perm = list(permutations(s, r))
comb = list(combinations(s, r))
+ self.assertEquals(len(prod), len(s)**r)
+ self.assertEquals(prod, sorted(set(prod))) # prod in lexicographic order without repeats
self.assertEquals(cwr, [t for t in prod if sorted(t)==list(t)]) # cwr: prods which are sorted
self.assertEquals(perm, [t for t in prod if len(set(t))==r]) # perm: prods with no dups
self.assertEqual(comb, [t for t in perm if sorted(t)==list(t)]) # comb: perms that are sorted
self.assertEqual(comb, [t for t in cwr if len(set(t))==r]) # comb: cwrs without dups
- self.assertEqual(set(comb), set(cwr) & set(perm)) # comb: both a cwr and a perm
+ self.assertEqual(comb, filter(set(cwr).__contains__, perm)) # comb: perm that is a cwr
+ self.assertEqual(comb, filter(set(perm).__contains__, cwr)) # comb: cwr that is a perm
+ self.assertEqual(comb, sorted(set(cwr) & set(perm))) # comb: both a cwr and a perm
def test_compress(self):
self.assertEqual(list(compress('ABCDEF', [1,0,1,0,1,1])), list('ACEF'))