public void DragStackableToStackable() { var template = new ProceduralItemTemplate(); var fromItem = new StackableItem(template, 5); var toItem = new StackableItem(template, 10); var fromSlot = new ItemStorageSlot(); var toSlot = new ItemStorageSlot(); fromSlot.AddItem(fromItem); toSlot.AddItem(toItem); var result = fromSlot.DragInto(toSlot); var expected = new InventoryTransactionBuilder() { new ItemTransaction() { FromInventory = fromSlot, ToInventory = toSlot, Item = fromItem, Quantity = 15 } }.Build(TransactionStatus.Complete); // Assert.That (result, Is.EqualTo (expected)); Assert.That(fromItem.Quantity, Is.EqualTo(0)); Assert.That(toItem.Quantity, Is.EqualTo(15)); }
public void DragStackableToEmpty() { var fromItem = new StackableItem(new ProceduralItemTemplate(), 5); var fromSlot = new ItemStorageSlot(); var toSlot = new ItemStorageSlot(); fromSlot.AddItem(fromItem); var result = fromSlot.DragInto(toSlot); var expected = new InventoryTransactionBuilder() { new ItemTransaction() { FromInventory = null, ToInventory = toSlot, Item = fromItem, Quantity = 5 } }.Build(TransactionStatus.Complete); Assert.That(result, Is.EqualTo(expected)); Assert.That(fromSlot.CurrentItem, Is.Null); Assert.That(toSlot.CurrentItem, Is.EqualTo(fromItem)); }