27 lines
		
	
	
		
			988 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			988 B
		
	
	
	
		
			Python
		
	
	
	
from test.worlds.zillion import ZillionTestBase
 | 
						|
 | 
						|
from worlds.zillion.options import ZillionJumpLevels, ZillionGunLevels, validate
 | 
						|
from zilliandomizer.options import VBLR_CHOICES
 | 
						|
 | 
						|
 | 
						|
class OptionsTest(ZillionTestBase):
 | 
						|
    auto_construct = False
 | 
						|
 | 
						|
    def test_validate_default(self) -> None:
 | 
						|
        self.world_setup()
 | 
						|
        validate(self.multiworld, 1)
 | 
						|
 | 
						|
    def test_vblr_ap_to_zz(self) -> None:
 | 
						|
        """ all of the valid values for the AP options map to valid values for ZZ options """
 | 
						|
        for option_name, vblr_class in (
 | 
						|
            ("jump_levels", ZillionJumpLevels),
 | 
						|
            ("gun_levels", ZillionGunLevels)
 | 
						|
        ):
 | 
						|
            for value in vblr_class.name_lookup.values():
 | 
						|
                self.options = {option_name: value}
 | 
						|
                self.world_setup()
 | 
						|
                zz_options, _item_counts = validate(self.multiworld, 1)
 | 
						|
                assert getattr(zz_options, option_name) in VBLR_CHOICES
 | 
						|
 | 
						|
    # TODO: test validate with invalid combinations of options
 |