public void Should_read_failing_on_invalid_tokens( string data, int bufferSize, string invalidTokens, bool endOfSection, bool endOfStream, int read, string expectedData, bool invalid) { var invalidTokenBytes = invalidTokens.Split(",") .Select(x => x.Select(y => (byte)y).ToArray()).ToArray(); var stream = new MemoryStream(data.ToBytes()); var buffer = new DelimitedBuffer(stream, bufferSize); var readBuffer = new byte[10]; var readData = ""; var readLength = 0; DelimitedBuffer.ReadResult result; while (true) { result = buffer.Read(readBuffer, 0, 10, invalidTokenBytes); readLength += result.Read; if (result.Read > 0) { readData += readBuffer.ToString(result.Read); } if (result.Invalid || result.EndOfSection || result.EndOfStream) { break; } } result.Invalid.ShouldEqual(invalid); result.EndOfSection.ShouldEqual(endOfSection); result.EndOfStream.ShouldEqual(endOfStream); readLength.ShouldEqual(read); readData.ShouldEqual(expectedData); }
private string ReadRemaining(DelimitedBuffer delimitedBuffer) { var buffer = new byte[10]; var data = ""; while (true) { var result = delimitedBuffer.Read(buffer, 0, 10); if (result.Read > 0) { data += buffer.ToString(result.Read); } if (result.Invalid || result.EndOfSection || result.EndOfStream) { break; } } return(data); }