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")); }
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); }