public void ShouldOutputQuoteCalculationResult() { var quoteCalculationResult = new QuoteCalculationResult(); var offersReaderMock = new Mock <IOffersReader>(); var calculationsOutputMock = new Mock <ICalculationsOutput>(); calculationsOutputMock.Setup(x => x.OutputQuoteCalculationResult(It.Is <QuoteCalculationResult>(p => quoteCalculationResult.Equals(p)))) .Verifiable(); var quoteCalculationMock = new Mock <IQuoteCalculator>(); quoteCalculationMock.Setup(x => x.GetQuote(It.IsAny <int>(), It.IsAny <IList <Offer> >())) .Returns(quoteCalculationResult); var parameters = new[] { "filename", 1000.ToString() }; var calculationApp = new CalculationApp( offersReaderMock.Object, calculationsOutputMock.Object, quoteCalculationMock.Object) as ICalculationApp; calculationApp.Run(parameters); calculationsOutputMock.Verify(); }
public void OutputQuoteCalculationResult(QuoteCalculationResult result) { if (result == null) { throw new ArgumentNullException(nameof(result)); } Console.WriteLine($"Requested amount: {result.LoanAmount:c0}"); Console.WriteLine($"Rate: {result.Quote:P1}"); Console.WriteLine($"Monthly repayment: {result.MonthlyRepayment:c2}"); Console.WriteLine($"Total repayment: {result.TotalRepayment:c2}"); }