Skip to content

Commit 1fcaac3

Browse files
committed
-
1 parent 434f820 commit 1fcaac3

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

source_py3/python_toolbox/combi/perm_space.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -547,24 +547,22 @@ def index(self, perm):
547547
raise ValueError
548548

549549
perm = sequence_tools.ensure_iterable_is_immutable_sequence(perm)
550+
perm_set = set(perm)
551+
if not (perm_set <= set(self.sequence)):
552+
raise ValueError
550553

551554
if len(perm) != self.n_elements:
552555
raise ValueError
553556

554557
if not isinstance(perm, self.perm_type):
555-
perm_set = set(perm)
556558
if perm_set != set(range(len(perm))):
557-
if perm_set != set(self.sequence):
558-
raise ValueError
559559
perm = self.perm_type(perm, self)
560560
else:
561561
perm = self.perm_type(perm)
562562

563563
elif self.is_rapplied:
564564
if not perm.is_rapplied:
565565
raise ValueError
566-
if set(perm) != set(self.sequence):
567-
raise ValueError
568566
elif perm.is_rapplied and not self.is_rapplied:
569567
raise ValueError
570568
if self.is_degreed and (perm.degree not in self.degrees):
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright 2009-2014 Ram Rachum.
2+
# This program is distributed under the MIT license.
3+
4+
from python_toolbox.combi import *
5+
6+
7+
def test():
8+
comb_space = CombSpace('dumber', 2)
9+
assert isinstance(comb_space, CombSpace)
10+
assert isinstance(comb_space, PermSpace)
11+
assert comb_space.length == 1 + 2 + 3 + 4 + 5
12+
things_in_comb_space = (
13+
'du', 'db', 'br', ('d', 'u'), {'d', 'u'}, Comb('du', comb_space)
14+
)
15+
things_not_in_comb_space = (
16+
'dx', 'dub', ('d', 'x'), {'d', 'u', 'b'}, Comb('dux', comb_space),
17+
Comb('du', CombSpace('other', 2))
18+
)
19+
20+
for thing in things_in_comb_space:
21+
assert thing in comb_space
22+
for thing in things_not_in_comb_space:
23+
assert thing not in comb_space
24+
25+
26+
27+
28+
29+
30+

0 commit comments

Comments
 (0)