public async Task Then_The_Values_Are_Returned_In_The_Response()
        {
            //Arrange
            decimal expectedFundsIn        = 100.00M;
            decimal expectedFundsOut       = 999.99M;
            int     expectedNumberOfmonths = 6;
            var     startDate = DateTime.Today;
            var     accountProjectionSummary = new AccountProjectionSummary(ExpectedAccountId, startDate, expectedNumberOfmonths, expectedFundsIn, expectedFundsOut);

            _service.Setup(x => x.GetProjectionSummary(ExpectedAccountId, DateTime.Today, expectedNumberOfmonths)).ReturnsAsync(accountProjectionSummary);
            _query.NumberOfMonths = expectedNumberOfmonths;

            //Act
            var actual = await _handler.Handle(_query, _cancellationToken);

            //Assert
            Assert.AreEqual(ExpectedAccountId, actual.AccountId);
            Assert.AreEqual(expectedFundsIn, actual.FundsIn);
            Assert.AreEqual(expectedFundsOut, actual.FundsOut);
            Assert.AreEqual(DateTime.Today, actual.ProjectionStartDate);
            Assert.AreEqual(expectedNumberOfmonths, actual.NumberOfMonths);
        }
        public void Arrange()
        {
            _query = new GetAccountProjectionSummaryQuery {
                AccountId = ExpectedAccountId, NumberOfMonths = NumberOfMonths
            };
            _validator = new Mock <IValidator <GetAccountProjectionSummaryQuery> >();
            _validator.Setup(x => x.ValidateAsync(It.IsAny <GetAccountProjectionSummaryQuery>()))
            .ReturnsAsync(new ValidationResult {
                ValidationDictionary = new Dictionary <string, string>()
            });
            _cancellationToken = new CancellationToken();
            _service           = new Mock <IAccountProjectionService>();
            var accountProjectionSummary = new AccountProjectionSummary(
                ExpectedAccountId,
                DateTime.Today,
                12,
                123.56M,
                654.32M);

            _service.Setup(x => x.GetProjectionSummary(ExpectedAccountId, DateTime.Today, 12)).ReturnsAsync(accountProjectionSummary);

            _handler = new GetAccountProjectionSummaryQueryHandler(_validator.Object, _service.Object);
        }