Skip to content

Commit fa42f5d

Browse files
committed
- Changed the tests a little bit to get rid of the <1% chance of failure
- Made tests faster
1 parent a82b4bc commit fa42f5d

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed
+22-8
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
from . import SVTestBase
22
from .. import options, item_table, Group
33

4+
max_iterations = 2000
5+
46

57
class TestItemLinksEverythingIncluded(SVTestBase):
68
options = {options.ExcludeGingerIsland.internal_name: options.ExcludeGingerIsland.option_false,
79
options.TrapItems.internal_name: options.TrapItems.option_medium}
810

911
def test_filler_of_all_types_generated(self):
12+
max_number_filler = 115
1013
filler_generated = []
1114
at_least_one_trap = False
1215
at_least_one_island = False
13-
for i in range(0, 1000):
16+
for i in range(0, max_iterations):
1417
filler = self.multiworld.worlds[1].get_filler_item_name()
1518
if filler in filler_generated:
1619
continue
@@ -21,19 +24,22 @@ def test_filler_of_all_types_generated(self):
2124
at_least_one_trap = True
2225
if Group.GINGER_ISLAND in item_table[filler].groups:
2326
at_least_one_island = True
27+
if len(filler_generated) >= max_number_filler:
28+
break
2429
self.assertTrue(at_least_one_trap)
2530
self.assertTrue(at_least_one_island)
26-
self.assertGreaterEqual(len(filler_generated), 115)
31+
self.assertGreaterEqual(len(filler_generated), max_number_filler)
2732

2833

2934
class TestItemLinksNoIsland(SVTestBase):
3035
options = {options.ExcludeGingerIsland.internal_name: options.ExcludeGingerIsland.option_true,
3136
options.TrapItems.internal_name: options.TrapItems.option_medium}
3237

3338
def test_filler_has_no_island_but_has_traps(self):
39+
max_number_filler = 109
3440
filler_generated = []
3541
at_least_one_trap = False
36-
for i in range(0, 1000):
42+
for i in range(0, max_iterations):
3743
filler = self.multiworld.worlds[1].get_filler_item_name()
3844
if filler in filler_generated:
3945
continue
@@ -43,18 +49,21 @@ def test_filler_has_no_island_but_has_traps(self):
4349
self.assertNotIn(Group.EXACTLY_TWO, item_table[filler].groups)
4450
if Group.TRAP in item_table[filler].groups:
4551
at_least_one_trap = True
52+
if len(filler_generated) >= max_number_filler:
53+
break
4654
self.assertTrue(at_least_one_trap)
47-
self.assertGreaterEqual(len(filler_generated), 50)
55+
self.assertGreaterEqual(len(filler_generated), max_number_filler)
4856

4957

5058
class TestItemLinksNoTraps(SVTestBase):
5159
options = {options.ExcludeGingerIsland.internal_name: options.ExcludeGingerIsland.option_false,
5260
options.TrapItems.internal_name: options.TrapItems.option_no_traps}
5361

5462
def test_filler_has_no_traps_but_has_island(self):
63+
max_number_filler = 100
5564
filler_generated = []
5665
at_least_one_island = False
57-
for i in range(0, 1000):
66+
for i in range(0, max_iterations):
5867
filler = self.multiworld.worlds[1].get_filler_item_name()
5968
if filler in filler_generated:
6069
continue
@@ -64,17 +73,20 @@ def test_filler_has_no_traps_but_has_island(self):
6473
self.assertNotIn(Group.EXACTLY_TWO, item_table[filler].groups)
6574
if Group.GINGER_ISLAND in item_table[filler].groups:
6675
at_least_one_island = True
76+
if len(filler_generated) >= max_number_filler:
77+
break
6778
self.assertTrue(at_least_one_island)
68-
self.assertGreaterEqual(len(filler_generated), 50)
79+
self.assertGreaterEqual(len(filler_generated), max_number_filler)
6980

7081

7182
class TestItemLinksNoTrapsAndIsland(SVTestBase):
7283
options = {options.ExcludeGingerIsland.internal_name: options.ExcludeGingerIsland.option_true,
7384
options.TrapItems.internal_name: options.TrapItems.option_no_traps}
7485

7586
def test_filler_generated_without_island_or_traps(self):
87+
max_number_filler = 94
7688
filler_generated = []
77-
for i in range(0, 1000):
89+
for i in range(0, max_iterations):
7890
filler = self.multiworld.worlds[1].get_filler_item_name()
7991
if filler in filler_generated:
8092
continue
@@ -83,4 +95,6 @@ def test_filler_generated_without_island_or_traps(self):
8395
self.assertNotIn(Group.TRAP, item_table[filler].groups)
8496
self.assertNotIn(Group.MAXIMUM_ONE, item_table[filler].groups)
8597
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

Comments
 (0)