use rubiks_cube_3x3_solver::{scramble, solver}; #[test] fn solve_simple_scramble() { let sc = rubiks_cube_3x3_solver::notation::parse_moves("R U R' U'").unwrap(); let sol = solver::solve_scramble(&sc, 20, 5.0).unwrap(); // applying solution to scrambled cube should yield solved let mut cc = rubiks_cube_3x3_solver::cube::CubieCube::default(); cc = cc.apply_moves(&sc); cc = cc.apply_moves(&sol); assert_eq!(cc, rubiks_cube_3x3_solver::cube::CubieCube::default()); } #[test] fn scramble_length() { let s = scramble::generate(20).unwrap(); assert_eq!(s.len(), 20); } #[test] fn solve_random_scramble() { let sc = scramble::generate(25).unwrap(); let sol = solver::solve(&sc).unwrap(); let mut cc = rubiks_cube_3x3_solver::cube::CubieCube::default(); cc = cc.apply_moves(&sc); cc = cc.apply_moves(&sol); assert_eq!(cc, rubiks_cube_3x3_solver::cube::CubieCube::default()); }