예제 #1
0
        public void solve_position_edgesTest()
        {
            var tests = new[]
            {
                "O O O O O O O O O Y G Y Y Y Y Y Y Y G B G G G G G G G W W W W W W W W W B Y B B B B B B B R R R R R R R R R",
                "B B B B B B B B B O Y O O O O O O O W R W W W W W W W R W R R R R R R R Y O Y Y Y Y Y Y Y G G G G G G G G G"
            };

            var negativetests = new[]
            {
                "B B B B B B B B B G G O O O O O O O W R W W W W W W W R W R R R R R R R Y O Y Y Y Y Y Y Y G G G G G G G G G"
            };

            foreach (var test in tests)
            {
                Rc.set_cube(test);
                Solver.solve_position_edges();
                Assert.IsTrue(Rc.issolved(), "solve_position_edgesTest FAILED");
            }
            foreach (var test in negativetests)
            {
                Rc.set_cube(test);
                try
                {
                    Solver.solve_position_edges();
                    Assert.IsFalse(validate_up_corner_positions(), "solve_position_edgesTest FAILED");
                }
                catch
                {
                    Assert.IsFalse(validate_up_corner_positions(), "solve_position_edgesTest FAILED");
                }
            }
        }
예제 #2
0
        public void solve_quick_solveTest()
        {
            var tests = new[]
            {
                "O W W O W W Y G G G G R G G R O O R G W W G R R G R R O B B W B B W R R O O Y O O Y B B B W B B Y Y Y Y Y Y",
                "W R W W R W O G G G G Y G G B O O Y G R R Y Y Y G R R W B B G B B W R R O W O O W O B W B R B B Y O Y Y O Y",
                "W O W G Y G W O W G Y G O R O G Y G R W R G G G R W R B W B R O R B W B O Y O B B B O Y O Y R Y B W B Y R Y"
            };

            foreach (var test in tests)
            {
                Rc.set_cube(test);
                Solver.solve_quick_solve();
                Assert.IsTrue(Rc.issolved(), "solve_quick_solveTest FAILED");
            }
        }
예제 #3
0
        public void solveTest()
        {
            var tests = new[]
            {
                "R B O B Y O Y W O B O G R B O R G O O O G Y R R Y Y W W G W Y G Y B B G B W Y B O G R R W B G R W W R G W Y",
                "R O B W O B W W R W O G B W R O B O R B G G B O B Y O Y Y R G Y G W G B Y Y B W G R O R Y W R G O R Y G W Y",
                "R R Y W O G G Y R W G Y Y Y R O W O R O W B G W Y O G G Y G O W Y O R Y O G B B B R R G W B B W B R W B O B",
                "W G Y R O W B R R R G W R G Y O R G R B G B W G Y O O Y B O Y B O W O Y B W G G Y Y R B W O Y G W R W B O B",
                "R G R B B Y W Y B Y Y O W R W R O R G G Y O Y G W W O O O Y O O B B B Y B R G W W R O Y W B G W B G R G R G",
                "Y W W G B O Y O G O O O R W R B R Y B Y R G R Y R R Y W B O B Y O G G B G B G W O Y R G O B W R B G Y W W W",
                "W W W W W W W W W G G G G G G G G G R R R R R R R R R B B B B B B B B B O O O O O O O O O Y Y Y Y Y Y Y Y Y",
                "G G O B Y W W O B R Y R W R W G R B B Y O G G W Y R B W B Y O O G O B W G Y Y O B R R B W R G Y Y W O O R G",
                "O W G R G G G R O Y B O Y O O R W W Y Y W W Y Y G Y B B O Y B R B Y R R R G B O W O W R W O G R B B G G W B",
                "Y W O R R O G W G R G W O B Y R G B O O O R W Y O R B Y G W B G W R O W B B B R Y Y R G G Y B W W O B Y Y G",
                "R B R R O Y B G G G W R O G B B Y Y Y O O R W Y B R B Y B G O B G W W G Y O W R Y W O W W O Y O G R G R B W",
                "B G O B B W W R G Y W G O Y W Y B B R G Y R O G W G O R O G W W B G R W W Y R R R B B Y O O O Y Y G Y B O R",
                "Y Y G B W G Y O R B O G Y G R R O G O G Y Y R Y O G W B R R B B B O W R W O O W O G Y B B W W B W Y R W R G",
            };

            var negativeTests = new[]
            {
                "B B O B Y O Y W O B O G R B O R G O O O G Y R R Y Y W W G W Y G Y B B G B W Y B O G R R W B G R W W R G W Y",
                "R B R R O Y B G G G W R G G B B Y Y Y Y O R W Y B R B Y B G O B G W W G Y O W R Y W O W W O Y O G R G R B W",
                "W W W W W W W W W G G G G G G G G G R R R R R R R R R B B B B B B B B B O O O O O O O O O Y Y Y Y Y N N N Y",
            };

            foreach (var test in tests)
            {
                Rc.set_cube(test);
                Solver.solve();
                Assert.IsTrue(Rc.issolved(), "solveTest FAILED");
            }

            foreach (var test in negativeTests)
            {
                Rc.set_cube(test);
                try
                {
                    Solver.solve();
                }
                catch (Exception)
                {
                    Assert.IsFalse(Rc.issolved(), "solveTest FAILED");
                }
                Assert.IsFalse(Rc.issolved(), "solveTest FAILED");
            }
        }