public void CanReadLineNearEnd() { var stack = new BinaryStreamStack(Encoding.UTF8); stack.Push(TestUtil.StringToByteNoBom("\r\n--endboundary--")); Assert.AreEqual(stack.ReadLine(), string.Empty); Assert.AreEqual(stack.ReadLine(), "--endboundary--"); }
public void CanReadLineMultiplesLineInSingleBuffer() { var stack = new BinaryStreamStack(Encoding.UTF8); stack.Push(TestUtil.StringToByteNoBom("al" + Environment.NewLine)); stack.Push(TestUtil.StringToByteNoBom("6chars" + Environment.NewLine + "5char" + Environment.NewLine + "Parti")); Assert.AreEqual(stack.ReadLine(), "6chars"); Assert.AreEqual(stack.ReadLine(), "5char"); Assert.AreEqual(stack.ReadLine(), "Partial"); }
public void CanReadLineAcrossMultipleBuffers() { var stack = new BinaryStreamStack(Encoding.UTF8); stack.Push(TestUtil.StringToByteNoBom("13anotherline" + Environment.NewLine)); stack.Push(TestUtil.StringToByteNoBom("ars" + Environment.NewLine)); stack.Push(TestUtil.StringToByteNoBom("6ch")); string line = stack.ReadLine(); Assert.AreEqual(line, "6chars"); line = stack.ReadLine(); Assert.AreEqual(line, "13anotherline"); }
public void CanReadLineSingleBuffer() { var stack = new BinaryStreamStack(Encoding.UTF8); stack.Push(TestUtil.StringToByteNoBom("6chars" + Environment.NewLine)); var buffer = new byte[Encoding.UTF8.GetByteCount("6chars" + Environment.NewLine)]; string result = stack.ReadLine(); Assert.AreEqual(result, "6chars"); }
public void ReturnsRemainderOnNoNewline() { var stack = new BinaryStreamStack(Encoding.UTF8); stack.Push(TestUtil.StringToByteNoBom("noline")); string noline = stack.ReadLine(); Assert.AreEqual(noline, "noline"); }
public void ReturnsNullOnNoStreams() { var stack = new BinaryStreamStack(Encoding.UTF8); string noline = stack.ReadLine(); Assert.IsNull(noline); }
public void ReadLineCanResumeInterruptedStream() { var stack = new BinaryStreamStack(Encoding.UTF8); stack.Push(TestUtil.StringToByteNoBom("6chars" + Environment.NewLine + "Resume" + Environment.NewLine)); Assert.AreEqual(stack.ReadLine(), "6chars"); stack.Push(TestUtil.StringToByteNoBom("Interrupt" + Environment.NewLine)); Assert.AreEqual(stack.ReadLine(), "Interrupt"); Assert.AreEqual(stack.ReadLine(), "Resume"); }
public void MixReadAndReadLineWithInterrupt() { var stack = new BinaryStreamStack(Encoding.UTF8); stack.Push(TestUtil.StringToByteNoBom("6chars" + Environment.NewLine + "Resume" + Environment.NewLine)); Assert.AreEqual(stack.Read(), '6'); Assert.AreEqual(stack.ReadLine(), "chars"); stack.Push(TestUtil.StringToByteNoBom("Interrupt" + Environment.NewLine)); Assert.AreEqual(stack.ReadLine(), "Interrupt"); Assert.AreEqual(stack.Read(), 'R'); Assert.AreEqual(stack.ReadLine(), "esume"); }