public void testAccountUpdateFileRequestData()
        {
            Dictionary<String, String> mockConfig = new Dictionary<string, string>();

            mockConfig["url"] = "https://www.mockurl.com";
            mockConfig["reportGroup"] = "Mock Report Group";
            mockConfig["username"] = "******";
            mockConfig["printxml"] = "false";
            mockConfig["timeout"] = "35";
            mockConfig["proxyHost"] = "www.mockproxy.com";
            mockConfig["merchantId"] = "MOCKID";
            mockConfig["password"] = "******";
            mockConfig["proxyPort"] = "3000";
            mockConfig["sftpUrl"] = "www.mockftp.com";
            mockConfig["sftpUsername"] = "******";
            mockConfig["sftpPassword"] = "******";
            mockConfig["knownHostsFile"] = "C:\\MockKnownHostsFile";
            mockConfig["onlineBatchUrl"] = "www.mockbatch.com";
            mockConfig["onlineBatchPort"] = "4000";
            mockConfig["requestDirectory"] = "C:\\MockRequests";
            mockConfig["responseDirectory"] = "C:\\MockResponses";

            AccountUpdateFileRequestData accountUpdateFileRequest = new AccountUpdateFileRequestData(mockConfig);
            AccountUpdateFileRequestData accountUpdateFileRequestDefault = new AccountUpdateFileRequestData();

            Assert.AreEqual(accountUpdateFileRequestDefault.MerchantId, Properties.Settings.Default.merchantId);
            Assert.AreEqual(accountUpdateFileRequest.MerchantId, mockConfig["merchantId"]);
        }
        public void RFRBatch()
        {
            BatchRequest litleBatchRequest = new BatchRequest();
            litleBatchRequest.ID = "1234567A";

            AccountUpdate accountUpdate1 = new AccountUpdate();
            accountUpdate1.OrderId = "1111";
            CardType card = new CardType();
            card.Type = MethodOfPaymentTypeEnum.VI;
            card.Number = "4242424242424242";
            card.ExpDate = "1210";
            accountUpdate1.Card = card;

            litleBatchRequest.AddAccountUpdate(accountUpdate1);

            AccountUpdate accountUpdate2 = new AccountUpdate();
            accountUpdate2.OrderId = "1112";
            accountUpdate2.Card = card;

            litleBatchRequest.AddAccountUpdate(accountUpdate2);
            litle.AddBatch(litleBatchRequest);

            string batchName = litle.SendToLitle();
            litle.BlockAndWaitForResponse(batchName, estimatedResponseTime(0, 1 * 2));
            LitleResponse litleResponse = litle.ReceiveFromLitle(batchName);

            Assert.NotNull(litleResponse);

            BatchResponse litleBatchResponse = litleResponse.NextBatchResponse();
            Assert.NotNull(litleBatchResponse);
            while (litleBatchResponse != null)
            {
                AccountUpdateResponse accountUpdateResponse = litleBatchResponse.NextAccountUpdateResponse();
                Assert.NotNull(accountUpdateResponse);
                while (accountUpdateResponse != null)
                {
                    Assert.AreEqual("000", accountUpdateResponse.Response);

                    accountUpdateResponse = litleBatchResponse.NextAccountUpdateResponse();
                }
                litleBatchResponse = litleResponse.NextBatchResponse();
            }

            LitleRequest litleRfr = new LitleRequest();
            RfrRequest rfrRequest = new RfrRequest();
            AccountUpdateFileRequestData accountUpdateFileRequestData = new AccountUpdateFileRequestData();
            accountUpdateFileRequestData.MerchantId = Properties.Settings.Default.merchantId;
            accountUpdateFileRequestData.PostDay = DateTime.Now;
            rfrRequest.AccountUpdateFileRequestData = accountUpdateFileRequestData;

            litleRfr.AddRfrRequest(rfrRequest);

            string rfrBatchName = litleRfr.SendToLitle();

            try
            {
                litle.BlockAndWaitForResponse(rfrBatchName, 120000);
                LitleResponse litleRfrResponse = litle.ReceiveFromLitle(rfrBatchName);
                Assert.NotNull(litleRfrResponse);
                RFRResponse rfrResponse = litleRfrResponse.NextRFRResponse();
                Assert.NotNull(rfrResponse);
                while (rfrResponse != null)
                {
                    Assert.AreEqual("1", rfrResponse.Response);
                    Assert.AreEqual("The account update file is not ready yet.  Please try again later.", rfrResponse.Message);
                    rfrResponse = litleResponse.NextRFRResponse();
                }
            }
            catch (Exception)
            {
            }
        }