public void Peek_NullString_ReturnsNullChar() { using (var scanner = new ListStream <char>(null)) { Assert.Equal('\0', scanner.Peek()); } }
public void Peek_LongString_ReturnsSameAsPop() { const string input = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; using (var scanner = new ListStream <char>(input.ToCharArray())) { while (!scanner.IsCompleted) { char ch = scanner.Peek(); Assert.Equal(scanner.Pop(), ch); } Assert.Equal(true, scanner.IsCompleted); } }
public void Pop_EscapedSequence_ReturnsSameSequence() { const string input = @"""\\\b\f\n\r\t\u0123\u4567\u89AB\uCDEF\uabcd\uef4A\"""""; using (var scanner = new ListStream <char>(input.ToCharArray())) { var buffer = new StringBuilder(); while (!scanner.IsCompleted) { buffer.Append(scanner.Pop()); scanner.Peek(); } Assert.Equal(input, buffer.ToString()); } }