コード例 #1
0
        private void HandleBuyChanged(bool value)
        {
            var current = _reserve.GetProductStatus(_productId);

            if (value != current.ShouldConsume)
            {
                _reserve.SetConsume(_productId, value);
            }
        }
コード例 #2
0
        public void ConsumeProduct_AddsProvide()
        {
            const int amount = 100;

            _reserve.SetAmount(ProductId, amount);

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

            _reserve.SetConsume(ProductId, true);

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

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

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