示例#1
0
        public void CreateEquatorPermutationMoveTableTest()
        {
            sbyte[,] equatorPermutationMoveTable = MoveTables.CreateEquatorOrderMoveTable();

            Assert.IsNotNull(equatorPermutationMoveTable);

            Assert.AreEqual(equatorPermutationMoveTable.GetLength(0), Coordinates.NumEquatorOrders);
            Assert.AreEqual(equatorPermutationMoveTable.GetLength(1), Constants.NumMoves);
        }
示例#2
0
        public void CreateUdEdgeOrderMoveTableTest()
        {
            ushort[,] udEdgeOrderMoveTable = MoveTables.CreateUdEdgeOrderMoveTable();

            Assert.IsNotNull(udEdgeOrderMoveTable);

            Assert.AreEqual(udEdgeOrderMoveTable.GetLength(0), Coordinates.NumUdEdgeOrders);
            Assert.AreEqual(udEdgeOrderMoveTable.GetLength(1), TwoPhaseConstants.NumMovesPhase2);

            for (int udEdgeOrder = 0; udEdgeOrder < Coordinates.NumUdEdgeOrders; udEdgeOrder++)
            {
                foreach (Move move in TwoPhaseConstants.Phase2Moves)
                {
                    Assert.IsTrue(udEdgeOrderMoveTable[udEdgeOrder, MoveTables.Phase1IndexToPhase2Index[(int)move]] < Coordinates.NumUdEdgeOrders);
                }
            }
        }
示例#3
0
        public void CreateCpMoveTableTest()
        {
            ushort[,] cpMoveTable = MoveTables.CreateCornerPermutationMoveTable();

            Assert.IsNotNull(cpMoveTable);

            Assert.AreEqual(cpMoveTable.GetLength(0), Coordinates.NumCornerPermutations);
            Assert.AreEqual(cpMoveTable.GetLength(1), Constants.NumMoves);

            for (int cp = 0; cp < Coordinates.NumCornerPermutations; cp++)
            {
                for (int move = 0; move < Constants.NumMoves; move++)
                {
                    Assert.IsTrue(cpMoveTable[cp, move] < Coordinates.NumCornerPermutations);
                }
            }
        }
示例#4
0
        public void CreateEquatorDistributionMoveTableTest()
        {
            short[,] equatorDistributionMoveTable = MoveTables.CreateEquatorDistributionMoveTable();

            Assert.IsNotNull(equatorDistributionMoveTable);

            Assert.AreEqual(equatorDistributionMoveTable.GetLength(0), Coordinates.NumEquatorDistributions);
            Assert.AreEqual(equatorDistributionMoveTable.GetLength(1), Constants.NumMoves);

            for (int equatorDistribution = 0; equatorDistribution < Coordinates.NumEquatorDistributions; equatorDistribution++)
            {
                for (int move = 0; move < Constants.NumMoves; move++)
                {
                    Assert.IsTrue((uint)equatorDistributionMoveTable[equatorDistribution, move] < Coordinates.NumEquatorDistributions);
                }
            }
        }
示例#5
0
        public void CreateEoMoveTableTest()
        {
            short[,] eoMoveTable = MoveTables.CreateEdgeOrientationMoveTable();

            Assert.IsNotNull(eoMoveTable);

            Assert.AreEqual(eoMoveTable.GetLength(0), Coordinates.NumEdgeOrientations);
            Assert.AreEqual(eoMoveTable.GetLength(1), Constants.NumMoves);

            for (int eo = 0; eo < Coordinates.NumEdgeOrientations; eo++)
            {
                for (int move = 0; move < Constants.NumMoves; move++)
                {
                    Assert.IsTrue((uint)eoMoveTable[eo, move] < Coordinates.NumEdgeOrientations);
                }
            }
        }
示例#6
0
        public void CreateCoMoveTableTest()
        {
            short[,] coMoveTable = MoveTables.CreateCornerOrientationMoveTable();

            Assert.IsNotNull(coMoveTable);

            Assert.AreEqual(coMoveTable.GetLength(0), Coordinates.NumCornerOrientations);
            Assert.AreEqual(coMoveTable.GetLength(1), Constants.NumMoves);

            for (int co = 0; co < Coordinates.NumCornerOrientations; co++)
            {
                for (int move = 0; move < Constants.NumMoves; move++)
                {
                    Assert.IsTrue((uint)coMoveTable[co, move] < Coordinates.NumCornerOrientations);
                }
            }
        }