From d0c592bdc3beb12074f085ab085dd90de9b8e643 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 12 Nov 2023 14:42:20 +0100 Subject: Simple solver: added tests, fixed --- test/060_solve_simple/01_U_U3.in | 8 ++++ test/060_solve_simple/01_U_U3.out | 1 + test/060_solve_simple/02_MUMU_alloptimal.in | 8 ++++ test/060_solve_simple/02_MUMU_alloptimal.out | 4 ++ test/060_solve_simple/solve_simple_tests.c | 58 ++++++++++++++++++++++++++++ 5 files changed, 79 insertions(+) create mode 100644 test/060_solve_simple/01_U_U3.in create mode 100644 test/060_solve_simple/01_U_U3.out create mode 100644 test/060_solve_simple/02_MUMU_alloptimal.in create mode 100644 test/060_solve_simple/02_MUMU_alloptimal.out create mode 100644 test/060_solve_simple/solve_simple_tests.c (limited to 'test') diff --git a/test/060_solve_simple/01_U_U3.in b/test/060_solve_simple/01_U_U3.in new file mode 100644 index 0000000..c0f7930 --- /dev/null +++ b/test/060_solve_simple/01_U_U3.in @@ -0,0 +1,8 @@ +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 +simple + +normal +0 +3 +3 +-1 diff --git a/test/060_solve_simple/01_U_U3.out b/test/060_solve_simple/01_U_U3.out new file mode 100644 index 0000000..ca934b4 --- /dev/null +++ b/test/060_solve_simple/01_U_U3.out @@ -0,0 +1 @@ +U' diff --git a/test/060_solve_simple/02_MUMU_alloptimal.in b/test/060_solve_simple/02_MUMU_alloptimal.in new file mode 100644 index 0000000..f97c95f --- /dev/null +++ b/test/060_solve_simple/02_MUMU_alloptimal.in @@ -0,0 +1,8 @@ +UB0 DF0 DB0 UF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 +simple + +normal +0 +-1 +10 +0 diff --git a/test/060_solve_simple/02_MUMU_alloptimal.out b/test/060_solve_simple/02_MUMU_alloptimal.out new file mode 100644 index 0000000..06cd521 --- /dev/null +++ b/test/060_solve_simple/02_MUMU_alloptimal.out @@ -0,0 +1,4 @@ +U2 R' L F2 R L' +R U2 R' L F2 L' +R L' U2 R' L F2 +L' U2 R' L F2 R diff --git a/test/060_solve_simple/solve_simple_tests.c b/test/060_solve_simple/solve_simple_tests.c new file mode 100644 index 0000000..14a1674 --- /dev/null +++ b/test/060_solve_simple/solve_simple_tests.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +#ifdef CUBE_AVX2 +#include +#endif + +#include "../../cube.h" + +#define S 10000 + +int main() { + char cubestr[S], solverstr[S], optionsstr[S], nisstypestr[S]; + char minmovesstr[S], maxmovesstr[S], maxsolsstr[S], optimalstr[S]; + char solutionsstr[S]; + cube_t cube; + int64_t maxsols; + int8_t minmoves, maxmoves, optimal; + + fgets(cubestr, S, stdin); + fgets(solverstr, S, stdin); + fgets(optionsstr, S, stdin); + fgets(nisstypestr, S, stdin); + fgets(minmovesstr, S, stdin); + fgets(maxmovesstr, S, stdin); + fgets(maxsolsstr, S, stdin); + fgets(optimalstr, S, stdin); + + solverstr[strcspn(solverstr, "\n")] = 0; + optionsstr[strcspn(optionsstr, "\n")] = 0; + nisstypestr[strcspn(nisstypestr, "\n")] = 0; + + cube = readcube("H48", cubestr); + minmoves = atoi(minmovesstr); + maxmoves = atoi(maxmovesstr); + maxsols = atoi(maxsolsstr); + optimal = atoi(optimalstr); + + solve( + cube, + solverstr, + optionsstr, + nisstypestr, + minmoves, + maxmoves, + maxsols, + optimal, + NULL, + solutionsstr + ); + + printf("%s", solutionsstr); + + return 0; +} -- cgit v1.3