public void AcquittalsWcfThrowsFaultExceptionThrowsServiceValidationException()
        {
            var exception = new FaultException(new FaultReason("reason"), new FaultCode("code"));

            var inModel = new PaymentsModel {
                PaymentId = 1234567890
            };
            var request  = MappingEngine.Map <ClmAcqReadRequest>(inModel);
            var response = new ClmAcqReadResponse
            {
                OutGroupAcquittalList = new List <OutGroupAcquittalList>
                {
                    new OutGroupAcquittalList
                    {
                        AcqAcquitalAmount = 110.99,
                        AcqAquittalDate   = new DateTime(2012, 10, 10)
                    }
                }.ToArray()
            };

            var outModel = MappingEngine.Map <PaymentsModel>(response);

            mockMappingEngine.Setup(m => m.Map <ClmAcqReadRequest>(inModel)).Returns(request);
            mockAcquittalsService.Setup(m => m.ClmAcqReadExecute(request)).Throws(exception);
            mockMappingEngine.Setup(m => m.Map <PaymentsModel>(response)).Returns(outModel);

            SystemUnderTest().ListOffsets(inModel);
        }
        public void AcquittalsValidResults()
        {
            var inModel = new PaymentsModel {
                PaymentId = 1234567890
            };
            var request  = MappingEngine.Map <ClmAcqReadRequest>(inModel);
            var response = new ClmAcqReadResponse
            {
                OutGroupAcquittalList = new List <OutGroupAcquittalList>
                {
                    new OutGroupAcquittalList
                    {
                        AcqAcquitalAmount = 110.99,
                        AcqAquittalDate   = new DateTime(2012, 10, 10)
                    }
                }.ToArray()
            };

            var outModel = MappingEngine.Map <PaymentsModel>(response);

            mockMappingEngine.Setup(m => m.Map <ClmAcqReadRequest>(inModel)).Returns(request);
            mockAcquittalsService.Setup(m => m.ClmAcqReadExecute(request)).Returns(response);
            mockMappingEngine.Setup(m => m.Map <PaymentsModel>(response)).Returns(outModel);

            var result = SystemUnderTest().ListOffsets(inModel);

            Assert.IsTrue(result.ListOfPayments.Count() == outModel.ListOfPayments.Count());
            Assert.IsTrue(Math.Abs(result.ListOfPayments.First().Amount - outModel.ListOfPayments.First().Amount) < double.Epsilon);
            mockMappingEngine.Verify(m => m.Map <ClmAcqReadRequest>(inModel), Times.Once());
            mockAcquittalsService.Verify(m => m.ClmAcqReadExecute(request), Times.Once());
            mockMappingEngine.Verify(m => m.Map <PaymentsModel>(response), Times.Once());
        }