From ad9bdca9741b5f038610cbe0536131ab0dc7b511 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Tue, 14 Nov 2023 22:01:38 +0100 Subject: Added tests for conversion --- test/000_basic/all.in | 0 test/000_basic/all.out | 7 +++++ test/000_basic/basic_tests.c | 33 ++++++++++++++++++++++++ test/001_cube_conversion/00_solved.in | 1 + test/001_cube_conversion/00_solved.out | 1 + test/001_cube_conversion/01_scrambled.in | 1 + test/001_cube_conversion/01_scrambled.out | 1 + test/001_cube_conversion/cube_conversion_tests.c | 27 +++++++++++++++++++ test/00_basic/all.in | 0 test/00_basic/all.out | 7 ----- test/00_basic/basic_tests.c | 33 ------------------------ 11 files changed, 71 insertions(+), 40 deletions(-) create mode 100644 test/000_basic/all.in create mode 100644 test/000_basic/all.out create mode 100644 test/000_basic/basic_tests.c create mode 100644 test/001_cube_conversion/00_solved.in create mode 100644 test/001_cube_conversion/00_solved.out create mode 100644 test/001_cube_conversion/01_scrambled.in create mode 100644 test/001_cube_conversion/01_scrambled.out create mode 100644 test/001_cube_conversion/cube_conversion_tests.c delete mode 100644 test/00_basic/all.in delete mode 100644 test/00_basic/all.out delete mode 100644 test/00_basic/basic_tests.c diff --git a/test/000_basic/all.in b/test/000_basic/all.in new file mode 100644 index 0000000..e69de29 diff --git a/test/000_basic/all.out b/test/000_basic/all.out new file mode 100644 index 0000000..892ad22 --- /dev/null +++ b/test/000_basic/all.out @@ -0,0 +1,7 @@ +Solved is solvable +Solved is solved +Zero is NOT solvable +Zero is NOT solved +Solved and Solved are equal +Solved and Zero are NOT equal +Zero and Solved are NOT equal diff --git a/test/000_basic/basic_tests.c b/test/000_basic/basic_tests.c new file mode 100644 index 0000000..17f1b2b --- /dev/null +++ b/test/000_basic/basic_tests.c @@ -0,0 +1,33 @@ +#include "../test.h" + +bool issolved(cube_t); +bool equal(cube_t, cube_t); + +void +check(cube_t cube, char *name) +{ + printf("%s is%s solvable\n", name, issolvable(cube) ? "" : " NOT"); + printf("%s is%s solved\n", name, issolved(cube) ? "" : " NOT"); +} + +void +check2(cube_t cube1, char *name1, cube_t cube2, char *name2) +{ + printf("%s and %s are%s equal\n", name1, name2, + equal(cube1, cube2) ? "" : " NOT"); +} + +int main() { + cube_t zero, solved; + + memset(&zero, 0, sizeof(cube_t)); + solved = solvedcube(); + check(solved, "Solved"); + check(zero, "Zero"); + + check2(solved, "Solved", solved, "Solved"); + check2(solved, "Solved", zero, "Zero"); + check2(zero, "Zero", solved, "Solved"); + + return 0; +} diff --git a/test/001_cube_conversion/00_solved.in b/test/001_cube_conversion/00_solved.in new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/001_cube_conversion/00_solved.in @@ -0,0 +1 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/001_cube_conversion/00_solved.out b/test/001_cube_conversion/00_solved.out new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/001_cube_conversion/00_solved.out @@ -0,0 +1 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/001_cube_conversion/01_scrambled.in b/test/001_cube_conversion/01_scrambled.in new file mode 100644 index 0000000..453cc8a --- /dev/null +++ b/test/001_cube_conversion/01_scrambled.in @@ -0,0 +1 @@ +BL1 DB0 UL1 DF0 BR1 UF1 DL0 FL1 UB0 DR1 FR1 UR1 UBR2 UBL1 DFR2 DBL2 DBR0 DFL0 UFR0 UFL2 diff --git a/test/001_cube_conversion/01_scrambled.out b/test/001_cube_conversion/01_scrambled.out new file mode 100644 index 0000000..453cc8a --- /dev/null +++ b/test/001_cube_conversion/01_scrambled.out @@ -0,0 +1 @@ +BL1 DB0 UL1 DF0 BR1 UF1 DL0 FL1 UB0 DR1 FR1 UR1 UBR2 UBL1 DFR2 DBL2 DBR0 DFL0 UFR0 UFL2 diff --git a/test/001_cube_conversion/cube_conversion_tests.c b/test/001_cube_conversion/cube_conversion_tests.c new file mode 100644 index 0000000..65a88f6 --- /dev/null +++ b/test/001_cube_conversion/cube_conversion_tests.c @@ -0,0 +1,27 @@ +#include "../test.h" + +cube_fast_t cubetofast(cube_t); +cube_t fasttocube(cube_fast_t); +bool equal(cube_t, cube_t); + +int main() { + char cubestr[STRLENMAX]; + cube_t cube, cube2; + cube_fast_t fast; + + fgets(cubestr, STRLENMAX, stdin); + cube = readcube("H48", cubestr); + fast = cubetofast(cube); + cube2 = fasttocube(fast); + + if (iserror(cube)) { + printf("Error reading cube\n"); + } else if (iserror(cube2)) { + printf("Error converting cube\n"); + } else { + writecube("H48", cube2, cubestr); + printf("%s\n", cubestr); + } + + return 0; +} diff --git a/test/00_basic/all.in b/test/00_basic/all.in deleted file mode 100644 index e69de29..0000000 diff --git a/test/00_basic/all.out b/test/00_basic/all.out deleted file mode 100644 index 892ad22..0000000 --- a/test/00_basic/all.out +++ /dev/null @@ -1,7 +0,0 @@ -Solved is solvable -Solved is solved -Zero is NOT solvable -Zero is NOT solved -Solved and Solved are equal -Solved and Zero are NOT equal -Zero and Solved are NOT equal diff --git a/test/00_basic/basic_tests.c b/test/00_basic/basic_tests.c deleted file mode 100644 index 17f1b2b..0000000 --- a/test/00_basic/basic_tests.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "../test.h" - -bool issolved(cube_t); -bool equal(cube_t, cube_t); - -void -check(cube_t cube, char *name) -{ - printf("%s is%s solvable\n", name, issolvable(cube) ? "" : " NOT"); - printf("%s is%s solved\n", name, issolved(cube) ? "" : " NOT"); -} - -void -check2(cube_t cube1, char *name1, cube_t cube2, char *name2) -{ - printf("%s and %s are%s equal\n", name1, name2, - equal(cube1, cube2) ? "" : " NOT"); -} - -int main() { - cube_t zero, solved; - - memset(&zero, 0, sizeof(cube_t)); - solved = solvedcube(); - check(solved, "Solved"); - check(zero, "Zero"); - - check2(solved, "Solved", solved, "Solved"); - check2(solved, "Solved", zero, "Zero"); - check2(zero, "Zero", solved, "Solved"); - - return 0; -} -- cgit v1.3