public void WhenStockPriceUnderZero_ExpectBuy() { //Arrange #region moq //var mock = new Mock<IStockPriceManager>(); //mock.Setup(foo => foo.GetCurrentPrice(stock)).Returns(-1); //var stockSimulator = new StockSimulator(mock.Object); #endregion #region NSubstitute //var mock = Substitute.For<IStockPriceManager>(); //mock.GetCurrentPrice(stock).Returns(-1); //var stockSimulator = new StockSimulator(mock); #endregion #region nMock3 //var mockFactory = new MockFactory(); //var mock = mockFactory.CreateMock<IStockPriceManager>(); //mock.Expects.One.Method(d => d.GetCurrentPrice(stock)).With(stock).WillReturn(-1); //var stockSimulator = new StockSimulator(mock.MockObject); #endregion #region RhinoMock var mock = Rhino.Mocks.MockRepository.GenerateMock <IStockPriceManager>(); mock.Expect(d => d.GetCurrentPrice(stock)).Return(-1); var stockSimulator = new StockSimulator(mock); #endregion //Act var answer = stockSimulator.IsStockGood(stock); //Assert Assert.IsFalse(answer); }
public void WhenStockNotFound_ExpectException() { //Arrange #region moq //var mock = new Mock<IStockPriceManager>(); //mock.Setup(foo => foo.GetCurrentPrice(stock)).Throws<ExceptionStockNotFound>(); //var stockSimulator = new StockSimulator(mock.Object); #endregion #region NSubstitute //var mock = Substitute.For<IStockPriceManager>(); //mock.GetCurrentPrice(stock).Returns(x => { throw new ExceptionStockNotFound(); }); //var stockSimulator = new StockSimulator(mock); #endregion #region nMock3 //var mockFactory = new MockFactory(); //var mock = mockFactory.CreateMock<IStockPriceManager>(); //mock.Expects.One.Method(d => d.GetCurrentPrice(stock)).With(stock).Will(Throw.Exception(new ExceptionStockNotFound())); //var stockSimulator = new StockSimulator(mock.MockObject); #endregion #region RhinoMock var mock = Rhino.Mocks.MockRepository.GenerateMock <IStockPriceManager>(); mock.Expect(d => d.GetCurrentPrice(stock)).Throw(new ExceptionStockNotFound()); var stockSimulator = new StockSimulator(mock); #endregion //Act & Assert try { stockSimulator.IsStockGood(stock); Assert.Fail("Should never go here"); } catch (ExceptionStockNotFound e) { //This is what we want } }