From 72e018b066bd5cc3ce0181b43865a227e8b9b6ec Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Fri, 12 Apr 2024 20:22:01 +0200 Subject: Initial fork from H48 --- test/061_inverse_trans/00_all.in | 0 test/061_inverse_trans/00_all.out | 0 test/061_inverse_trans/inverse_trans_tests.c | 38 ++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 test/061_inverse_trans/00_all.in create mode 100644 test/061_inverse_trans/00_all.out create mode 100644 test/061_inverse_trans/inverse_trans_tests.c (limited to 'test/061_inverse_trans') diff --git a/test/061_inverse_trans/00_all.in b/test/061_inverse_trans/00_all.in new file mode 100644 index 0000000..e69de29 diff --git a/test/061_inverse_trans/00_all.out b/test/061_inverse_trans/00_all.out new file mode 100644 index 0000000..e69de29 diff --git a/test/061_inverse_trans/inverse_trans_tests.c b/test/061_inverse_trans/inverse_trans_tests.c new file mode 100644 index 0000000..77bd40b --- /dev/null +++ b/test/061_inverse_trans/inverse_trans_tests.c @@ -0,0 +1,38 @@ +#include "../test.h" + +uint8_t readtrans(char *); +uint8_t inverse_trans(uint8_t); +cube_t applymoves(cube_t, char *); +cube_t applytrans(cube_t, char *); +extern char *transstr[]; + +int main(void) { + uint8_t t, tinv; + cube_t cube; + + for (t = 0; t < 48; t++) { + cube = solvedcube(); + cube = applymoves(cube, "R"); + cube = applymoves(cube, "U"); + cube = applymoves(cube, "F"); + + cube = applytrans(cube, transstr[t]); + tinv = inverse_trans(t); + cube = applytrans(cube, transstr[tinv]); + + if (iserror(cube)) { + printf("Error transforming cube\n"); + } else if (!issolvable(cube)) { + printf("Transformed cube is not solvable\n"); + } else { + cube = applymoves(cube, "F'"); + cube = applymoves(cube, "U'"); + cube = applymoves(cube, "R'"); + if (!issolved(cube)) + printf("%s: Error! Got %" PRIu8 "\n", + transstr[t], tinv); + } + } + + return 0; +} -- cgit v1.3