void it_should_correctly_process_Authorize3dSync_requests()
        {
            var validAuthorize3dSync = RequestMocksFactory.CreateValidAuthorize3dSync().Instance;
            var invalidAuthorize3dSync = RequestMocksFactory.CreateValidAuthorize3dSync().Instance;
            invalidAuthorize3dSync.Amount = -1;

            var specsContainer = new describe_transaction_execution<Authorize3d, Authorize3dSuccessResponse, Authorize3dErrorResponse>(genesis, validAuthorize3dSync,
                ResponseMocksFactory.CreateAuthorize3dSyncSuccessResponse().Xml, ResponseMocksFactory.CreateAuthorize3dErrorResponse().Xml, invalidAuthorize3dSync);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_Avs_requests()
        {
            var validAvs = RequestMocksFactory.CreateValidAvs().Instance;
            var invalidAvs = RequestMocksFactory.CreateValidAvs().Instance;
            invalidAvs.Amount = -1;

            var specsContainer = new describe_transaction_execution<Avs, AvsSuccessResponse, AvsErrorResponse>(genesis, validAvs,
                ResponseMocksFactory.CreateAvsSuccessResponse().Xml, ResponseMocksFactory.CreateAvsErrorResponse().Xml, invalidAvs);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_AccountVerification_requests()
        {
            var validAccountVerification = RequestMocksFactory.CreateValidAccountVerification().Instance;
            var invalidAccountVerification = RequestMocksFactory.CreateValidAccountVerification().Instance;
            invalidAccountVerification.Amount = -1;

            var specsContainer = new describe_transaction_execution<AccountVerification, AccountVerificationSuccessResponse, AccountVerificationErrorResponse>(genesis, validAccountVerification,
                ResponseMocksFactory.CreateAccountVerificationSuccessResponse().Xml, ResponseMocksFactory.CreateAccountVerificationErrorResponse().Xml, invalidAccountVerification);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_Blacklist_requests()
        {
            var validBlacklist = RequestMocksFactory.CreateValidBlacklist().Instance;
            var invalidBlacklist = RequestMocksFactory.CreateValidBlacklist().Instance;
            invalidBlacklist.CardNumber = null;

            var specsContainer = new describe_transaction_execution<Blacklist, BlacklistSuccessResponse, BlacklistErrorResponse>(genesis, validBlacklist,
                ResponseMocksFactory.CreateBlacklistSuccessResponse().Xml, ResponseMocksFactory.CreateBlacklistErrorResponse().Xml, invalidBlacklist);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_WpfReconcile_requests()
        {
            var validWpfReconcile = RequestMocksFactory.CreateValidWpfReconcile().Instance;
            var invalidWpfReconcile = RequestMocksFactory.CreateValidWpfReconcile().Instance;
            invalidWpfReconcile.UniqueId = null;

            var specsContainer = new describe_transaction_execution<WpfReconcile, WpfReconcileSuccessResponse, WpfReconcileErrorResponse>(genesis, validWpfReconcile,
                ResponseMocksFactory.CreateWpfReconcileSuccessResponseForSuccessfulPayment().Xml, ResponseMocksFactory.CreateWpfReconcileErrorResponse().Xml);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_WpfCreate_requests()
        {
            var validWpfCreate = RequestMocksFactory.CreateValidWpfCreate().Instance;
            var invalidWpfCreate = RequestMocksFactory.CreateValidWpfCreate().Instance;
            invalidWpfCreate.Amount = -1;

            var specsContainer = new describe_transaction_execution<WpfCreate, WpfCreateSuccessResponse, WpfCreateErrorResponse>(genesis, validWpfCreate,
                ResponseMocksFactory.CreateWpfCreateSuccessResponse().Xml, ResponseMocksFactory.CreateWpfCreateErrorResponse().Xml, invalidWpfCreate);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_Void_requests()
        {
            var validVoid = RequestMocksFactory.CreateValidVoidRequest().Instance;
            var invalidVoid = RequestMocksFactory.CreateValidVoidRequest().Instance;
            invalidVoid.Id = null;

            var specsContainer = new describe_transaction_execution<VoidRequest, VoidSuccessResponse, VoidErrorResponse>(genesis, validVoid,
                ResponseMocksFactory.CreateVoidSuccessResponse().Xml, ResponseMocksFactory.CreateVoidErrorResponse().Xml);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_SingleRetrievalRequest_requests()
        {
            var validSingleRetrievalRequest = RequestMocksFactory.CreateValidSingleRetrievalRequest("arn").Instance;

            var specsContainer = new describe_transaction_execution<SingleRetrievalRequest, SingleRetrievalRequestSuccessResponse, SingleRetrievalRequestErrorResponse>(genesis, validSingleRetrievalRequest,
                ResponseMocksFactory.CreateSingleRetrievalRequestSuccessResponse().Xml, ResponseMocksFactory.CreateSingleRetrievalRequestErrorResponse().Xml);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_Sale_requests()
        {
            var validPayout = RequestMocksFactory.CreateValidSale().Instance;
            var invalidPayout = RequestMocksFactory.CreateValidSale().Instance;
            invalidPayout.Amount = -1;

            var specsContainer = new describe_transaction_execution<Sale, SaleSuccessResponse, SaleErrorResponse>(genesis, validPayout,
                ResponseMocksFactory.CreateSaleSuccessResponse().Xml, ResponseMocksFactory.CreateSaleErrorResponse().Xml, invalidPayout);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_Refund_requests()
        {
            var validRefund = RequestMocksFactory.CreateValidRefund().Instance;
            var invalidRefund = RequestMocksFactory.CreateValidRefund().Instance;
            invalidRefund.Amount = -1;

            var specsContainer = new describe_transaction_execution<Refund, RefundSuccessResponse, RefundErrorResponse>(genesis, validRefund,
                ResponseMocksFactory.CreateRefundSuccessResponse().Xml, ResponseMocksFactory.CreateRefundErrorResponse().Xml);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_MultiReconcile_requests()
        {
            var validMultiReconcile = RequestMocksFactory.CreateValidMultiReconcile().Instance;
            var invalidMultiReconcile = RequestMocksFactory.CreateValidMultiReconcile().Instance;
            invalidMultiReconcile.Page = -1;

            var specsContainer = new describe_transaction_execution<MultiReconcile, MultiReconcileSuccessResponse, MultiReconcileErrorResponse>(genesis, validMultiReconcile,
                ResponseMocksFactory.CreateMultiReconcileSuccessResponse().Xml, ResponseMocksFactory.CreateMultiReconcileErrorResponse().Xml, invalidMultiReconcile);

            SpecHelper.RunSpecs(specsContainer);
        }
        void it_should_correctly_process_Credit_requests()
        {
            var validCredit = RequestMocksFactory.CreateValidCredit().Instance;
            var invalidCredit = RequestMocksFactory.CreateValidCredit().Instance;
            invalidCredit.Amount = -1;

            var specsContainer = new describe_transaction_execution<Credit, CreditSuccessResponse, CreditErrorResponse>(genesis, validCredit,
                ResponseMocksFactory.CreateCreditSuccessResponse().Xml, ResponseMocksFactory.CreateCreditErrorResponse().Xml);

            SpecHelper.RunSpecs(specsContainer);
        }