58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
from argparse import Namespace
 | 
						|
 | 
						|
from BaseClasses import PlandoOptions
 | 
						|
from Generate import handle_option
 | 
						|
from . import L2ACTestBase
 | 
						|
from ..Options import CustomItemPool
 | 
						|
 | 
						|
 | 
						|
class TestEmpty(L2ACTestBase):
 | 
						|
    options = {
 | 
						|
        "custom_item_pool": {},
 | 
						|
    }
 | 
						|
 | 
						|
    def test_empty(self) -> None:
 | 
						|
        self.assertEqual(0, len(self.get_items_by_name("Dekar blade")))
 | 
						|
 | 
						|
 | 
						|
class TestINeedDekarBlade(L2ACTestBase):
 | 
						|
    options = {
 | 
						|
        "custom_item_pool": {
 | 
						|
            "Dekar blade": 2,
 | 
						|
        },
 | 
						|
    }
 | 
						|
 | 
						|
    def test_i_need_dekar_blade(self) -> None:
 | 
						|
        self.assertEqual(2, len(self.get_items_by_name("Dekar blade")))
 | 
						|
 | 
						|
 | 
						|
class TestVerifyCount(L2ACTestBase):
 | 
						|
    auto_construct = False
 | 
						|
    options = {
 | 
						|
        "custom_item_pool": {
 | 
						|
            "Dekar blade": 26,
 | 
						|
        },
 | 
						|
    }
 | 
						|
 | 
						|
    def test_verify_count(self) -> None:
 | 
						|
        self.assertRaisesRegex(ValueError,
 | 
						|
                               "Number of items in custom_item_pool \\(26\\) is greater than blue_chest_count \\(25\\)",
 | 
						|
                               lambda: self.world_setup())
 | 
						|
 | 
						|
 | 
						|
class TestVerifyItemName(L2ACTestBase):
 | 
						|
    auto_construct = False
 | 
						|
    options = {
 | 
						|
        "custom_item_pool": {
 | 
						|
            "The car blade": 2,
 | 
						|
        },
 | 
						|
    }
 | 
						|
 | 
						|
    def test_verify_item_name(self) -> None:
 | 
						|
        self.assertRaisesRegex(Exception,
 | 
						|
                               "Item 'The car blade' from option 'CustomItemPool\\(The car blade: 2\\)' is not a "
 | 
						|
                               "valid item name from 'Lufia II Ancient Cave'\\. Did you mean 'Dekar blade'",
 | 
						|
                               lambda: handle_option(Namespace(game="Lufia II Ancient Cave", name="Player"),
 | 
						|
                                                     self.options, "custom_item_pool", CustomItemPool,
 | 
						|
                                                     PlandoOptions(0)))
 |