Example #1
0
        public void AddResource()
        {
            var service = new StorageService();

            var startQuantity  = 20m;
            var startCostPrice = 2m;

            var quantity = 10m;
            var price    = 5m;

            var resourceExpected = CreateResourcePool(startQuantity, startCostPrice);

            resourceExpected.Quantity += quantity;
            resourceExpected.TotalCost = resourceExpected.GetTotalCost() + (quantity * price);
            resourceExpected.CostPrice = resourceExpected.TotalCost / resourceExpected.Quantity;

            var resourceActual = CreateResourcePool(startQuantity, startCostPrice);

            service.AddResource(resourceActual, quantity, price);

            Assert.Equal(resourceExpected.Quantity, resourceActual.Quantity);
            Assert.Equal(resourceExpected.CostPrice, resourceActual.CostPrice);
            Assert.Equal(resourceExpected.GetTotalCost(), resourceActual.GetTotalCost());
        }