public void ReadNextReadsAllSource() { string source = "1 2" + System.Environment.NewLine + "3456" + System.Environment.NewLine + "789"; SourceReader sourceReader = new SourceReader(new StringReader(source)); StringBuilder sourceBuilder = new StringBuilder(); while(!sourceReader.Empty) sourceBuilder.Append(sourceReader.ReadNext()); Assert.AreEqual(source, sourceBuilder.ToString()); }
public void ReadNextUpdatesPosition() { string source = "1 2" + System.Environment.NewLine + "3456" + System.Environment.NewLine + "789"; SourceReader sourceReader = new SourceReader(new StringReader(source)); Assert.IsFalse(sourceReader.Empty); Assert.AreEqual(0, sourceReader.Line); Assert.AreEqual(-1, sourceReader.Column); Assert.AreEqual('1', sourceReader.ReadNext()); Assert.AreEqual(0, sourceReader.Line); Assert.AreEqual(0, sourceReader.Column); Assert.AreEqual(' ', sourceReader.ReadNext()); Assert.AreEqual('2', sourceReader.ReadNext()); Assert.AreEqual('\r', sourceReader.ReadNext()); Assert.AreEqual('\n', sourceReader.ReadNext()); Assert.AreEqual('3', sourceReader.ReadNext()); Assert.AreEqual(1, sourceReader.Line); Assert.AreEqual(0, sourceReader.Column); Assert.AreEqual('4', sourceReader.ReadNext()); Assert.AreEqual(1, sourceReader.Line); Assert.AreEqual(1, sourceReader.Column); Assert.AreEqual('5', sourceReader.ReadNext()); Assert.AreEqual('6', sourceReader.ReadNext()); Assert.AreEqual('\r', sourceReader.ReadNext()); Assert.AreEqual('\n', sourceReader.ReadNext()); Assert.AreEqual('7', sourceReader.ReadNext()); Assert.AreEqual(2 , sourceReader.Line); Assert.AreEqual(0, sourceReader.Column); }
public void ReadNextThrowsInvalidOperationExceptionOnEmptyReader() { SourceReader sourceReader = new SourceReader(new StringReader(string.Empty)); sourceReader.ReadNext(); }