예제 #1
0
        private void CheckForTrade(object sender, EventArgs e)
        {
            var list = _reserve.GetProvideProducts();

            list.ForEach(i => _trader.SetProvide(i));

            list = _reserve.GetConsumeProducts();
            list.ForEach(i => _trader.SetConsume(i));
        }
예제 #2
0
        public void ProvideProduct_AddsProvide()
        {
            const int amount = 100;

            _reserve.SetProvide(ProductId, true);

            var status = _reserve.GetProductStatus(ProductId);
            var before = _reserve.GetProvideProducts().FirstOrDefault(i => i.ProductId == ProductId);

            _inventory.TryAddProduct(ProductId, amount);

            var after = _reserve.GetProvideProducts().FirstOrDefault(i => i.ProductId == ProductId);

            Assert.IsNotNull(status);
            Assert.IsTrue(status.ShouldProvide);
            Assert.IsFalse(status.ShouldConsume);

            Assert.IsNull(before);
            Assert.IsNotNull(after);
            Assert.AreEqual(amount, after.Amount);
        }