예제 #1
0
        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();
        }