public void Reads_character_at_a_time() { int[] chars = new int[] { 'a', 'b', 'c', '\n', 'd', 'e', '\n', 'f', 'g', 'h', 'i', 'j', 'k', '\n', 'l', 'm', 'n', 'o', 'p', 'q', '\n', '\n', 'r', 's', 't', 'u', 'v' }; int[] positions = new int[] { 1, 2, 3, 0, 1, 2, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 0, 1, 2, 3, 4, 5 }; int[] lines = new int[] { 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6 }; bool[] starts = new bool[] { false, false, false, true, false, false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, true, true, false, false, false, false, false }; int i = 0; int ch; while ((ch = _rdr.Read()) != -1) { Expect(ch, EqualTo(chars[i])); Expect(_rdr.Position, EqualTo(positions[i])); Expect(_rdr.LineNumber, EqualTo(lines[i])); Expect(_rdr.AtLineStart, EqualTo(starts[i])); ++i; } }
public void Reads_character_at_a_time() { int[] chars = new int[] { 'a', 'b', 'c', '\n', 'd', 'e', '\n', 'f', 'g', 'h', 'i', 'j', 'k', '\n', 'l', 'm', 'n', 'o', 'p', 'q', '\n', '\n', 'r', 's', 't', 'u', 'v' }; int[] positions = new int[] { 2, 3, 4, 1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 1, 2, 3, 4, 5, 6 }; int[] lines = new int[] { 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6 }; int[] indexes = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, // \r\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 }; bool[] starts = new bool[] { false, false, false, true, false, false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, true, true, false, false, false, false, false }; int i = 0; int ch; while ((ch = _rdr.Read()) != -1) { Expect(_rdr.Index, EqualTo(indexes[i])); Expect(ch, EqualTo(chars[i])); Expect(_rdr.ColumnNumber, EqualTo(positions[i])); Expect(_rdr.LineNumber, EqualTo(lines[i])); Expect(_rdr.AtLineStart, EqualTo(starts[i])); ++i; } }