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)
 |