public void SimpleQueryTransaction()
        {
            var query = new queryTransaction
            {
                id             = "myId",
                reportGroup    = "myReportGroup",
                origId         = "Deposit1",
                origActionType = actionTypeEnum.D,
                origLitleTxnId = 54321
            };

            var response      = _litle.queryTransaction(query);
            var queryResponse = (queryTransactionResponse)response;

            Assert.NotNull(queryResponse);
            Assert.AreEqual("000", queryResponse.response);
            Assert.AreEqual("Original transaction found", queryResponse.message);
            Assert.AreEqual("000", ((captureResponse)queryResponse.results_max10[0]).response);
        }
        public void TestQueryTransactionResponse()
        {
            queryTransaction query = new queryTransaction();

            query.id             = "myId";
            query.reportGroup    = "myReportGroup";
            query.origId         = "12345";
            query.origActionType = actionTypeEnum.D;
            query.origLitleTxnId = 54321;

            var mock = new Mock <Communications>();

            mock.Setup(Communications => Communications.HttpPost(It.IsRegex(".*<queryTransaction.*", RegexOptions.Singleline), It.IsAny <Dictionary <String, String> >()))
            .Returns("<litleOnlineResponse version='10.10' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><queryTransactionResponse id='FindAuth' reportGroup='Mer5PM1' customerId='1'><response>000</response><responseTime>2015-12-03T10:30:02</responseTime><message>Original transaction found</message><results_max10><authorizationResponse id='1' reportGroup='defaultReportGroup'><litleTxnId>756027696701750</litleTxnId><orderId>GenericOrderId</orderId><response>000</response><responseTime>2015-04-14T12:04:59</responseTime><postDate>2015-04-14</postDate><message>Approved</message><authCode>055858</authCode></authorizationResponse><authorizationResponse id='1' reportGroup='defaultReportGroup'><litleTxnId>756027696701751</litleTxnId><orderId>GenericOrderId</orderId><response>000</response><responseTime>2015-04-14T12:04:59</responseTime><postDate>2015-04-14</postDate><message>Approved</message><authCode>055858</authCode></authorizationResponse><captureResponse><response>000</response><message>Deposit approved</message></captureResponse></results_max10></queryTransactionResponse></litleOnlineResponse>");

            Communications mockedCommunication = mock.Object;

            litle.setCommunication(mockedCommunication);
            transactionTypeWithReportGroup response = (transactionTypeWithReportGroup)litle.queryTransaction(query);
            queryTransactionResponse       queryTransactionResponse = (queryTransactionResponse)response;

            Assert.NotNull(queryTransactionResponse);
            Assert.AreEqual("000", queryTransactionResponse.response);
            Assert.AreEqual(3, queryTransactionResponse.results_max10.Count);
            Assert.AreEqual("Original transaction found", queryTransactionResponse.message);
            Assert.AreEqual("000", ((authorizationResponse)queryTransactionResponse.results_max10[0]).response);
            Assert.AreEqual("Approved", ((authorizationResponse)queryTransactionResponse.results_max10[0]).message);
            Assert.AreEqual(756027696701750, ((authorizationResponse)queryTransactionResponse.results_max10[0]).litleTxnId);

            Assert.AreEqual("000", ((authorizationResponse)queryTransactionResponse.results_max10[1]).response);
            Assert.AreEqual("Approved", ((authorizationResponse)queryTransactionResponse.results_max10[1]).message);
            Assert.AreEqual(756027696701751, ((authorizationResponse)queryTransactionResponse.results_max10[1]).litleTxnId);

            Assert.AreEqual("000", ((authorizationResponse)queryTransactionResponse.results_max10[1]).response);
            Assert.AreEqual("Approved", ((authorizationResponse)queryTransactionResponse.results_max10[1]).message);
            Assert.AreEqual(756027696701751, ((authorizationResponse)queryTransactionResponse.results_max10[1]).litleTxnId);

            Assert.AreEqual("000", ((captureResponse)queryTransactionResponse.results_max10[2]).response);
            Assert.AreEqual("Deposit approved", ((captureResponse)queryTransactionResponse.results_max10[2]).message);
        }