def test_add_inv_item__new_slot__partial_stack__last_letter_unoccupied(vials5): pi = PlayerInventory(10) vials5.add_comp(letter=LetterComponent('z')) pi.add_inv_item(vials5, 2) result = pi.item_dict['z'] assert result.name == "healing vial" assert result.stackable.size == 2
def test_rm_inv_item__stackable__removed_partial_stack__letter_remains(vials5): pi = PlayerInventory(10) pi.add_inv_item(vials5) pi.rm_inv_item(vials5, 2) assert not pi.is_empty() assert vials5 in pi.entities assert "a" in pi.item_dict
def test_add_inv_item__new_slot__full_stack__last_letter_occupied( dagger, vials5): pi = PlayerInventory(10) vials5.add_comp(letter=LetterComponent('a')) pi.add_inv_item(dagger) pi.add_inv_item(vials5) assert pi.item_dict['a'] == dagger assert pi.item_dict['b'] == vials5 # rolls to next available letter
def test_add_inv_item__new_slot__nonstackable__last_letter_occupied( dagger, plunger): pi = PlayerInventory(10) plunger.add_comp(letter=LetterComponent('a')) pi.add_inv_item(dagger) pi.add_inv_item(plunger) assert pi.item_dict['a'] == dagger assert pi.item_dict['b'] == plunger # rolls to next available letter
def test_add_inv_item__new_slot__partial_stack__last_letter_occupied( dagger, vials5): pi = PlayerInventory(10) vials5.add_comp(letter=LetterComponent('a')) pi.add_inv_item(dagger) pi.add_inv_item(vials5, 2) result = pi.item_dict['b'] # rolls to next available letter assert result.name == "healing vial" assert result.stackable.size == 2
def test_sorted_dict__multiple_items(): pi = PlayerInventory(10) pi.add_inv_item(factory.make("dagger")) pi.add_inv_item(factory.make("leather vest")) pi.add_inv_item(factory.make("bulletproof vest")) pi.add_inv_item(factory.make("healing vial")) result = pi.sorted_dict() assert result == { '/': ['a'], '[': ['b', 'c'], '!': ['d'], }
def test_add_inv_item__added_to_stackable__returns_letter(dagger): pi = PlayerInventory(10) assert pi.add_inv_item(dagger) == "a" assert pi.add_inv_item(dagger) == "a"
def test_add_inv_item__added_to_stackable__size_unchanged(dagger): pi = PlayerInventory(10) pi.add_inv_item(dagger) expected = len(pi) pi.add_inv_item(dagger) assert len(pi) == expected
def test_add_inv_item__adding_money_size_unchanged(money): pi = PlayerInventory(10) pi.add_inv_item(money) expected = len(pi) pi.add_inv_item(money) assert len(pi) == expected
def test_rm_letter__letter_not_in_item_dict__returns_False(dagger): pi = PlayerInventory(10) pi.add_inv_item(dagger) assert pi.rm_letter('b') is None
def test_add_inv_item__new_slot__partial_stack__full_capacity_raises_Impossible( dagger, vials5): pi = PlayerInventory(1) pi.add_inv_item(dagger) with pytest.raises(exceptions.Impossible): pi.add_inv_item(vials5, 2)
def test_add_inv_item__new_slot__partial_stack__new_letter(vials5): pi = PlayerInventory(10) pi.add_inv_item(vials5, 2) result = pi.item_dict['a'] # rolls to next available letter assert result.name == "healing vial" assert result.stackable.size == 2
def test_add_inv_item__new_slot__partial_stack__size_increased(vials5): pi = PlayerInventory(10) expected = len(pi) pi.add_inv_item(vials5, 2) assert len(pi) == expected + 1
def test_add_inv_item__new_slot__full_stack__new_letter(vials5): pi = PlayerInventory(10) pi.add_inv_item(vials5) assert pi.item_dict['a'] == vials5
def test_rm_inv_item__nonstackable__pops_letter(plunger): pi = PlayerInventory(10) pi.add_inv_item(plunger) pi.rm_inv_item(plunger) assert "a" not in pi.item_dict assert plunger not in pi.entities
def test_rm_letter__letter_in_item_dict__returns_item(dagger): pi = PlayerInventory(10) pi.add_inv_item(dagger) assert pi.rm_letter('a') == dagger
def test_add_inv_item__new_slot__nonstackable__size_increased(plunger): pi = PlayerInventory(10) expected = len(pi) pi.add_inv_item(plunger, 2) assert len(pi) == expected + 1
def test_sorted_dict__one_item(dagger): pi = PlayerInventory(10) pi.add_inv_item(dagger) result = pi.sorted_dict() assert result == {'/': ['a']}
def test_add_inv_item__new_slot__nonstackable__last_letter_unoccupied(plunger): pi = PlayerInventory(10) plunger.add_comp(letter=LetterComponent('z')) pi.add_inv_item(plunger) assert pi.item_dict['z'] == plunger
def test_add_inv_item__adding_money_uses_dollar_sign(money): pi = PlayerInventory(10) assert pi.add_inv_item(money) == "$"
def test_add_inv_item__new_slot__nonstackable__new_letter(plunger): pi = PlayerInventory(10) pi.add_inv_item(plunger) assert pi.item_dict['a'] == plunger
def test_add_inv_item__adding_money_full_capacity_returns_True(money): pi = PlayerInventory(1) pi.add_inv_item(money) assert pi.add_inv_item(money) == "$"
def test_add_inv_item__new_slot__nonstackable__full_capacity_raises_Impossible( dagger, plunger): pi = PlayerInventory(1) pi.add_inv_item(dagger) with pytest.raises(exceptions.Impossible): pi.add_inv_item(plunger)
def test_add_inv_item__added_to_stackable__no_new_letter(dagger): pi = PlayerInventory(10) pi.add_inv_item(dagger) pi.add_inv_item(dagger) assert pi.item_dict == {"a": dagger}
def test_rm_inv_item__stackable__removed_full_stack__pops_letter(vials5): pi = PlayerInventory(10) pi.add_inv_item(vials5) pi.rm_inv_item(vials5) assert pi.is_empty() assert vials5 not in pi.entities
def test_add_inv_item__added_to_stackable__full_capacity_returns_letter( dagger): pi = PlayerInventory(1) pi.add_inv_item(dagger) assert pi.add_inv_item(dagger) == "a"
def test_add_inv_item__new_slot__full_stack__last_letter_unoccupied(vials5): pi = PlayerInventory(10) vials5.add_comp(letter=LetterComponent('z')) assert pi.add_inv_item(vials5) == 'z' assert pi.item_dict['z'] == vials5