Ejemplo n.º 1
0
        public void NQueensTest()
        {
            var puzzle   = new NQueens();
            var solution = puzzle.Solve();

            NQueens.PrintBoard(solution);
        }
Ejemplo n.º 2
0
        public void TestNumberOfSolutions(int boardSize, int expectedSolutions, int expectedBacktracks)
        {
            var nQueens = new NQueens(boardSize);

            nQueens.Search();

            Assert.Equal(expectedSolutions, nQueens.Solutions.Count);
            Assert.Equal(expectedBacktracks, nQueens.State.Backtracks);
        }
Ejemplo n.º 3
0
 public void nQueensTest()
 {
     foreach (var testdata in TestDataList)
     {
         IList <IList <string> > queens = NQueens.SolveNQueens(testdata.Input);
         foreach (var output in queens)
         {
             foreach (var chessboard in output)
             {
                 Console.WriteLine(chessboard);
             }
             Console.WriteLine("******************");
         }
     }
 }
Ejemplo n.º 4
0
        public void TestCorrectSolution()
        {
            var nQueens = new NQueens(8);

            nQueens.Search();
            var solution = nQueens.Solutions.First();

            Assert.Equal(0, solution["0"].InstantiatedValue);
            Assert.Equal(4, solution["1"].InstantiatedValue);
            Assert.Equal(7, solution["2"].InstantiatedValue);
            Assert.Equal(5, solution["3"].InstantiatedValue);
            Assert.Equal(2, solution["4"].InstantiatedValue);
            Assert.Equal(6, solution["5"].InstantiatedValue);
            Assert.Equal(1, solution["6"].InstantiatedValue);
            Assert.Equal(3, solution["7"].InstantiatedValue);
        }
Ejemplo n.º 5
0
        public void Test1()
        {
            var sol      = new NQueens();
            var res      = sol.SolveNQueens(4);
            var expected = new List <IList <string> >()
            {
                new List <string>()
                {
                    ".Q..", "...Q", "Q...", "..Q."
                },
                new List <string>()
                {
                    "..Q.", "Q...", "...Q", ".Q.."
                },
            };

            Utlilitiy.AssertAreEqualIgnoreOrder(expected, res);
        }
Ejemplo n.º 6
0
        public static void NQueensDemo()
        {
            NQueens.QueenCount             = 8;
            NQueens.NumberOfRowsOnBoard    = 8;
            NQueens.NumberOfColumnsOnBoard = 8;
            var QueenPositions = NQueens.GetQueensSafelyOnBoard();
            int i = 1;

            if (QueenPositions.Count > 0)
            {
                foreach (var tuple in QueenPositions)
                {
                    Console.WriteLine("Queen " + i + " is on Row " + (tuple.Item1 + 1).ToString() + " and Column " + (tuple.Item2 + 1).ToString());
                    i++;
                }
            }
            else
            {
                Console.WriteLine("Its an unwinnable situation");
            }
        }
Ejemplo n.º 7
0
 public void NQueenTest(int n, bool expected)
 {
     Assert.Equal(expected, NQueens.SolveNQueens(n));
 }
Ejemplo n.º 8
0
 static void testNQueen()
 {
     NQueens.solve(4);
 }