Beispiel #1
0
        public void MoveEmptyToEmptySlot()
        {
            var fromSlot = new ItemStorageSlot();
            var toSlot   = new ItemStorageSlot();

            fromSlot.MoveInto(toSlot);

            Assert.AreEqual(null, fromSlot.CurrentItem);
            Assert.AreEqual(null, toSlot.CurrentItem);
        }
Beispiel #2
0
        public void MoveStackableToEmptySlot()
        {
            var fromItem = new StackableItem(new ProceduralItemTemplate(), 5);

            var fromSlot = new ItemStorageSlot();
            var toSlot   = new ItemStorageSlot();

            fromSlot.AddItem(fromItem);

            fromSlot.MoveInto(toSlot);

            Assert.AreEqual(null, fromSlot.CurrentItem);
            Assert.AreEqual(fromItem, toSlot.CurrentItem);
        }
Beispiel #3
0
        public void MoveEmptyToUniqueSlot()
        {
            var toItem = new UniqueItem(new ProceduralItemTemplate());

            var fromSlot = new ItemStorageSlot();
            var toSlot   = new ItemStorageSlot();

            toSlot.AddItem(toItem);

            fromSlot.MoveInto(toSlot);

            Assert.AreEqual(null, fromSlot.CurrentItem);
            Assert.AreEqual(toItem, toSlot.CurrentItem);
        }
Beispiel #4
0
        public void MoveStackableToStackableSlotOverflow()
        {
            var template = new ProceduralItemTemplate();

            var fromItem = new StackableItem(template, 10);
            var toItem   = new StackableItem(template, 5);

            var fromSlot = new ItemStorageSlot();
            var toSlot   = new ItemStorageSlot()
            {
                MaxStackSize = 10
            };

            fromSlot.AddItem(fromItem);
            toSlot.AddItem(toItem);

            var result = fromSlot.MoveInto(toSlot);

            Assert.AreEqual(TransactionStatus.Partial, result.Status);
            Assert.AreEqual(fromItem, fromSlot.CurrentItem);
            Assert.AreEqual(toItem, toSlot.CurrentItem);
        }