Example #1
0
 public void LoadAvailableMoves()
 {
     for (int x = 0; x < 9; x++)
     {
         for (int y = 0; y < 9; y++)
         {
             var moves = game.AvailableRanks(x, y);
             SodokuBoard.SetAvailableRanks(x, y, moves);
         }
     }
 }
Example #2
0
        public void Test_Sodoku_Available()
        {
            Sodoku sodoku = new Sodoku();

            List <int> available = sodoku.AvailableRanks(4, 4);

            Assert.AreEqual(9, available.Count);

            sodoku[4, 1] = new CellContent(1);

            var col = sodoku.GetColumnAt(4);

            Assert.AreEqual(8, col.AvailableRanks().Count);

            available = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(8, available.Count);

            sodoku[1, 4] = new CellContent(1);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(8, available.Count);

            sodoku[2, 4] = new CellContent(2);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(7, available.Count);

            sodoku[4, 8] = new CellContent(3);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(6, available.Count);

            sodoku[3, 3] = new CellContent(4);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(5, available.Count);

            sodoku[5, 5] = new CellContent(5);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(4, available.Count);

            sodoku[7, 4] = new CellContent(6);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(3, available.Count);

            sodoku[4, 7] = new CellContent(7);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(2, available.Count);

            sodoku[3, 5] = new CellContent(8);
            available    = sodoku.AvailableRanks(4, 4);
            Assert.AreEqual(1, available.Count);

            Assert.AreEqual(9, available[0]);
        }
Example #3
0
        public void Test_Sodoku_Available_T2()
        {
            Sodoku sodoku = new Sodoku();

            List <int> available = sodoku.AvailableRanks(0, 6);

            Assert.AreEqual(9, available.Count);

            sodoku[0, 6] = new CellContent(1);
            available    = sodoku.AvailableRanks(0, 6);
            Assert.AreEqual(0, available.Count);

            available = sodoku.AvailableRanks(1, 7);
            Assert.AreEqual(8, available.Count);

            // check if rank 1 is available:
            int cnt = available.Where(q => q == 1).Count();

            Assert.AreEqual(0, cnt);

            Assert.IsFalse(sodoku.ValidateMove(1, 7, 1));
        }