mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
![]() |
from BaseClasses import CollectionState
|
||
|
from Fill import distribute_items_restrictive
|
||
|
from . import MessengerTestBase
|
||
|
from .. import MessengerWorld
|
||
|
from ..options import Logic
|
||
|
|
||
|
|
||
|
class LimitedMovementTest(MessengerTestBase):
|
||
|
options = {
|
||
|
"limited_movement": "true",
|
||
|
"shuffle_shards": "true",
|
||
|
}
|
||
|
|
||
|
@property
|
||
|
def run_default_tests(self) -> bool:
|
||
|
# This test base fails reachability tests. Not sure if the core tests should change to support that
|
||
|
return False
|
||
|
|
||
|
def test_options(self) -> None:
|
||
|
"""Tests that options were correctly changed."""
|
||
|
assert isinstance(self.multiworld.worlds[self.player], MessengerWorld)
|
||
|
self.assertEqual(Logic.option_hard, self.world.options.logic_level)
|
||
|
|
||
|
|
||
|
class EarlyMeditationTest(MessengerTestBase):
|
||
|
options = {
|
||
|
"early_meditation": "true",
|
||
|
}
|
||
|
|
||
|
def test_option(self) -> None:
|
||
|
"""Checks that Meditation gets placed early"""
|
||
|
distribute_items_restrictive(self.multiworld)
|
||
|
sphere1 = self.multiworld.get_reachable_locations(CollectionState(self.multiworld))
|
||
|
items = [loc.item.name for loc in sphere1]
|
||
|
self.assertIn("Meditation", items)
|