public void TestKingMovements() { string inputCommands = string.Format( "kur{0}adr{0}kur{0}bdr{0}kur{0}ddl{0}kur{0}adl{0}kul{0}bdl{0}kur{0}cdl{0}kul", Environment.NewLine); using (StringWriter stringWriter = new StringWriter()) { Console.SetOut(stringWriter); using (StringReader stringReader = new StringReader(inputCommands)) { Console.SetIn(stringReader); IEngine engine = new ConsoleEngine(); engine.Run(); char[] separators = Environment.NewLine.ToCharArray(); string consoleOutput = stringWriter.ToString(); string[] outputLines = consoleOutput.Split(separators, StringSplitOptions.RemoveEmptyEntries); string kingRowActual = outputLines[outputLines.Length - 10]; string kingRowExpected = "0 | + - + - + - K - |"; Assert.AreEqual<string>( kingRowExpected, kingRowActual, "King not moved correctly!"); } } }
public void TestKingWinsWithInvalidMoves() { string inputCommands = string.Format( "kur{0}bdr{0}kur{0}bdr{0}kul{0}bdr{0}kur{0}{1}kul{0}bdr{0}" + "kdr{0}bdr{0}kul{0}bdr{0}{1}bdl{0}kur{0}bdr{0}kul{0}cdr{0}kur", Environment.NewLine, Enter); using (StringWriter stringWriter = new StringWriter()) { Console.SetOut(stringWriter); using (StringReader stringReader = new StringReader(inputCommands)) { Console.SetIn(stringReader); IEngine engine = new ConsoleEngine(); engine.Run(); char[] separators = Environment.NewLine.ToCharArray(); string consoleOutput = stringWriter.ToString(); string[] outputLines = consoleOutput.Split(separators, StringSplitOptions.RemoveEmptyEntries); string expected = "King wins in 9 turns!"; int lastLineIndex = outputLines.Length - 1; string actual = outputLines[lastLineIndex]; Assert.AreEqual<string>(expected, actual); } } }
public void TestKingPawn() { string inputCommands = string.Format( "kur{0}adr{0}kur{0}adl{0}kur{0}ddl{0}kur{0}bdr{0}kul{0}bdl{0}kdr{0}bdl{0}kul{0}bdr{0}kur{0}adr{0}kul", Environment.NewLine); using (StringWriter stringWriter = new StringWriter()) { Console.SetOut(stringWriter); using (StringReader stringReader = new StringReader(inputCommands)) { Console.SetIn(stringReader); IEngine engine = new ConsoleEngine(); engine.Run(); char[] separators = Environment.NewLine.ToCharArray(); string consoleOutput = stringWriter.ToString(); string[] outputLines = consoleOutput.Split(separators, StringSplitOptions.RemoveEmptyEntries); string kingInitialRow = outputLines[9]; int delimiterFirstIndex = kingInitialRow.IndexOf('|'); int delimiterLastIndex = kingInitialRow.LastIndexOf('|'); string kingInitialRowInBoard = kingInitialRow.Substring(delimiterFirstIndex + 1, delimiterLastIndex - delimiterFirstIndex - 1); string[] kingInitialRowInBoardSplitted = kingInitialRowInBoard.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); Assert.AreEqual<string>("K", kingInitialRowInBoardSplitted[3]); } } }
public static void Main() { Console.Title = "King Survival v1.0 ---Team Erbium---"; IEngine consoleEngine = new ConsoleEngine(); consoleEngine.Run(); }
public void TestPawnsMovements() { string inputCommands = string.Format( "kur{0}adr{0}kur{0}adl{0}kur{0}ddl{0}kur{0}bdr{0}kul{0}bdl{0}kdr{0}bdl{0}kul{0}bdr{0}kur{0}adr{0}kul", Environment.NewLine); using (StringWriter stringWriter = new StringWriter()) { Console.SetOut(stringWriter); using (StringReader stringReader = new StringReader(inputCommands)) { Console.SetIn(stringReader); IEngine engine = new ConsoleEngine(); engine.Run(); char[] separators = Environment.NewLine.ToCharArray(); string consoleOutput = stringWriter.ToString(); string[] outputLines = consoleOutput.Split(separators, StringSplitOptions.RemoveEmptyEntries); string pawnARowActual = outputLines[outputLines.Length - 7]; string pawnARowExpected = "3 | - A - + - + - + |"; string pawnBRowActual = outputLines[outputLines.Length - 6]; string pawnBRowExpected = "4 | + - B - + - + - |"; string pawnCRowActual = outputLines[outputLines.Length - 10]; string pawnCRowExpected = "0 | + - + - C - K - |"; string pawnDRowActual = outputLines[outputLines.Length - 9]; string pawnDRowExpected = "1 | - + - + - D - + |"; Assert.AreEqual<string>( pawnARowExpected, pawnARowActual, "Pawn A not moved correctly!"); Assert.AreEqual<string>( pawnBRowExpected, pawnBRowActual, "Pawn B not moved correctly!"); Assert.AreEqual<string>( pawnCRowExpected, pawnCRowActual, "Pawn C not moved correctly!"); Assert.AreEqual<string>( pawnDRowExpected, pawnDRowActual, "Pawn D not moved correctly!"); } } }
public void TestBoard() { string inputCommands = string.Format( "kul{0}bdr{0}kul{0}bdl{0}kur{0}adr{0}kur{0}bdl{0}kur{0}bdl{0}kul{0}ddl{0}kul", Environment.NewLine); using (StringWriter stringWriter = new StringWriter()) { Console.SetOut(stringWriter); using (StringReader stringReader = new StringReader(inputCommands)) { Console.SetIn(stringReader); IEngine engine = new ConsoleEngine(); engine.Run(); char[] separators = Environment.NewLine.ToCharArray(); string consoleOutput = stringWriter.ToString(); string[] outputLines = consoleOutput.Split(separators, StringSplitOptions.RemoveEmptyEntries); string expected = " 0 1 2 3 4 5 6 7" + " -----------------" + "0 | A - B - C - D - |" + "1 | - + - + - + - + |" + "2 | + - + - + - + - |" + "3 | - + - + - + - + |" + "4 | + - + - + - + - |" + "5 | - + - + - + - + |" + "6 | + - + - + - + - |" + "7 | - + - K - + - + |" + " -----------------"; int boardInitializationIndex = 11; StringBuilder board = new StringBuilder(); for (int i = 0; i < boardInitializationIndex; i++) { board.Append(outputLines[i]); } string actual = board.ToString(); Assert.AreEqual<string>(expected, actual, "Board is not create correctly!"); } } }
public void TestKingIsTrappedInRightDownCorner() { string inputCommands = string.Format( "kur{0}bdl{0}kur{0}bdr{0}kul{0}bdr{0}kdr{0}bdr{0}kdr{0}bdr{0}kdr{0}bdr", Environment.NewLine); using (StringWriter stringWriter = new StringWriter()) { Console.SetOut(stringWriter); using (StringReader stringReader = new StringReader(inputCommands)) { Console.SetIn(stringReader); IEngine engine = new ConsoleEngine(); engine.Run(); char[] separators = Environment.NewLine.ToCharArray(); string consoleOutput = stringWriter.ToString(); string[] outputLines = consoleOutput.Split(separators, StringSplitOptions.RemoveEmptyEntries); string expected = "King loses in 6 turns..."; int lastLineIndex = outputLines.Length - 1; string actual = outputLines[lastLineIndex]; Assert.AreEqual<string>(expected, actual); } } }