set_eo_tests.c (833B)
1 #include "../test.h" 2 3 int64_t coord_eo(cube_t); 4 void set_eo(cube_t *, int64_t); 5 void pieces(cube_t *, uint8_t [static 8], uint8_t [static 12]); 6 7 void run(void) { 8 char str[STRLENMAX]; 9 cube_t cube; 10 uint8_t edge[12], corner[8]; 11 int64_t eo; 12 13 fgets(str, STRLENMAX, stdin); 14 cube = readcube("H48", str); 15 fgets(str, STRLENMAX, stdin); 16 eo = atoi(str); 17 18 set_eo(&cube, eo); 19 20 if (iserror(cube)) { 21 printf("Error setting EO\n"); 22 } else if (!isconsistent(cube)) { 23 pieces(&cube, corner, edge); 24 fprintf(stderr, "edges: "); 25 for (int i = 0; i < 12; i++) 26 fprintf(stderr, "%d ", edge[i]); 27 fprintf(stderr, "\n"); 28 for (int i = 0; i < 8; i++) 29 fprintf(stderr, "%d ", corner[i]); 30 fprintf(stderr, "\n"); 31 printf("Setting EO resulted in inconsistent cube\n"); 32 } else { 33 writecube("H48", cube, str); 34 printf("%s\n", str); 35 } 36 }