1
1
from . import SVTestBase
2
2
from .. import options , item_table , Group
3
3
4
+ max_iterations = 2000
5
+
4
6
5
7
class TestItemLinksEverythingIncluded (SVTestBase ):
6
8
options = {options .ExcludeGingerIsland .internal_name : options .ExcludeGingerIsland .option_false ,
7
9
options .TrapItems .internal_name : options .TrapItems .option_medium }
8
10
9
11
def test_filler_of_all_types_generated (self ):
12
+ max_number_filler = 115
10
13
filler_generated = []
11
14
at_least_one_trap = False
12
15
at_least_one_island = False
13
- for i in range (0 , 1000 ):
16
+ for i in range (0 , max_iterations ):
14
17
filler = self .multiworld .worlds [1 ].get_filler_item_name ()
15
18
if filler in filler_generated :
16
19
continue
@@ -21,19 +24,22 @@ def test_filler_of_all_types_generated(self):
21
24
at_least_one_trap = True
22
25
if Group .GINGER_ISLAND in item_table [filler ].groups :
23
26
at_least_one_island = True
27
+ if len (filler_generated ) >= max_number_filler :
28
+ break
24
29
self .assertTrue (at_least_one_trap )
25
30
self .assertTrue (at_least_one_island )
26
- self .assertGreaterEqual (len (filler_generated ), 115 )
31
+ self .assertGreaterEqual (len (filler_generated ), max_number_filler )
27
32
28
33
29
34
class TestItemLinksNoIsland (SVTestBase ):
30
35
options = {options .ExcludeGingerIsland .internal_name : options .ExcludeGingerIsland .option_true ,
31
36
options .TrapItems .internal_name : options .TrapItems .option_medium }
32
37
33
38
def test_filler_has_no_island_but_has_traps (self ):
39
+ max_number_filler = 109
34
40
filler_generated = []
35
41
at_least_one_trap = False
36
- for i in range (0 , 1000 ):
42
+ for i in range (0 , max_iterations ):
37
43
filler = self .multiworld .worlds [1 ].get_filler_item_name ()
38
44
if filler in filler_generated :
39
45
continue
@@ -43,18 +49,21 @@ def test_filler_has_no_island_but_has_traps(self):
43
49
self .assertNotIn (Group .EXACTLY_TWO , item_table [filler ].groups )
44
50
if Group .TRAP in item_table [filler ].groups :
45
51
at_least_one_trap = True
52
+ if len (filler_generated ) >= max_number_filler :
53
+ break
46
54
self .assertTrue (at_least_one_trap )
47
- self .assertGreaterEqual (len (filler_generated ), 50 )
55
+ self .assertGreaterEqual (len (filler_generated ), max_number_filler )
48
56
49
57
50
58
class TestItemLinksNoTraps (SVTestBase ):
51
59
options = {options .ExcludeGingerIsland .internal_name : options .ExcludeGingerIsland .option_false ,
52
60
options .TrapItems .internal_name : options .TrapItems .option_no_traps }
53
61
54
62
def test_filler_has_no_traps_but_has_island (self ):
63
+ max_number_filler = 100
55
64
filler_generated = []
56
65
at_least_one_island = False
57
- for i in range (0 , 1000 ):
66
+ for i in range (0 , max_iterations ):
58
67
filler = self .multiworld .worlds [1 ].get_filler_item_name ()
59
68
if filler in filler_generated :
60
69
continue
@@ -64,17 +73,20 @@ def test_filler_has_no_traps_but_has_island(self):
64
73
self .assertNotIn (Group .EXACTLY_TWO , item_table [filler ].groups )
65
74
if Group .GINGER_ISLAND in item_table [filler ].groups :
66
75
at_least_one_island = True
76
+ if len (filler_generated ) >= max_number_filler :
77
+ break
67
78
self .assertTrue (at_least_one_island )
68
- self .assertGreaterEqual (len (filler_generated ), 50 )
79
+ self .assertGreaterEqual (len (filler_generated ), max_number_filler )
69
80
70
81
71
82
class TestItemLinksNoTrapsAndIsland (SVTestBase ):
72
83
options = {options .ExcludeGingerIsland .internal_name : options .ExcludeGingerIsland .option_true ,
73
84
options .TrapItems .internal_name : options .TrapItems .option_no_traps }
74
85
75
86
def test_filler_generated_without_island_or_traps (self ):
87
+ max_number_filler = 94
76
88
filler_generated = []
77
- for i in range (0 , 1000 ):
89
+ for i in range (0 , max_iterations ):
78
90
filler = self .multiworld .worlds [1 ].get_filler_item_name ()
79
91
if filler in filler_generated :
80
92
continue
@@ -83,4 +95,6 @@ def test_filler_generated_without_island_or_traps(self):
83
95
self .assertNotIn (Group .TRAP , item_table [filler ].groups )
84
96
self .assertNotIn (Group .MAXIMUM_ONE , item_table [filler ].groups )
85
97
self .assertNotIn (Group .EXACTLY_TWO , item_table [filler ].groups )
86
- self .assertGreaterEqual (len (filler_generated ), 50 )
98
+ if len (filler_generated ) >= max_number_filler :
99
+ break
100
+ self .assertGreaterEqual (len (filler_generated ), max_number_filler )
0 commit comments