public void Should_read_to_delimiter_failing_on_invalid_tokens( string data, int bufferSize, string delimiter, string invalidTokens, bool endOfSection1, bool endOfStream1, string read1, bool invalid1, bool endOfSection2, bool endOfStream2, string read2, bool invalid2, string remainingData) { 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 result = buffer.ReadTo(readBuffer, 0, 10, delimiter.ToBytes(), invalidTokenBytes); result.Invalid.ShouldEqual(invalid1); result.EndOfSection.ShouldEqual(endOfSection1); result.EndOfStream.ShouldEqual(endOfStream1); readBuffer.ToString(result.Read).ShouldEqual(read1); result = buffer.ReadTo(readBuffer, 0, 10, delimiter.ToBytes(), invalidTokenBytes); result.Invalid.ShouldEqual(invalid2); result.EndOfSection.ShouldEqual(endOfSection2); result.EndOfStream.ShouldEqual(endOfStream2); readBuffer.ToString(result.Read).ShouldEqual(read2); ReadRemaining(buffer).ShouldEqual(remainingData); }
public void Should_read_to_failing_on_invalid_chars( string data, int bufferSize, string delimiter, string validChars, bool endOfSection1, bool endOfStream1, int read1, bool invalid1, bool endOfSection2, bool endOfStream2, int read2, bool invalid2, string remainingData) { var stream = new MemoryStream(data.ToBytes()); var buffer = new DelimitedBuffer(stream, bufferSize); var result = buffer.ReadTo(delimiter.ToBytes(), validChars.ToBytes()); result.Invalid.ShouldEqual(invalid1); result.EndOfSection.ShouldEqual(endOfSection1); result.EndOfStream.ShouldEqual(endOfStream1); result.Read.ShouldEqual(read1); result = buffer.ReadTo(delimiter.ToBytes(), validChars.ToBytes()); result.Invalid.ShouldEqual(invalid2); result.EndOfSection.ShouldEqual(endOfSection2); result.EndOfStream.ShouldEqual(endOfStream2); result.Read.ShouldEqual(read2); ReadRemaining(buffer).ShouldEqual(remainingData); }
public void Should_not_start_with_comparison_that_exceeds_buffer_size() { var data = "fark".ToBytes(); var stream = new MemoryStream(data); var buffer = new DelimitedBuffer(stream, 4); buffer.ReadTo(data); buffer.StartsWith(data).ShouldBeFalse(); }
public void Should_indicate_when_at_begining_of_stream() { var stream = new MemoryStream("fark".ToBytes()); var buffer = new DelimitedBuffer(stream); buffer.BeginingOfStream.ShouldBeTrue(); buffer.ReadTo(null, 0, 2, null); buffer.BeginingOfStream.ShouldBeFalse(); }