public void ShouldNotRemoveWhenExceedingMaxDecrease()
        {
            InventoryComponent.Add(Resource, 5);
            InventoryComponent.Remove(Resource, 6);

            Assert.False(RemovedFlag);
            Assert.AreEqual(5, InventoryComponent.GetSupply(Resource));
        }
        public void ShouldAddMultiple()
        {
            InventoryComponent.Add(Resource, 3);
            Assert.AreEqual(3, InventoryComponent.GetSupply(Resource));

            InventoryComponent.Add(Resource, 2);
            Assert.AreEqual(5, InventoryComponent.GetSupply(Resource));
        }
        public void ShouldRemove()
        {
            InventoryComponent.Add(Resource, 7);
            InventoryComponent.Remove(Resource, 3);

            Assert.True(RemovedFlag);
            Assert.AreEqual(4, InventoryComponent.GetSupply(Resource));
            Assert.AreEqual(Resource, AddedEventArgs.Item);
            Assert.AreEqual(3, AddedEventArgs.Amount);
        }
        public void ShouldAdd()
        {
            InventoryComponent.Add(Resource);
            InventoryComponent.Add(Resource);

            Assert.AreEqual(2, InventoryComponent.GetSupply(Resource));
            Assert.True(AddedFlag);
            Assert.AreEqual(Resource, AddedEventArgs.Item);
            Assert.AreEqual(1, AddedEventArgs.Amount);
        }
        public void ShouldNotAddWhenExceedingMaxIncrease()
        {
            InventoryComponent.MaxCapacity = 10;

            InventoryComponent.Add(Resource, 5);

            AddedFlag = false;
            InventoryComponent.Add(Resource, 6);

            Assert.False(AddedFlag);
            Assert.AreEqual(5, InventoryComponent.GetSupply(Resource));
        }
        public void ShouldAddResources()
        {
            var resource2 = An.Item;
            var recipe    = A.Recipe
                            .WithResource(Resource)
                            .WithResource(resource2, 2);

            InventoryComponent.MaxSlots = 2;
            InventoryComponent.AddResources(recipe);

            Assert.True(AddedFlag);
            Assert.AreEqual(1, InventoryComponent.GetSupply(Resource));
            Assert.AreEqual(2, InventoryComponent.GetSupply(resource2));
        }