Stronger tests for combinatoric relationships.
This commit is contained in:
parent
eb508ad8cf
commit
d17ad8d638
|
@ -285,11 +285,15 @@ class TestBasicOps(unittest.TestCase):
|
||||||
perm = list(permutations(s, r))
|
perm = list(permutations(s, r))
|
||||||
comb = list(combinations(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(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.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 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(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, list(filter(set(cwr).__contains__, perm))) # comb: perm that is a cwr
|
||||||
|
self.assertEqual(comb, list(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):
|
def test_compress(self):
|
||||||
self.assertEqual(list(compress('ABCDEF', [1,0,1,0,1,1])), list('ACEF'))
|
self.assertEqual(list(compress('ABCDEF', [1,0,1,0,1,1])), list('ACEF'))
|
||||||
|
|
Loading…
Reference in New Issue