コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
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'],
    }
コード例 #7
0
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"
コード例 #8
0
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
コード例 #9
0
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
コード例 #10
0
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
コード例 #11
0
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)
コード例 #12
0
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
コード例 #13
0
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
コード例 #14
0
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
コード例 #15
0
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
コード例 #16
0
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
コード例 #17
0
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
コード例 #18
0
def test_sorted_dict__one_item(dagger):
    pi = PlayerInventory(10)
    pi.add_inv_item(dagger)
    result = pi.sorted_dict()
    assert result == {'/': ['a']}
コード例 #19
0
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
コード例 #20
0
def test_add_inv_item__adding_money_uses_dollar_sign(money):
    pi = PlayerInventory(10)
    assert pi.add_inv_item(money) == "$"
コード例 #21
0
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
コード例 #22
0
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) == "$"
コード例 #23
0
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)
コード例 #24
0
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}
コード例 #25
0
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
コード例 #26
0
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"
コード例 #27
0
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