Archipelago/worlds/messenger/test/test_options.py

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)