public void ReadingAtWithExplicitBuffer() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); var outBuffer = new char[4]; buffer.ReadAt(0, outBuffer, 0, 2); outBuffer[0].Should().Be('a'); outBuffer[1].Should().Be('b'); buffer.ReadAt(2, outBuffer, 0, 2); outBuffer[0].Should().Be('c'); outBuffer[1].Should().Be('d'); outBuffer[0] = 'x'; buffer.ReadAt(0, outBuffer, 1, 1); outBuffer[0].Should().Be('x'); outBuffer[1].Should().Be('a'); buffer.Invoking(b => b.ReadAt(0, null, 0, 2)).Should().Throw <ArgumentNullException>(); buffer.Invoking(b => b.ReadAt(2, outBuffer, 0, 4)).Should().Throw <ArgumentException>(); buffer.Invoking(b => b.ReadAt(2, outBuffer, 3, 2)).Should().Throw <ArgumentException>(); }
public void ReadingAt() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); buffer.ReadAt(0, 2).Should().Equal('a', 'b'); buffer.ReadAt(2, 2).Should().Equal('c', 'd'); buffer.Invoking(b => b.ReadAt(2, 4)).Should().Throw <ArgumentException>(); buffer.Invoking(b => b.ReadAt(3, 2)).Should().Throw <ArgumentException>(); }
public void ReplaceWithTooLongString() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); buffer.Invoking(b => b.Replace("xyzzy")).Should().Throw <ArgumentOutOfRangeException>(); }
public void ReplaceWithNullString() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); buffer.Invoking(b => b.Replace(null)).Should().Throw <ArgumentNullException>(); }
public void ReplacingAtEnd() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); buffer.MoveCursor(SeekOrigin.End, 0); buffer.Invoking(b => b.Replace('x')).Should().Throw <Exception>(); }
public void MovingCursorBogusly() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); buffer.Invoking(b => b.MoveCursor((SeekOrigin)0x10, 1)) .Should().Throw <ArgumentOutOfRangeException>(); }
public void Reading() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); buffer.Read(0).Should().BeEmpty(); buffer.Read(1).Should().Equal('a'); buffer.Read(2).Should().Equal('a', 'b'); buffer.Read(3).Should().Equal('a', 'b', 'c'); buffer.Read(4).Should().Equal('a', 'b', 'c', 'd'); buffer.Invoking(b => b.Read(5)).Should().Throw <ArgumentException>(); }