public void TestPrint() { KSPConsoleBuffer console = new KSPConsoleBuffer(25, 40); Assert.Equal(25, console.VisibleLines.Count); Assert.Equal(0, console.CursorCol); Assert.Equal(0, console.CursorRow); console.Print("Line1"); Assert.Equal(25, console.VisibleLines.Count); Assert.Equal(5, console.CursorCol); Assert.Equal(0, console.CursorRow); console.Print("Line1a"); Assert.Equal(25, console.VisibleLines.Count); Assert.Equal(11, console.CursorCol); Assert.Equal(0, console.CursorRow); console.Print("Line1b\nLine2\nLine3\nLine4\nLine5"); Assert.Equal(25, console.VisibleLines.Count); Assert.Equal(5, console.CursorCol); Assert.Equal(4, console.CursorRow); console.Print("Line5a"); Assert.Equal(25, console.VisibleLines.Count); Assert.Equal(11, console.CursorCol); Assert.Equal(4, console.CursorRow); List <ConsoleLine> visibleLines = console.VisibleLines; Assert.Equal("Line1Line1aLine1b", visibleLines[0].ToString().TrimEnd('\0')); Assert.Equal("Line2", visibleLines[1].ToString().TrimEnd('\0')); Assert.Equal("Line3", visibleLines[2].ToString().TrimEnd('\0')); Assert.Equal("Line4", visibleLines[3].ToString().TrimEnd('\0')); Assert.Equal("Line5Line5a", visibleLines[4].ToString().TrimEnd('\0')); }
public void TestPrintLineWithScroll() { KSPConsoleBuffer console = new KSPConsoleBuffer(25, 40); for (int i = 0; i < 60; i++) { console.PrintLine($"Line{i}"); } Assert.Equal(25, console.VisibleLines.Count); Assert.Equal(0, console.CursorCol); Assert.Equal(24, console.CursorRow); List <ConsoleLine> visibleLines = console.VisibleLines; for (int i = 0; i < 24; i++) { Assert.Equal($"Line{i + 36}", visibleLines[i].ToString().TrimEnd('\0')); Assert.Equal(i + 36, visibleLines[i].lineNumber); } Assert.Equal("", visibleLines[24].ToString().TrimEnd('\0')); }