public void Reattach_Case1(string prefixText, string readerText) { // Arrange var r = new PrependableReader(CharPosition.BeginningOfFile, prefixText.ToArray(), new StringReader(readerText)); r.Read(); // Act r.Reattach(CharPosition.BeginningOfFile, prefixText.ToArray()); var p = r.Position.Index; var l = r.Position.Line; var c = r.Position.Column; var ch = r.Peek(); // Assert Assert.That(p, Is.EqualTo(0)); Assert.That(l, Is.EqualTo(1)); Assert.That(c, Is.EqualTo(1)); Assert.That(ch, Is.EqualTo(prefixText.Length == 0 ? readerText[1] : (prefixText + readerText)[0])); }
public void Reattach_Case2(string prefixText, string readerText) { // Arrange var r = new PrependableReader(CharPosition.BeginningOfFile, prefixText.ToArray(), new StringReader(readerText)); r.Read(); r.Read(); r.Read(); // Act r.Reattach(CharPosition.BeginningOfFile.NextColumn, "ab".ToArray()); var p = r.Position.Index; var l = r.Position.Line; var c = r.Position.Column; var ch = r.Peek(); // Assert Assert.That(p, Is.EqualTo(1)); Assert.That(l, Is.EqualTo(1)); Assert.That(c, Is.EqualTo(2)); Assert.That(ch, Is.EqualTo('a')); Assert.That(r.ReadToEnd(), Is.EqualTo("ab3456789")); }