Exemplo n.º 1
0
        public void Cook_InsufficientMoney_ThrowsEngineOperationException()
        {
            var stub = MockRepository.GenerateStub<ICook>();
            stub.Stub(s => s.GetCost(null)).IgnoreArguments().Return(4);
            stub.Stub(s => s.Make(null)).IgnoreArguments().Throw(new Exception());

            var o = new Operation(MockRepository.GenerateStub<IWallet>(), MockRepository.GenerateStub<IWallet>(), stub);
            o.Balance = 3;
            Assert.Throws<EngineOperationException>(() => o.Buy("black_coffee"));
        }
Exemplo n.º 2
0
        public void Cook_BigBalance_DecreasesBalanceBySpecifiedCost()
        {
            var stub = MockRepository.GenerateStub<ICook>();
            stub.Stub(s => s.GetCost("abc")).Return(12);

            var o = new Operation(MockRepository.GenerateStub<IWallet>(), MockRepository.GenerateStub<IWallet>(), stub);
            o.Balance = 15;
            o.Buy("abc");

            Assert.AreEqual(3, o.Balance);
        }