Пример #1
0
        public void TestSimpleMove()
        {
            var m  = GetSimpleRowMoveMatrix();
            var ma = new Analyser.Analyser();

            CellValue cellValue;

            Assert.AreEqual(true, Analyser.Analyser.CanMove(m, 8, 0, out cellValue));
            Assert.AreEqual(CellValue.Nine, cellValue);
            Assert.AreEqual(false, Analyser.Analyser.CanMove(m, 7, 0, out cellValue));

            Assert.AreEqual(true, Analyser.Analyser.CanMove(m));

            m = GetSimpleColumnMoveMatrix();
            var c = m.Column(0);

            Assert.AreEqual(CellValue.Eight, c[7].CellValue);
            Assert.AreEqual(CellValue.Blank, c[8].CellValue);
            Assert.AreEqual(true, Analyser.Analyser.CanMove(m, 0, 8, out cellValue));
            Assert.AreEqual(CellValue.Nine, cellValue);
            Assert.AreEqual(false, Analyser.Analyser.CanMove(m, 0, 7, out cellValue));

            Assert.AreEqual(true, Analyser.Analyser.CanMove(m));

            m = GetSimpleSquareMoveMatrix();
            var s = m.Square(0, 0);

            Assert.AreEqual(true, Analyser.Analyser.CanMove(m, 2, 2, out cellValue));
            Assert.AreEqual(CellValue.Nine, cellValue);

            Assert.AreEqual(true, Analyser.Analyser.CanMove(m));
        }
Пример #2
0
        public void TestMediumMatrixMoves()
        {
            var ma    = new Analyser.Analyser();
            var m     = GetMediumMoveMatrix();
            var moves = Analyser.Analyser.GetAvailableMoves(m);

            Assert.AreEqual(1, moves.Count);
        }
Пример #3
0
        public void TestMoves()
        {
            var ma    = new Analyser.Analyser();
            var m     = Matrix.Blank;
            var moves = Analyser.Analyser.GetAvailableMoves(m);


            Assert.AreEqual(0, moves.Count);

            m     = GetSimpleRowMoveMatrix();
            moves = Analyser.Analyser.GetAvailableMoves(m);

            var moveString = new StringBuilder();

            foreach (var move in moves)
            {
                moveString.Append(move);
            }

            Assert.AreEqual(1, moves.Count);
            Assert.AreEqual(CellValue.Nine, moves[0].CellValue);
            Assert.AreEqual(8, moves[0].I);
            Assert.AreEqual(0, moves[0].J);
        }