Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }