Esempio n. 1
0
        public void RepeatedMethodCallDoNotChangeBehaviour()
        {
            var board       = BoardParser.ParseBoardByLines(_testBoardLines);
            var chesProblem = new ChessProblem(board);

            Assert.AreEqual(ChessStatus.Check, chesProblem.CalculateChessStatus());

            // Now check that internal board modifications during the first call do not change answer
            Assert.AreEqual(ChessStatus.Check, chesProblem.CalculateChessStatus());
        }
Esempio n. 2
0
        private static void TestOnFile(string filename)
        {
            var boardLines  = File.ReadAllLines(filename);
            var board       = BoardParser.ParseBoardByLines(boardLines);
            var chesProblem = new ChessProblem(board);

            var expectedAnswer = File.ReadAllText(Path.ChangeExtension(filename, ".ans")).Trim();
            var resultStatus   = chesProblem.CalculateChessStatus();

            Assert.AreEqual(expectedAnswer, resultStatus.ToString().ToLower(), "Failed test " + filename);
        }
Esempio n. 3
0
        private static void TestOnFile(string filename)
        {
            var lines = File.ReadAllLines(filename);
            var board = new BoardParser().ParseBoard(lines);

            var ch             = new ChessProblem(board);
            var expectedAnswer = File.ReadAllText(Path.ChangeExtension(filename, ".ans")).Trim();

            ch.GetChessStatusFor(PieceColor.White);
            Assert.AreEqual(expectedAnswer, ch.GetChessStatusFor(PieceColor.White).ToString().ToLower(), "Failed test " + filename);
        }
Esempio n. 4
0
        public void RepeatedMethodCallDoNotChangeBehaviour()
        {
            var lines = new[]
            {
                "        ",
                "        ",
                "        ",
                "   q    ",
                "    K   ",
                " Q      ",
                "        ",
                "        ",
            };
            var board = new BoardParser().ParseBoard(lines);
            var ch    = new ChessProblem(board);

            Assert.AreEqual(ChessStatus.Check, ch.GetChessStatusFor(PieceColor.White));

            // Now check that internal board modifictions during the first call do not change answer
            ch.GetChessStatusFor(PieceColor.White);
            Assert.AreEqual(ChessStatus.Check, ch.GetChessStatusFor(PieceColor.White));
        }