コード例 #1
0
        public void ListInventory_AddingSame()
        {
            var provider = Substitute.For <IStorageCapacityProvider>();

            provider.Capacity.Returns(10);
            IInventory inventory = new MListInventory(provider);

            var item = Substitute.For <IInventoryItem>();

            inventory.AddItem(item);
            inventory.AddItem(item);

            Assert.AreEqual(2, inventory.Count);
        }
コード例 #2
0
        public void ListInventory_AddingToExistingStack()
        {
            var provider = Substitute.For <IStorageCapacityProvider>();

            provider.Capacity.Returns(10);
            IInventory inventory = new MListInventory(provider);

            var item1 = Substitute.For <IInventoryStack>();

            item1.Capacity.Returns(4);

            inventory.AddItem(item1);
            inventory.AddItem(item1, 2);

            Assert.AreEqual(1, inventory.Count);
            Assert.AreEqual(3, (inventory.Contents[0] as IInventoryStack)?.Count);
        }
コード例 #3
0
        public void ListInventory_RemovingItem()
        {
            var provider = Substitute.For <IStorageCapacityProvider>();

            provider.Capacity.Returns(10);
            IInventory inventory = new MListInventory(provider);

            var item1 = Substitute.For <IInventoryItem>();

            var item2 = Substitute.For <IInventoryItem>();

            inventory.AddItem(item1);
            inventory.AddItem(item2);

            inventory.RemoveItem(item1);

            Assert.AreEqual(1, inventory.Count);
        }
コード例 #4
0
        public void ListInventory_AddingToExistingStackOverflowAtCapacity()
        {
            var provider = Substitute.For <IStorageCapacityProvider>();

            provider.Capacity.Returns(2);
            IInventory inventory = new MListInventory(provider);

            var item1 = Substitute.For <IInventoryStack>();

            item1.Capacity.Returns(4);

            inventory.AddItem(item1);
            inventory.AddItem(item1, 5);
            var res = inventory.AddItem(item1, 5);

            Assert.AreEqual(2, inventory.Count);
            Assert.AreEqual(4, (inventory.Contents[0] as IInventoryStack)?.Count);
            Assert.AreEqual(4, (inventory.Contents[1] as IInventoryStack)?.Count);
            Assert.AreEqual(3, res.Remainder);
        }
コード例 #5
0
        public void ListInventory_AddingItemNoCapacity()
        {
            var provider = Substitute.For <IStorageCapacityProvider>();

            provider.Capacity.Returns(0);
            IInventory inventory = new MListInventory(provider);

            var item = Substitute.For <IInventoryItem>();

            inventory.AddItem(item);

            Assert.Zero(inventory.Count);
        }