public void ShouldReturnErrorWhenRiskDataErrors(RiskData data, string expectedMessage) { var request = new PriceRequest() { RiskData = data }; var errorResult = string.Empty; priceEngine.GetPrice(request, out errorResult); Assert.AreEqual(expectedMessage, errorResult); }
public async Task ItFailsIfNoQuotesReturned() { var priceEngine = new PriceEngine(CreatePriceRequestValidatorMock().Object, new List <IQuotationSystem>()); var priceResult = await priceEngine.GetPrice(new PriceRequest()); Assert.False(priceResult.Success); Assert.Equal("QUOTATION", priceResult.Error.First().Key); Assert.Equal("Failed to fetch a quote", priceResult.Error.First().Value.First()); }
public async Task ItReturnsLowestQuotePrice() { var quotationSystems = new List <IQuotationSystem> { CreateQuotationSystemMock(3).Object, CreateQuotationSystemMock(2).Object, CreateQuotationSystemMock(4).Object }; var priceEngine = new PriceEngine(CreatePriceRequestValidatorMock().Object, quotationSystems); var priceResult = await priceEngine.GetPrice(new PriceRequest()); Assert.True(priceResult.Success); Assert.Equal(2, priceResult.Value.Price); }