public void testRFRRequest() { RFRRequest rfrRequest = new RFRRequest(); rfrRequest.litleSessionId = 123456789; var mockBatchXmlReader = new Mock<XmlReader>(); mockBatchXmlReader.Setup(XmlReader => XmlReader.ReadState).Returns(ReadState.Closed); mockXmlReader.SetupSequence(XmlReader => XmlReader.ReadState).Returns(ReadState.Interactive).Returns(ReadState.Closed); mockXmlReader.Setup(XmlReader => XmlReader.ReadOuterXml()).Returns("<RFRResponse response=\"1\" message=\"The account update file is not ready yet. Please try again later.\" xmlns='http://www.litle.com/schema'> </RFRResponse>"); litleResponse mockedLitleResponse = new litleResponse(); mockedLitleResponse.setRfrResponseReader(mockXmlReader.Object); mockedLitleResponse.setBatchResponseReader(mockBatchXmlReader.Object); var mockLitleXmlSerializer = new Mock<litleXmlSerializer>(); mockLitleXmlSerializer.Setup(litleXmlSerializer => litleXmlSerializer.DeserializeObjectFromFile(It.IsAny<String>())).Returns(mockedLitleResponse); litleXmlSerializer mockedLitleXmlSerializer = mockLitleXmlSerializer.Object; litleFile mockedLitleFile = mockLitleFile.Object; litleTime mockedLitleTime = mockLitleTime.Object; Communications mockedCommunications = mockCommunications.Object; litle.setLitleFile(mockedLitleFile); litle.setLitleTime(mockedLitleTime); litle.setCommunication(mockedCommunications); litle.setLitleXmlSerializer(mockedLitleXmlSerializer); rfrRequest.setLitleFile(mockedLitleFile); rfrRequest.setLitleTime(mockedLitleTime); litle.addRFRRequest(rfrRequest); string batchFileName = litle.sendToLitle(); litleResponse actualLitleResponse = litle.receiveFromLitle(batchFileName); batchResponse nullLitleBatchResponse = actualLitleResponse.nextBatchResponse(); RFRResponse actualRFRResponse = actualLitleResponse.nextRFRResponse(); RFRResponse nullRFRResponse = actualLitleResponse.nextRFRResponse(); Assert.IsNotNull(actualRFRResponse); Assert.AreEqual("1", actualRFRResponse.response); Assert.AreEqual("The account update file is not ready yet. Please try again later.", actualRFRResponse.message); Assert.IsNull(nullLitleBatchResponse); Assert.IsNull(nullRFRResponse); mockCommunications.Verify(Communications => Communications.FtpDropOff(It.IsAny<String>(), mockFileName, It.IsAny<Dictionary<String, String>>())); mockCommunications.Verify(Communications => Communications.FtpPickUp(It.IsAny<String>(), It.IsAny<Dictionary<String, String>>(), mockFileName)); }