Ejemplo n.º 1
0
        public void MoveKnightTest()
        {
            // 4 X   X
            // 3       X
            // 2   N
            // 1       X
            //   1 2 3 4

            List <Tuple <int, int> > moves = SimplifiedChessEngine.GenerateMoves('N', 2, 2);

            Assert.AreEqual(4, moves.Count);
            Assert.That(moves.Contains(new Tuple <int, int>(1, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(3, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 3)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 1)));

            // 4 X
            // 3     N
            // 2 X
            // 1   X   X
            //   1 2 3 4

            moves = SimplifiedChessEngine.GenerateMoves('N', 3, 3);
            Assert.AreEqual(4, moves.Count);
            Assert.That(moves.Contains(new Tuple <int, int>(1, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(1, 2)));
            Assert.That(moves.Contains(new Tuple <int, int>(2, 1)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 1)));
        }
Ejemplo n.º 2
0
        public void TestCase10()
        {
            List <SimplifiedChessEngine> list = SimplifiedChessEngine.ReadStream(new StreamReader(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Test Input/SimplifiedChessEngine", "Test10Input.txt")));

            TextReader tr = new StreamReader(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Test Input", "SimplifiedChessEngine", "Test10Output.txt"));

            foreach (SimplifiedChessEngine sce in list)
            {
                Assert.AreEqual(tr.ReadLine(), sce.Solve());
            }
        }
Ejemplo n.º 3
0
        public void MultipleMovesRecursiveTest()
        {
            List <Tuple <char, char, int, int> > pieces = new List <Tuple <char, char, int, int> >(2);

            pieces.Add(new Tuple <char, char, int, int>('W', 'Q', 2, 1));
            pieces.Add(new Tuple <char, char, int, int>('B', 'Q', 1, 4));

            SimplifiedChessEngine sce = new SimplifiedChessEngine(3, pieces);

            Assert.AreEqual("YES", sce.Solve());
        }
Ejemplo n.º 4
0
        public void TestCase00()
        {
            List <Tuple <char, char, int, int> > pieces = new List <Tuple <char, char, int, int> >(3);

            pieces.Add(new Tuple <char, char, int, int>('W', 'N', 2, 2));
            pieces.Add(new Tuple <char, char, int, int>('W', 'Q', 2, 1));
            pieces.Add(new Tuple <char, char, int, int>('B', 'Q', 1, 4));

            SimplifiedChessEngine sce = new SimplifiedChessEngine(1, pieces);

            Assert.AreEqual("YES", sce.Solve());
        }
Ejemplo n.º 5
0
        public void MoveBishopTest()
        {
            //4 X
            //3   X   X
            //2     B
            //1   X   X
            //  1 2 3 4

            List <Tuple <int, int> > moves = SimplifiedChessEngine.GenerateMoves('B', 3, 2);

            Assert.AreEqual(5, moves.Count);
            Assert.That(moves.Contains(new Tuple <int, int>(1, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(2, 3)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 3)));
            Assert.That(moves.Contains(new Tuple <int, int>(2, 1)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 1)));
        }
Ejemplo n.º 6
0
        public void MoveRookTest()
        {
            //4   X
            //3   X
            //2 X R X X
            //1   X
            //  1 2 3 4

            List <Tuple <int, int> > moves = SimplifiedChessEngine.GenerateMoves('R', 2, 2);

            Assert.AreEqual(6, moves.Count);
            Assert.That(moves.Contains(new Tuple <int, int>(2, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(2, 3)));
            Assert.That(moves.Contains(new Tuple <int, int>(1, 2)));
            Assert.That(moves.Contains(new Tuple <int, int>(3, 2)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 2)));
            Assert.That(moves.Contains(new Tuple <int, int>(2, 1)));
        }
Ejemplo n.º 7
0
        public void TestCase01()
        {
            /*
             * 1
             * 1 1 4
             * Q C 1
             * Q B 3
             */

            List <Tuple <char, char, int, int> > pieces = new List <Tuple <char, char, int, int> >(2);

            pieces.Add(new Tuple <char, char, int, int>('W', 'Q', 'C', 1));
            pieces.Add(new Tuple <char, char, int, int>('B', 'Q', 'B', 3));

            SimplifiedChessEngine sce = new SimplifiedChessEngine(4, pieces);

            Assert.AreEqual("NO", sce.Solve());
        }
Ejemplo n.º 8
0
        public void MoveQueenTest()
        {
            //4   X X X
            //3 X X Q X
            //2   X X X
            //1 X   X
            //  1 2 3 4

            List <Tuple <int, int> > moves = SimplifiedChessEngine.GenerateMoves('Q', 3, 3);

            Assert.AreEqual(11, moves.Count);
            Assert.That(moves.Contains(new Tuple <int, int>(2, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(3, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 4)));
            Assert.That(moves.Contains(new Tuple <int, int>(1, 3)));
            Assert.That(moves.Contains(new Tuple <int, int>(2, 3)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 3)));
            Assert.That(moves.Contains(new Tuple <int, int>(2, 2)));
            Assert.That(moves.Contains(new Tuple <int, int>(3, 2)));
            Assert.That(moves.Contains(new Tuple <int, int>(4, 2)));
            Assert.That(moves.Contains(new Tuple <int, int>(1, 1)));
            Assert.That(moves.Contains(new Tuple <int, int>(3, 1)));
        }