@Test public void hasItemFindsItem() { Item item = getRegularItem(); assertFalse(inventory.hasItem(item)); inventory.executeAddItem(InventorySlot.ARMOR, item); assertTrue(inventory.hasItem(item)); }
@Test public void executeRemoveItemRemovesItem() { Item item = getRegularItem(); inventory.executeAddItem(InventorySlot.ARMOR, item); inventory.executeRemoveItem(item); assertTrue(inventory.isEmpty(InventorySlot.ARMOR)); }
@Test public void providesSlotLocation() { Item item = getRegularItem(); inventory.executeAddItem(InventorySlot.HEAD, item); ItemLocation loc = inventory.getSlotLocation(InventorySlot.HEAD); assertNotNull(loc); assertSame(item, loc.get()); }
@Test public void locationOfItemFindsItem() { Item item = getRegularItem(); inventory.executeAddItem(InventorySlot.HEAD, item); ItemLocation loc = inventory.getLocationOf(item); assertNotNull(loc); assertSame(item, loc.get()); assertEquals(InventorySlot.HEAD.ordinal(), loc.getIndex()); assertSame(inventory, loc.getCylinder()); }
@Test public void queryAddItemRequiresEmptySlot() { inventory.executeAddItem(InventorySlot.LEFT, getRegularItem()); Item item = createItem( new ItemType() { { attributes = EnumSet.of(PICKUPABLE); } }); assertEquals(ErrorType.NOTENOUGHROOM, inventory.queryAddItem(InventorySlot.LEFT, item)); }
@Test public void queryRemoveItemValid() { Item item = getRegularItem(); inventory.executeAddItem(InventorySlot.ARMOR, item); assertEquals(ErrorType.NONE, inventory.queryRemoveItem(item)); }
@Test public void executeAddItemAddsItem() { Item item = getRegularItem(); inventory.executeAddItem(InventorySlot.ARMOR, item); assertEquals(item, inventory.getItem(InventorySlot.ARMOR)); }