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'); ((Action)(() => buffer.ReadAt(0, null, 0, 2))).ShouldThrow<ArgumentNullException>(); ((Action)(() => buffer.ReadAt(2, outBuffer, 0, 4))).ShouldThrow<ArgumentException>(); ((Action)(() => buffer.ReadAt(2, outBuffer, 3, 2))).ShouldThrow<ArgumentException>(); }
public void ReadingAt() { var buffer = new ConsoleInputBuffer(); buffer.Insert("abcd"); buffer.ReadAt(0, 2).Should().ContainInOrder('a', 'b'); buffer.ReadAt(2, 2).Should().ContainInOrder('c', 'd'); ((Action)(() => buffer.ReadAt(2, 4))).ShouldThrow<ArgumentException>(); ((Action)(() => buffer.ReadAt(3, 2))).ShouldThrow<ArgumentException>(); }