public void CreateRandomTest() { Random random = new Random(7777777); int numIterations = 50; TimeSpan timeout = TimeSpan.FromSeconds(20); for (int iteration = 0; iteration < numIterations; iteration++) { CubieCube cube = CubieCube.CreateRandom(random); int cornerPermutation = Coordinates.GetCornerPermutation(cube); int edgePermutation = Coordinates.GetEdgePermutation(cube); bool cornerParity = Coordinates.CornerPermutationParity(cornerPermutation); bool edgeParity = Coordinates.EdgePermutationParity(edgePermutation); Assert.IsTrue(cornerParity == edgeParity); Assert.IsNotNull(TwoPhaseSolver.FindSolution(cube, timeout, 30, -1)); } }