public void Read_MultipleChunkMessage_Succeeds() { ITokenReader tokenReader = new XmlTokenReader(); ITokenReaderState tokenReaderState = new XmlTokenReaderState(); String expectedMessage = StockLocationInfoResponseEnvelopeDataContractTests.Response.Xml; (String Left, String Right)messageBlocks = expectedMessage.Divide(); ReadOnlySequence <byte> firstChunk = new ReadOnlySequence <byte>(XmlSerializationSettings.Encoding.GetBytes(messageBlocks.Left)); ReadOnlySequence <byte> secondChunk = new ReadOnlySequence <byte>(XmlSerializationSettings.Encoding.GetBytes(messageBlocks.Left + messageBlocks.Right)); bool firstReadResult = tokenReader.Read(ref tokenReaderState, ref firstChunk, out _, out _); Assert.IsFalse(firstReadResult); bool secondReadResult = tokenReader.Read(ref tokenReaderState, ref secondChunk, out ReadOnlySequence <byte> token, out _); Assert.IsTrue(secondReadResult); String actualMessage = XmlSerializationSettings.Encoding.GetString(token.ToArray()); Assert.IsTrue(XmlComparer.AreEqual(expectedMessage, actualMessage)); }
public void Read_SingleChunkMessage_Succeeds() { ITokenReader tokenReader = new XmlTokenReader(); ITokenReaderState tokenReaderState = new XmlTokenReaderState(); String expectedMessage = StockLocationInfoResponseEnvelopeDataContractTests.Response.Xml; ReadOnlySequence <byte> buffer = new ReadOnlySequence <byte>(XmlSerializationSettings.Encoding.GetBytes(expectedMessage)); bool readResult = tokenReader.Read(ref tokenReaderState, ref buffer, out ReadOnlySequence <byte> token, out _); Assert.IsTrue(readResult); String actualMessage = XmlSerializationSettings.Encoding.GetString(token.ToArray()); Assert.IsTrue(XmlComparer.AreEqual(expectedMessage, actualMessage)); }