From 5390aaea379a72f1b41d7f516c82ec71e08e7ff8 Mon Sep 17 00:00:00 2001 From: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Sat, 6 Jul 2024 19:07:18 +0200 Subject: [PATCH] Add Variety minimal symbols unittest --- .run/Archipelago Unittests.run.xml | 3 ++- worlds/witness/test/test_lasers.py | 33 ++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/.run/Archipelago Unittests.run.xml b/.run/Archipelago Unittests.run.xml index 24fea0f73fec..139fdab38c07 100644 --- a/.run/Archipelago Unittests.run.xml +++ b/.run/Archipelago Unittests.run.xml @@ -1,6 +1,7 @@ + diff --git a/worlds/witness/test/test_lasers.py b/worlds/witness/test/test_lasers.py index f09897ce4053..249d504b2bac 100644 --- a/worlds/witness/test/test_lasers.py +++ b/worlds/witness/test/test_lasers.py @@ -96,6 +96,39 @@ def test_symbols_to_win(self) -> None: self.assert_can_beat_with_minimally(exact_requirement) +class TestSymbolsRequiredToWinElevatorVariety(WitnessTestBase): + options = { + "shuffle_lasers": True, + "mountain_lasers": 1, + "victory_condition": "elevator", + "early_symbol_item": False, + "puzzle_randomization": "umbra_variety", + } + + def test_symbols_to_win(self) -> None: + """ + In symbol shuffle, the only way to reach the Elevator is through Mountain Entry by descending the Mountain. + This requires a very specific set of symbol items per puzzle randomization mode. + In this case, we check Vanilla Puzzles. + """ + + exact_requirement = { + "Monastery Laser": 1, + "Progressive Dots": 2, + "Progressive Stars": 2, + "Progressive Symmetry": 1, + "Black/White Squares": 1, + "Colored Squares": 1, + "Shapers": 1, + "Rotated Shapers": 1, + "Eraser": 1, + "Triangles": 1, + "Arrows": 1, + } + + self.assert_can_beat_with_minimally(exact_requirement) + + class TestPanelsRequiredToWinElevator(WitnessTestBase): options = { "shuffle_lasers": True,