public void GetTradeDate_WhenTradeDateExists_ReturnsTradeDate() { // Arrange DateTime date = new DateTime(2018, 12, 31); Mock <ITradeDateRepository> tradeDateRepository = new Mock <ITradeDateRepository>(); TradeDate tradeDate = new TradeDate(new DateTime(2018, 12, 31), true, true, true); tradeDateRepository.Setup(r => r.GetTradeDate(date)) .Returns(Maybe.Create <TradeDate>(tradeDate)); // Act TradeDateService service = new TradeDateService(tradeDateRepository.Object); var result = service.GetTradeDate(date); // Assert result.IsSuccess.Should().BeTrue(); result.Value.Should().Be(tradeDate); }
public void GetTradeDate_WhenTradeDateDoesNotExist_ReturnsInvalidTradeDateErrorResult() { // Arrange DateTime date = new DateTime(2018, 12, 31); Mock <ITradeDateRepository> tradeDateRepository = new Mock <ITradeDateRepository>(); tradeDateRepository.Setup(r => r.GetTradeDate(date)) .Returns(Maybe.Create <TradeDate>(null)); // Act TradeDateService service = new TradeDateService(tradeDateRepository.Object); var result = service.GetTradeDate(date); // Assert result.IsSuccess.Should().BeFalse(); result.Error.Should().BeOfType <InvalidTradeDateError>(); ((InvalidTradeDateError)result.Error).Date.Should().Be(date); result.Value.Should().BeNull(); }