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"); } } }
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"); } }
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"); } }