aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-04-25 10:09:22 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2025-04-25 10:09:22 +0200
commit7faca28009c5efb0ba2b897b34dbdcac47a1a6f3 (patch)
treefd507509d00d2926175c72f4c06b9158c3a331a7 /test
parent17e5a9e1e2b241c67956651f87f40236467fe7d8 (diff)
downloadnissy-core-7faca28009c5efb0ba2b897b34dbdcac47a1a6f3.tar.gz
nissy-core-7faca28009c5efb0ba2b897b34dbdcac47a1a6f3.zip
NISS
Diffstat (limited to 'test')
-rw-r--r--test/030_applymoves/000_nomove_solved.in (renamed from test/030_move/000_nomove_solved.in)0
-rw-r--r--test/030_applymoves/000_nomove_solved.out (renamed from test/030_move/000_nomove_solved.out)0
-rw-r--r--test/030_applymoves/001_nomove_scrambled.in (renamed from test/030_move/001_nomove_scrambled.in)0
-rw-r--r--test/030_applymoves/001_nomove_scrambled.out (renamed from test/030_move/001_nomove_scrambled.out)0
-rw-r--r--test/030_applymoves/010_U_solved.in (renamed from test/030_move/010_U_solved.in)0
-rw-r--r--test/030_applymoves/010_U_solved.out (renamed from test/030_move/010_U_solved.out)0
-rw-r--r--test/030_applymoves/011_U_scrambled.in (renamed from test/030_move/011_U_scrambled.in)0
-rw-r--r--test/030_applymoves/011_U_scrambled.out (renamed from test/030_move/011_U_scrambled.out)0
-rw-r--r--test/030_applymoves/012_U_inverse.in (renamed from test/030_move/012_U_inverse.in)0
-rw-r--r--test/030_applymoves/012_U_inverse.out (renamed from test/030_move/012_U_inverse.out)0
-rw-r--r--test/030_applymoves/020_U2_solved.in (renamed from test/030_move/020_U2_solved.in)0
-rw-r--r--test/030_applymoves/020_U2_solved.out (renamed from test/030_move/020_U2_solved.out)0
-rw-r--r--test/030_applymoves/021_U2_scrambled.in (renamed from test/030_move/021_U2_scrambled.in)0
-rw-r--r--test/030_applymoves/021_U2_scrambled.out (renamed from test/030_move/021_U2_scrambled.out)0
-rw-r--r--test/030_applymoves/022_U2_inverse.in (renamed from test/030_move/022_U2_inverse.in)0
-rw-r--r--test/030_applymoves/022_U2_inverse.out (renamed from test/030_move/022_U2_inverse.out)0
-rw-r--r--test/030_applymoves/030_U3_solved.in (renamed from test/030_move/030_U3_solved.in)0
-rw-r--r--test/030_applymoves/030_U3_solved.out (renamed from test/030_move/030_U3_solved.out)0
-rw-r--r--test/030_applymoves/031_U3_inverse.in (renamed from test/030_move/031_U3_inverse.in)0
-rw-r--r--test/030_applymoves/031_U3_inverse.out (renamed from test/030_move/031_U3_inverse.out)0
-rw-r--r--test/030_applymoves/032_U3_scrambled.in (renamed from test/030_move/032_U3_scrambled.in)0
-rw-r--r--test/030_applymoves/032_U3_scrambled.out (renamed from test/030_move/032_U3_scrambled.out)0
-rw-r--r--test/030_applymoves/033_U3_with_prime.in (renamed from test/030_move/033_U3_with_prime.in)0
-rw-r--r--test/030_applymoves/033_U3_with_prime.out (renamed from test/030_move/033_U3_with_prime.out)0
-rw-r--r--test/030_applymoves/040_D_solved.in (renamed from test/030_move/040_D_solved.in)0
-rw-r--r--test/030_applymoves/040_D_solved.out (renamed from test/030_move/040_D_solved.out)0
-rw-r--r--test/030_applymoves/050_D2_solved.in (renamed from test/030_move/050_D2_solved.in)0
-rw-r--r--test/030_applymoves/050_D2_solved.out (renamed from test/030_move/050_D2_solved.out)0
-rw-r--r--test/030_applymoves/060_D3_solved.in (renamed from test/030_move/060_D3_solved.in)0
-rw-r--r--test/030_applymoves/060_D3_solved.out (renamed from test/030_move/060_D3_solved.out)0
-rw-r--r--test/030_applymoves/070_R_solved.in (renamed from test/030_move/070_R_solved.in)0
-rw-r--r--test/030_applymoves/070_R_solved.out (renamed from test/030_move/070_R_solved.out)0
-rw-r--r--test/030_applymoves/071_R_scrambled.in (renamed from test/030_move/071_R_scrambled.in)0
-rw-r--r--test/030_applymoves/071_R_scrambled.out (renamed from test/030_move/071_R_scrambled.out)0
-rw-r--r--test/030_applymoves/080_R2_solved.in (renamed from test/030_move/080_R2_solved.in)0
-rw-r--r--test/030_applymoves/080_R2_solved.out (renamed from test/030_move/080_R2_solved.out)0
-rw-r--r--test/030_applymoves/090_R3_solved.in (renamed from test/030_move/090_R3_solved.in)0
-rw-r--r--test/030_applymoves/090_R3_solved.out (renamed from test/030_move/090_R3_solved.out)0
-rw-r--r--test/030_applymoves/100_L_solved.in (renamed from test/030_move/100_L_solved.in)0
-rw-r--r--test/030_applymoves/100_L_solved.out (renamed from test/030_move/100_L_solved.out)0
-rw-r--r--test/030_applymoves/110_L2_solved.in (renamed from test/030_move/110_L2_solved.in)0
-rw-r--r--test/030_applymoves/110_L2_solved.out (renamed from test/030_move/110_L2_solved.out)0
-rw-r--r--test/030_applymoves/120_L3_solved.in (renamed from test/030_move/120_L3_solved.in)0
-rw-r--r--test/030_applymoves/120_L3_solved.out (renamed from test/030_move/120_L3_solved.out)0
-rw-r--r--test/030_applymoves/130_F_solved.in (renamed from test/030_move/130_F_solved.in)0
-rw-r--r--test/030_applymoves/130_F_solved.out (renamed from test/030_move/130_F_solved.out)0
-rw-r--r--test/030_applymoves/132_F_scrambled.in (renamed from test/030_move/132_F_scrambled.in)0
-rw-r--r--test/030_applymoves/132_F_scrambled.out (renamed from test/030_move/132_F_scrambled.out)0
-rw-r--r--test/030_applymoves/133_F_scrambled_2.in (renamed from test/030_move/133_F_scrambled_2.in)0
-rw-r--r--test/030_applymoves/133_F_scrambled_2.out (renamed from test/030_move/133_F_scrambled_2.out)0
-rw-r--r--test/030_applymoves/140_F2_solved.in (renamed from test/030_move/140_F2_solved.in)0
-rw-r--r--test/030_applymoves/140_F2_solved.out (renamed from test/030_move/140_F2_solved.out)0
-rw-r--r--test/030_applymoves/150_F3_solved.in (renamed from test/030_move/150_F3_solved.in)0
-rw-r--r--test/030_applymoves/150_F3_solved.out (renamed from test/030_move/150_F3_solved.out)0
-rw-r--r--test/030_applymoves/160_B_solved.in (renamed from test/030_move/160_B_solved.in)0
-rw-r--r--test/030_applymoves/160_B_solved.out (renamed from test/030_move/160_B_solved.out)0
-rw-r--r--test/030_applymoves/170_B2_solved.in (renamed from test/030_move/170_B2_solved.in)0
-rw-r--r--test/030_applymoves/170_B2_solved.out (renamed from test/030_move/170_B2_solved.out)0
-rw-r--r--test/030_applymoves/180_B3_solved.in (renamed from test/030_move/180_B3_solved.in)0
-rw-r--r--test/030_applymoves/180_B3_solved.out (renamed from test/030_move/180_B3_solved.out)0
-rw-r--r--test/030_applymoves/200_scramble_solved.in (renamed from test/030_move/200_scramble_solved.in)0
-rw-r--r--test/030_applymoves/200_scramble_solved.out (renamed from test/030_move/200_scramble_solved.out)0
-rw-r--r--test/030_applymoves/201_solution_scrambled.in (renamed from test/030_move/201_solution_scrambled.in)0
-rw-r--r--test/030_applymoves/201_solution_scrambled.out (renamed from test/030_move/201_solution_scrambled.out)0
-rw-r--r--test/030_applymoves/300_multimove_solved.in (renamed from test/030_move/300_multimove_solved.in)0
-rw-r--r--test/030_applymoves/300_multimove_solved.out (renamed from test/030_move/300_multimove_solved.out)0
-rw-r--r--test/030_applymoves/301_multimove_scrambled.in (renamed from test/030_move/301_multimove_scrambled.in)0
-rw-r--r--test/030_applymoves/301_multimove_scrambled.out (renamed from test/030_move/301_multimove_scrambled.out)0
-rw-r--r--test/030_applymoves/500_Uw_solved.in (renamed from test/030_move/500_Uw_solved.in)0
-rw-r--r--test/030_applymoves/500_Uw_solved.out (renamed from test/030_move/500_Uw_solved.out)0
-rw-r--r--test/030_applymoves/501_Uw2_solved.in (renamed from test/030_move/501_Uw2_solved.in)0
-rw-r--r--test/030_applymoves/501_Uw2_solved.out (renamed from test/030_move/501_Uw2_solved.out)0
-rw-r--r--test/030_applymoves/502_Uw3_solved.in (renamed from test/030_move/502_Uw3_solved.in)0
-rw-r--r--test/030_applymoves/502_Uw3_solved.out (renamed from test/030_move/502_Uw3_solved.out)0
-rw-r--r--test/030_applymoves/503_Dw_solved.in (renamed from test/030_move/503_Dw_solved.in)0
-rw-r--r--test/030_applymoves/503_Dw_solved.out (renamed from test/030_move/503_Dw_solved.out)0
-rw-r--r--test/030_applymoves/504_Dw2_solved.in (renamed from test/030_move/504_Dw2_solved.in)0
-rw-r--r--test/030_applymoves/504_Dw2_solved.out (renamed from test/030_move/504_Dw2_solved.out)0
-rw-r--r--test/030_applymoves/505_Dw3_solved.in (renamed from test/030_move/505_Dw3_solved.in)0
-rw-r--r--test/030_applymoves/505_Dw3_solved.out (renamed from test/030_move/505_Dw3_solved.out)0
-rw-r--r--test/030_applymoves/506_Rw_solved.in (renamed from test/030_move/506_Rw_solved.in)0
-rw-r--r--test/030_applymoves/506_Rw_solved.out (renamed from test/030_move/506_Rw_solved.out)0
-rw-r--r--test/030_applymoves/507_Rw2_solved.in (renamed from test/030_move/507_Rw2_solved.in)0
-rw-r--r--test/030_applymoves/507_Rw2_solved.out (renamed from test/030_move/507_Rw2_solved.out)0
-rw-r--r--test/030_applymoves/508_Rw3_solved.in (renamed from test/030_move/508_Rw3_solved.in)0
-rw-r--r--test/030_applymoves/508_Rw3_solved.out (renamed from test/030_move/508_Rw3_solved.out)0
-rw-r--r--test/030_applymoves/509_Lw_solved.in (renamed from test/030_move/509_Lw_solved.in)0
-rw-r--r--test/030_applymoves/509_Lw_solved.out (renamed from test/030_move/509_Lw_solved.out)0
-rw-r--r--test/030_applymoves/510_Lw2_solved.in (renamed from test/030_move/510_Lw2_solved.in)0
-rw-r--r--test/030_applymoves/510_Lw2_solved.out (renamed from test/030_move/510_Lw2_solved.out)0
-rw-r--r--test/030_applymoves/511_Lw3_solved.in (renamed from test/030_move/511_Lw3_solved.in)0
-rw-r--r--test/030_applymoves/511_Lw3_solved.out (renamed from test/030_move/511_Lw3_solved.out)0
-rw-r--r--test/030_applymoves/512_Fw_solved.in (renamed from test/030_move/512_Fw_solved.in)0
-rw-r--r--test/030_applymoves/512_Fw_solved.out (renamed from test/030_move/512_Fw_solved.out)0
-rw-r--r--test/030_applymoves/513_Fw2_solved.in (renamed from test/030_move/513_Fw2_solved.in)0
-rw-r--r--test/030_applymoves/513_Fw2_solved.out (renamed from test/030_move/513_Fw2_solved.out)0
-rw-r--r--test/030_applymoves/514_Fw3_solved.in (renamed from test/030_move/514_Fw3_solved.in)0
-rw-r--r--test/030_applymoves/514_Fw3_solved.out (renamed from test/030_move/514_Fw3_solved.out)0
-rw-r--r--test/030_applymoves/515_Bw_solved.in (renamed from test/030_move/515_Bw_solved.in)0
-rw-r--r--test/030_applymoves/515_Bw_solved.out (renamed from test/030_move/515_Bw_solved.out)0
-rw-r--r--test/030_applymoves/516_Bw2_solved.in (renamed from test/030_move/516_Bw2_solved.in)0
-rw-r--r--test/030_applymoves/516_Bw2_solved.out (renamed from test/030_move/516_Bw2_solved.out)0
-rw-r--r--test/030_applymoves/517_Bw3_solved.in (renamed from test/030_move/517_Bw3_solved.in)0
-rw-r--r--test/030_applymoves/517_Bw3_solved.out (renamed from test/030_move/517_Bw3_solved.out)0
-rw-r--r--test/030_applymoves/518_M_solved.in (renamed from test/030_move/518_M_solved.in)0
-rw-r--r--test/030_applymoves/518_M_solved.out (renamed from test/030_move/518_M_solved.out)0
-rw-r--r--test/030_applymoves/519_M2_solved.in (renamed from test/030_move/519_M2_solved.in)0
-rw-r--r--test/030_applymoves/519_M2_solved.out (renamed from test/030_move/519_M2_solved.out)0
-rw-r--r--test/030_applymoves/520_M3_solved.in (renamed from test/030_move/520_M3_solved.in)0
-rw-r--r--test/030_applymoves/520_M3_solved.out (renamed from test/030_move/520_M3_solved.out)0
-rw-r--r--test/030_applymoves/521_S_solved.in (renamed from test/030_move/521_S_solved.in)0
-rw-r--r--test/030_applymoves/521_S_solved.out (renamed from test/030_move/521_S_solved.out)0
-rw-r--r--test/030_applymoves/522_S2_solved.in (renamed from test/030_move/522_S2_solved.in)0
-rw-r--r--test/030_applymoves/522_S2_solved.out (renamed from test/030_move/522_S2_solved.out)0
-rw-r--r--test/030_applymoves/523_S3_solved.in (renamed from test/030_move/523_S3_solved.in)0
-rw-r--r--test/030_applymoves/523_S3_solved.out (renamed from test/030_move/523_S3_solved.out)0
-rw-r--r--test/030_applymoves/524_E_solved.in (renamed from test/030_move/524_E_solved.in)0
-rw-r--r--test/030_applymoves/524_E_solved.out (renamed from test/030_move/524_E_solved.out)0
-rw-r--r--test/030_applymoves/525_E2_solved.in (renamed from test/030_move/525_E2_solved.in)0
-rw-r--r--test/030_applymoves/525_E2_solved.out (renamed from test/030_move/525_E2_solved.out)0
-rw-r--r--test/030_applymoves/526_E3_solved.in (renamed from test/030_move/526_E3_solved.in)0
-rw-r--r--test/030_applymoves/526_E3_solved.out (renamed from test/030_move/526_E3_solved.out)0
-rw-r--r--test/030_applymoves/527_x_solved.in (renamed from test/030_move/527_x_solved.in)0
-rw-r--r--test/030_applymoves/527_x_solved.out (renamed from test/030_move/527_x_solved.out)0
-rw-r--r--test/030_applymoves/528_x2_solved.in (renamed from test/030_move/528_x2_solved.in)0
-rw-r--r--test/030_applymoves/528_x2_solved.out (renamed from test/030_move/528_x2_solved.out)0
-rw-r--r--test/030_applymoves/529_x3_solved.in (renamed from test/030_move/529_x3_solved.in)0
-rw-r--r--test/030_applymoves/529_x3_solved.out (renamed from test/030_move/529_x3_solved.out)0
-rw-r--r--test/030_applymoves/530_y_solved.in (renamed from test/030_move/530_y_solved.in)0
-rw-r--r--test/030_applymoves/530_y_solved.out (renamed from test/030_move/530_y_solved.out)0
-rw-r--r--test/030_applymoves/531_y2_solved.in (renamed from test/030_move/531_y2_solved.in)0
-rw-r--r--test/030_applymoves/531_y2_solved.out (renamed from test/030_move/531_y2_solved.out)0
-rw-r--r--test/030_applymoves/532_y3_solved.in (renamed from test/030_move/532_y3_solved.in)0
-rw-r--r--test/030_applymoves/532_y3_solved.out (renamed from test/030_move/532_y3_solved.out)0
-rw-r--r--test/030_applymoves/533_z_solved.in (renamed from test/030_move/533_z_solved.in)0
-rw-r--r--test/030_applymoves/533_z_solved.out (renamed from test/030_move/533_z_solved.out)0
-rw-r--r--test/030_applymoves/534_z2_solved.in (renamed from test/030_move/534_z2_solved.in)0
-rw-r--r--test/030_applymoves/534_z2_solved.out (renamed from test/030_move/534_z2_solved.out)0
-rw-r--r--test/030_applymoves/535_z3_solved.in (renamed from test/030_move/535_z3_solved.in)0
-rw-r--r--test/030_applymoves/535_z3_solved.out (renamed from test/030_move/535_z3_solved.out)0
-rw-r--r--test/030_applymoves/550_scrambled_random.in (renamed from test/030_move/550_scrambled_random.in)0
-rw-r--r--test/030_applymoves/550_scrambled_random.out (renamed from test/030_move/550_scrambled_random.out)0
-rw-r--r--test/030_applymoves/559_solved_xzy.in (renamed from test/030_move/559_solved_xzy.in)0
-rw-r--r--test/030_applymoves/559_solved_xzy.out (renamed from test/030_move/559_solved_xzy.out)0
-rw-r--r--test/030_applymoves/560_solved_RwS.in (renamed from test/030_move/560_solved_RwS.in)0
-rw-r--r--test/030_applymoves/560_solved_RwS.out (renamed from test/030_move/560_solved_RwS.out)0
-rw-r--r--test/030_applymoves/561_solved_RwSE3.in (renamed from test/030_move/561_solved_RwSE3.in)0
-rw-r--r--test/030_applymoves/561_solved_RwSE3.out (renamed from test/030_move/561_solved_RwSE3.out)0
-rw-r--r--test/030_applymoves/569_returns_to_noreorient.in (renamed from test/030_move/569_returns_to_noreorient.in)0
-rw-r--r--test/030_applymoves/569_returns_to_noreorient.out (renamed from test/030_move/569_returns_to_noreorient.out)0
-rw-r--r--test/030_applymoves/600_niss_solved.in2
-rw-r--r--test/030_applymoves/600_niss_solved.out1
-rw-r--r--test/030_applymoves/601_niss_solved_widenormal.in2
-rw-r--r--test/030_applymoves/601_niss_solved_widenormal.out1
-rw-r--r--test/030_applymoves/602_scrambled_niss_1x3.in2
-rw-r--r--test/030_applymoves/602_scrambled_niss_1x3.out1
-rw-r--r--test/030_applymoves/603_scrambled_long_niss.in3
-rw-r--r--test/030_applymoves/603_scrambled_long_niss.out1
-rw-r--r--test/030_applymoves/604_scrambled_niss_extendedmoves.in3
-rw-r--r--test/030_applymoves/604_scrambled_niss_extendedmoves.out1
-rw-r--r--test/030_applymoves/applymoves_tests.c (renamed from test/030_move/move_tests.c)0
-rw-r--r--test/032_countmoves/05_niss.in1
-rw-r--r--test/032_countmoves/05_niss.out1
-rw-r--r--test/033_inverse_move/inverse_move_tests.c12
-rw-r--r--test/051_compose_oriented/00_scrambled_noorient.in4
-rw-r--r--test/051_compose_oriented/00_scrambled_noorient.out1
-rw-r--r--test/051_compose_oriented/01_Uw_Fw.in2
-rw-r--r--test/051_compose_oriented/01_Uw_Fw.out1
-rw-r--r--test/051_compose_oriented/02_scrambled_scrambled.in4
-rw-r--r--test/051_compose_oriented/02_scrambled_scrambled.out1
-rw-r--r--test/051_compose_oriented/compose_oriented_tests.c24
-rw-r--r--test/062_transform_move/transform_move_tests.c12
-rw-r--r--test/130_appendsolution/00_empty.in2
-rw-r--r--test/130_appendsolution/01_simple_onlynormal_nounniss.in2
-rw-r--r--test/130_appendsolution/02_simple_onlynormal_nounnis_multitrans.in2
-rw-r--r--test/130_appendsolution/03_simple_unniss.in4
-rw-r--r--test/130_appendsolution/04_niss_nounniss.in4
-rw-r--r--test/130_appendsolution/05_sort_parallel.in2
-rw-r--r--test/130_appendsolution/06_unniss_trans_sort.in4
-rw-r--r--test/130_appendsolution/07_unniss_cancel_nosol.in4
-rw-r--r--test/130_appendsolution/08_unniss_cancel_nosol_v2.in4
-rw-r--r--test/130_appendsolution/09_fullinverse_niss.in4
-rw-r--r--test/130_appendsolution/10_rotated.in5
-rw-r--r--test/130_appendsolution/10_rotated.out4
-rw-r--r--test/130_appendsolution/appendsolution_tests.c21
185 files changed, 114 insertions, 28 deletions
diff --git a/test/030_move/000_nomove_solved.in b/test/030_applymoves/000_nomove_solved.in
index 149c123..149c123 100644
--- a/test/030_move/000_nomove_solved.in
+++ b/test/030_applymoves/000_nomove_solved.in
diff --git a/test/030_move/000_nomove_solved.out b/test/030_applymoves/000_nomove_solved.out
index 5aa6ba7..5aa6ba7 100644
--- a/test/030_move/000_nomove_solved.out
+++ b/test/030_applymoves/000_nomove_solved.out
diff --git a/test/030_move/001_nomove_scrambled.in b/test/030_applymoves/001_nomove_scrambled.in
index 700d45f..700d45f 100644
--- a/test/030_move/001_nomove_scrambled.in
+++ b/test/030_applymoves/001_nomove_scrambled.in
diff --git a/test/030_move/001_nomove_scrambled.out b/test/030_applymoves/001_nomove_scrambled.out
index d1fc648..d1fc648 100644
--- a/test/030_move/001_nomove_scrambled.out
+++ b/test/030_applymoves/001_nomove_scrambled.out
diff --git a/test/030_move/010_U_solved.in b/test/030_applymoves/010_U_solved.in
index 3c87da7..3c87da7 100644
--- a/test/030_move/010_U_solved.in
+++ b/test/030_applymoves/010_U_solved.in
diff --git a/test/030_move/010_U_solved.out b/test/030_applymoves/010_U_solved.out
index 250d3a1..250d3a1 100644
--- a/test/030_move/010_U_solved.out
+++ b/test/030_applymoves/010_U_solved.out
diff --git a/test/030_move/011_U_scrambled.in b/test/030_applymoves/011_U_scrambled.in
index 7245f4e..7245f4e 100644
--- a/test/030_move/011_U_scrambled.in
+++ b/test/030_applymoves/011_U_scrambled.in
diff --git a/test/030_move/011_U_scrambled.out b/test/030_applymoves/011_U_scrambled.out
index fb9b6c9..fb9b6c9 100644
--- a/test/030_move/011_U_scrambled.out
+++ b/test/030_applymoves/011_U_scrambled.out
diff --git a/test/030_move/012_U_inverse.in b/test/030_applymoves/012_U_inverse.in
index 4a41554..4a41554 100644
--- a/test/030_move/012_U_inverse.in
+++ b/test/030_applymoves/012_U_inverse.in
diff --git a/test/030_move/012_U_inverse.out b/test/030_applymoves/012_U_inverse.out
index 5aa6ba7..5aa6ba7 100644
--- a/test/030_move/012_U_inverse.out
+++ b/test/030_applymoves/012_U_inverse.out
diff --git a/test/030_move/020_U2_solved.in b/test/030_applymoves/020_U2_solved.in
index a261a22..a261a22 100644
--- a/test/030_move/020_U2_solved.in
+++ b/test/030_applymoves/020_U2_solved.in
diff --git a/test/030_move/020_U2_solved.out b/test/030_applymoves/020_U2_solved.out
index b14792e..b14792e 100644
--- a/test/030_move/020_U2_solved.out
+++ b/test/030_applymoves/020_U2_solved.out
diff --git a/test/030_move/021_U2_scrambled.in b/test/030_applymoves/021_U2_scrambled.in
index 5e7fab6..5e7fab6 100644
--- a/test/030_move/021_U2_scrambled.in
+++ b/test/030_applymoves/021_U2_scrambled.in
diff --git a/test/030_move/021_U2_scrambled.out b/test/030_applymoves/021_U2_scrambled.out
index c95806f..c95806f 100644
--- a/test/030_move/021_U2_scrambled.out
+++ b/test/030_applymoves/021_U2_scrambled.out
diff --git a/test/030_move/022_U2_inverse.in b/test/030_applymoves/022_U2_inverse.in
index 071ab85..071ab85 100644
--- a/test/030_move/022_U2_inverse.in
+++ b/test/030_applymoves/022_U2_inverse.in
diff --git a/test/030_move/022_U2_inverse.out b/test/030_applymoves/022_U2_inverse.out
index 5aa6ba7..5aa6ba7 100644
--- a/test/030_move/022_U2_inverse.out
+++ b/test/030_applymoves/022_U2_inverse.out
diff --git a/test/030_move/030_U3_solved.in b/test/030_applymoves/030_U3_solved.in
index 42bfad7..42bfad7 100644
--- a/test/030_move/030_U3_solved.in
+++ b/test/030_applymoves/030_U3_solved.in
diff --git a/test/030_move/030_U3_solved.out b/test/030_applymoves/030_U3_solved.out
index 111ba2b..111ba2b 100644
--- a/test/030_move/030_U3_solved.out
+++ b/test/030_applymoves/030_U3_solved.out
diff --git a/test/030_move/031_U3_inverse.in b/test/030_applymoves/031_U3_inverse.in
index 50788bd..50788bd 100644
--- a/test/030_move/031_U3_inverse.in
+++ b/test/030_applymoves/031_U3_inverse.in
diff --git a/test/030_move/031_U3_inverse.out b/test/030_applymoves/031_U3_inverse.out
index 5aa6ba7..5aa6ba7 100644
--- a/test/030_move/031_U3_inverse.out
+++ b/test/030_applymoves/031_U3_inverse.out
diff --git a/test/030_move/032_U3_scrambled.in b/test/030_applymoves/032_U3_scrambled.in
index 49293ff..49293ff 100644
--- a/test/030_move/032_U3_scrambled.in
+++ b/test/030_applymoves/032_U3_scrambled.in
diff --git a/test/030_move/032_U3_scrambled.out b/test/030_applymoves/032_U3_scrambled.out
index 80862a2..80862a2 100644
--- a/test/030_move/032_U3_scrambled.out
+++ b/test/030_applymoves/032_U3_scrambled.out
diff --git a/test/030_move/033_U3_with_prime.in b/test/030_applymoves/033_U3_with_prime.in
index 7c16119..7c16119 100644
--- a/test/030_move/033_U3_with_prime.in
+++ b/test/030_applymoves/033_U3_with_prime.in
diff --git a/test/030_move/033_U3_with_prime.out b/test/030_applymoves/033_U3_with_prime.out
index 111ba2b..111ba2b 100644
--- a/test/030_move/033_U3_with_prime.out
+++ b/test/030_applymoves/033_U3_with_prime.out
diff --git a/test/030_move/040_D_solved.in b/test/030_applymoves/040_D_solved.in
index adc471e..adc471e 100644
--- a/test/030_move/040_D_solved.in
+++ b/test/030_applymoves/040_D_solved.in
diff --git a/test/030_move/040_D_solved.out b/test/030_applymoves/040_D_solved.out
index ffcea5d..ffcea5d 100644
--- a/test/030_move/040_D_solved.out
+++ b/test/030_applymoves/040_D_solved.out
diff --git a/test/030_move/050_D2_solved.in b/test/030_applymoves/050_D2_solved.in
index 0696727..0696727 100644
--- a/test/030_move/050_D2_solved.in
+++ b/test/030_applymoves/050_D2_solved.in
diff --git a/test/030_move/050_D2_solved.out b/test/030_applymoves/050_D2_solved.out
index f872210..f872210 100644
--- a/test/030_move/050_D2_solved.out
+++ b/test/030_applymoves/050_D2_solved.out
diff --git a/test/030_move/060_D3_solved.in b/test/030_applymoves/060_D3_solved.in
index 867183d..867183d 100644
--- a/test/030_move/060_D3_solved.in
+++ b/test/030_applymoves/060_D3_solved.in
diff --git a/test/030_move/060_D3_solved.out b/test/030_applymoves/060_D3_solved.out
index acd829c..acd829c 100644
--- a/test/030_move/060_D3_solved.out
+++ b/test/030_applymoves/060_D3_solved.out
diff --git a/test/030_move/070_R_solved.in b/test/030_applymoves/070_R_solved.in
index e164209..e164209 100644
--- a/test/030_move/070_R_solved.in
+++ b/test/030_applymoves/070_R_solved.in
diff --git a/test/030_move/070_R_solved.out b/test/030_applymoves/070_R_solved.out
index 1be2e89..1be2e89 100644
--- a/test/030_move/070_R_solved.out
+++ b/test/030_applymoves/070_R_solved.out
diff --git a/test/030_move/071_R_scrambled.in b/test/030_applymoves/071_R_scrambled.in
index 4134942..4134942 100644
--- a/test/030_move/071_R_scrambled.in
+++ b/test/030_applymoves/071_R_scrambled.in
diff --git a/test/030_move/071_R_scrambled.out b/test/030_applymoves/071_R_scrambled.out
index 1711b22..1711b22 100644
--- a/test/030_move/071_R_scrambled.out
+++ b/test/030_applymoves/071_R_scrambled.out
diff --git a/test/030_move/080_R2_solved.in b/test/030_applymoves/080_R2_solved.in
index 25b0b10..25b0b10 100644
--- a/test/030_move/080_R2_solved.in
+++ b/test/030_applymoves/080_R2_solved.in
diff --git a/test/030_move/080_R2_solved.out b/test/030_applymoves/080_R2_solved.out
index 6611740..6611740 100644
--- a/test/030_move/080_R2_solved.out
+++ b/test/030_applymoves/080_R2_solved.out
diff --git a/test/030_move/090_R3_solved.in b/test/030_applymoves/090_R3_solved.in
index ffab472..ffab472 100644
--- a/test/030_move/090_R3_solved.in
+++ b/test/030_applymoves/090_R3_solved.in
diff --git a/test/030_move/090_R3_solved.out b/test/030_applymoves/090_R3_solved.out
index a14e69b..a14e69b 100644
--- a/test/030_move/090_R3_solved.out
+++ b/test/030_applymoves/090_R3_solved.out
diff --git a/test/030_move/100_L_solved.in b/test/030_applymoves/100_L_solved.in
index e47b8ff..e47b8ff 100644
--- a/test/030_move/100_L_solved.in
+++ b/test/030_applymoves/100_L_solved.in
diff --git a/test/030_move/100_L_solved.out b/test/030_applymoves/100_L_solved.out
index 5aa4131..5aa4131 100644
--- a/test/030_move/100_L_solved.out
+++ b/test/030_applymoves/100_L_solved.out
diff --git a/test/030_move/110_L2_solved.in b/test/030_applymoves/110_L2_solved.in
index c71e7ff..c71e7ff 100644
--- a/test/030_move/110_L2_solved.in
+++ b/test/030_applymoves/110_L2_solved.in
diff --git a/test/030_move/110_L2_solved.out b/test/030_applymoves/110_L2_solved.out
index 4fe322f..4fe322f 100644
--- a/test/030_move/110_L2_solved.out
+++ b/test/030_applymoves/110_L2_solved.out
diff --git a/test/030_move/120_L3_solved.in b/test/030_applymoves/120_L3_solved.in
index 7f82d91..7f82d91 100644
--- a/test/030_move/120_L3_solved.in
+++ b/test/030_applymoves/120_L3_solved.in
diff --git a/test/030_move/120_L3_solved.out b/test/030_applymoves/120_L3_solved.out
index fbe35f3..fbe35f3 100644
--- a/test/030_move/120_L3_solved.out
+++ b/test/030_applymoves/120_L3_solved.out
diff --git a/test/030_move/130_F_solved.in b/test/030_applymoves/130_F_solved.in
index dcb65dc..dcb65dc 100644
--- a/test/030_move/130_F_solved.in
+++ b/test/030_applymoves/130_F_solved.in
diff --git a/test/030_move/130_F_solved.out b/test/030_applymoves/130_F_solved.out
index a75744c..a75744c 100644
--- a/test/030_move/130_F_solved.out
+++ b/test/030_applymoves/130_F_solved.out
diff --git a/test/030_move/132_F_scrambled.in b/test/030_applymoves/132_F_scrambled.in
index e793507..e793507 100644
--- a/test/030_move/132_F_scrambled.in
+++ b/test/030_applymoves/132_F_scrambled.in
diff --git a/test/030_move/132_F_scrambled.out b/test/030_applymoves/132_F_scrambled.out
index 2992f71..2992f71 100644
--- a/test/030_move/132_F_scrambled.out
+++ b/test/030_applymoves/132_F_scrambled.out
diff --git a/test/030_move/133_F_scrambled_2.in b/test/030_applymoves/133_F_scrambled_2.in
index 35af326..35af326 100644
--- a/test/030_move/133_F_scrambled_2.in
+++ b/test/030_applymoves/133_F_scrambled_2.in
diff --git a/test/030_move/133_F_scrambled_2.out b/test/030_applymoves/133_F_scrambled_2.out
index 7fd0f96..7fd0f96 100644
--- a/test/030_move/133_F_scrambled_2.out
+++ b/test/030_applymoves/133_F_scrambled_2.out
diff --git a/test/030_move/140_F2_solved.in b/test/030_applymoves/140_F2_solved.in
index 9ac2bbf..9ac2bbf 100644
--- a/test/030_move/140_F2_solved.in
+++ b/test/030_applymoves/140_F2_solved.in
diff --git a/test/030_move/140_F2_solved.out b/test/030_applymoves/140_F2_solved.out
index 69720be..69720be 100644
--- a/test/030_move/140_F2_solved.out
+++ b/test/030_applymoves/140_F2_solved.out
diff --git a/test/030_move/150_F3_solved.in b/test/030_applymoves/150_F3_solved.in
index dbfb928..dbfb928 100644
--- a/test/030_move/150_F3_solved.in
+++ b/test/030_applymoves/150_F3_solved.in
diff --git a/test/030_move/150_F3_solved.out b/test/030_applymoves/150_F3_solved.out
index 500d969..500d969 100644
--- a/test/030_move/150_F3_solved.out
+++ b/test/030_applymoves/150_F3_solved.out
diff --git a/test/030_move/160_B_solved.in b/test/030_applymoves/160_B_solved.in
index 25b045d..25b045d 100644
--- a/test/030_move/160_B_solved.in
+++ b/test/030_applymoves/160_B_solved.in
diff --git a/test/030_move/160_B_solved.out b/test/030_applymoves/160_B_solved.out
index 73e099a..73e099a 100644
--- a/test/030_move/160_B_solved.out
+++ b/test/030_applymoves/160_B_solved.out
diff --git a/test/030_move/170_B2_solved.in b/test/030_applymoves/170_B2_solved.in
index bd25f3a..bd25f3a 100644
--- a/test/030_move/170_B2_solved.in
+++ b/test/030_applymoves/170_B2_solved.in
diff --git a/test/030_move/170_B2_solved.out b/test/030_applymoves/170_B2_solved.out
index 1021aeb..1021aeb 100644
--- a/test/030_move/170_B2_solved.out
+++ b/test/030_applymoves/170_B2_solved.out
diff --git a/test/030_move/180_B3_solved.in b/test/030_applymoves/180_B3_solved.in
index a38d932..a38d932 100644
--- a/test/030_move/180_B3_solved.in
+++ b/test/030_applymoves/180_B3_solved.in
diff --git a/test/030_move/180_B3_solved.out b/test/030_applymoves/180_B3_solved.out
index 78bd94a..78bd94a 100644
--- a/test/030_move/180_B3_solved.out
+++ b/test/030_applymoves/180_B3_solved.out
diff --git a/test/030_move/200_scramble_solved.in b/test/030_applymoves/200_scramble_solved.in
index 65127d4..65127d4 100644
--- a/test/030_move/200_scramble_solved.in
+++ b/test/030_applymoves/200_scramble_solved.in
diff --git a/test/030_move/200_scramble_solved.out b/test/030_applymoves/200_scramble_solved.out
index 6d77f16..6d77f16 100644
--- a/test/030_move/200_scramble_solved.out
+++ b/test/030_applymoves/200_scramble_solved.out
diff --git a/test/030_move/201_solution_scrambled.in b/test/030_applymoves/201_solution_scrambled.in
index e4d20b5..e4d20b5 100644
--- a/test/030_move/201_solution_scrambled.in
+++ b/test/030_applymoves/201_solution_scrambled.in
diff --git a/test/030_move/201_solution_scrambled.out b/test/030_applymoves/201_solution_scrambled.out
index 5aa6ba7..5aa6ba7 100644
--- a/test/030_move/201_solution_scrambled.out
+++ b/test/030_applymoves/201_solution_scrambled.out
diff --git a/test/030_move/300_multimove_solved.in b/test/030_applymoves/300_multimove_solved.in
index 751602a..751602a 100644
--- a/test/030_move/300_multimove_solved.in
+++ b/test/030_applymoves/300_multimove_solved.in
diff --git a/test/030_move/300_multimove_solved.out b/test/030_applymoves/300_multimove_solved.out
index d069105..d069105 100644
--- a/test/030_move/300_multimove_solved.out
+++ b/test/030_applymoves/300_multimove_solved.out
diff --git a/test/030_move/301_multimove_scrambled.in b/test/030_applymoves/301_multimove_scrambled.in
index dbe14c6..dbe14c6 100644
--- a/test/030_move/301_multimove_scrambled.in
+++ b/test/030_applymoves/301_multimove_scrambled.in
diff --git a/test/030_move/301_multimove_scrambled.out b/test/030_applymoves/301_multimove_scrambled.out
index 9c668da..9c668da 100644
--- a/test/030_move/301_multimove_scrambled.out
+++ b/test/030_applymoves/301_multimove_scrambled.out
diff --git a/test/030_move/500_Uw_solved.in b/test/030_applymoves/500_Uw_solved.in
index 3e79076..3e79076 100644
--- a/test/030_move/500_Uw_solved.in
+++ b/test/030_applymoves/500_Uw_solved.in
diff --git a/test/030_move/500_Uw_solved.out b/test/030_applymoves/500_Uw_solved.out
index fc08019..fc08019 100644
--- a/test/030_move/500_Uw_solved.out
+++ b/test/030_applymoves/500_Uw_solved.out
diff --git a/test/030_move/501_Uw2_solved.in b/test/030_applymoves/501_Uw2_solved.in
index fb0cf4b..fb0cf4b 100644
--- a/test/030_move/501_Uw2_solved.in
+++ b/test/030_applymoves/501_Uw2_solved.in
diff --git a/test/030_move/501_Uw2_solved.out b/test/030_applymoves/501_Uw2_solved.out
index eb734e6..eb734e6 100644
--- a/test/030_move/501_Uw2_solved.out
+++ b/test/030_applymoves/501_Uw2_solved.out
diff --git a/test/030_move/502_Uw3_solved.in b/test/030_applymoves/502_Uw3_solved.in
index 3b4ebf6..3b4ebf6 100644
--- a/test/030_move/502_Uw3_solved.in
+++ b/test/030_applymoves/502_Uw3_solved.in
diff --git a/test/030_move/502_Uw3_solved.out b/test/030_applymoves/502_Uw3_solved.out
index 6724a49..6724a49 100644
--- a/test/030_move/502_Uw3_solved.out
+++ b/test/030_applymoves/502_Uw3_solved.out
diff --git a/test/030_move/503_Dw_solved.in b/test/030_applymoves/503_Dw_solved.in
index da4009e..da4009e 100644
--- a/test/030_move/503_Dw_solved.in
+++ b/test/030_applymoves/503_Dw_solved.in
diff --git a/test/030_move/503_Dw_solved.out b/test/030_applymoves/503_Dw_solved.out
index f554f31..f554f31 100644
--- a/test/030_move/503_Dw_solved.out
+++ b/test/030_applymoves/503_Dw_solved.out
diff --git a/test/030_move/504_Dw2_solved.in b/test/030_applymoves/504_Dw2_solved.in
index 5e403a4..5e403a4 100644
--- a/test/030_move/504_Dw2_solved.in
+++ b/test/030_applymoves/504_Dw2_solved.in
diff --git a/test/030_move/504_Dw2_solved.out b/test/030_applymoves/504_Dw2_solved.out
index 51c13ad..51c13ad 100644
--- a/test/030_move/504_Dw2_solved.out
+++ b/test/030_applymoves/504_Dw2_solved.out
diff --git a/test/030_move/505_Dw3_solved.in b/test/030_applymoves/505_Dw3_solved.in
index d4a9fbb..d4a9fbb 100644
--- a/test/030_move/505_Dw3_solved.in
+++ b/test/030_applymoves/505_Dw3_solved.in
diff --git a/test/030_move/505_Dw3_solved.out b/test/030_applymoves/505_Dw3_solved.out
index b842e86..b842e86 100644
--- a/test/030_move/505_Dw3_solved.out
+++ b/test/030_applymoves/505_Dw3_solved.out
diff --git a/test/030_move/506_Rw_solved.in b/test/030_applymoves/506_Rw_solved.in
index 4387d10..4387d10 100644
--- a/test/030_move/506_Rw_solved.in
+++ b/test/030_applymoves/506_Rw_solved.in
diff --git a/test/030_move/506_Rw_solved.out b/test/030_applymoves/506_Rw_solved.out
index 853c85d..853c85d 100644
--- a/test/030_move/506_Rw_solved.out
+++ b/test/030_applymoves/506_Rw_solved.out
diff --git a/test/030_move/507_Rw2_solved.in b/test/030_applymoves/507_Rw2_solved.in
index 3510315..3510315 100644
--- a/test/030_move/507_Rw2_solved.in
+++ b/test/030_applymoves/507_Rw2_solved.in
diff --git a/test/030_move/507_Rw2_solved.out b/test/030_applymoves/507_Rw2_solved.out
index f89caca..f89caca 100644
--- a/test/030_move/507_Rw2_solved.out
+++ b/test/030_applymoves/507_Rw2_solved.out
diff --git a/test/030_move/508_Rw3_solved.in b/test/030_applymoves/508_Rw3_solved.in
index 69cb0b2..69cb0b2 100644
--- a/test/030_move/508_Rw3_solved.in
+++ b/test/030_applymoves/508_Rw3_solved.in
diff --git a/test/030_move/508_Rw3_solved.out b/test/030_applymoves/508_Rw3_solved.out
index 38ae9a9..38ae9a9 100644
--- a/test/030_move/508_Rw3_solved.out
+++ b/test/030_applymoves/508_Rw3_solved.out
diff --git a/test/030_move/509_Lw_solved.in b/test/030_applymoves/509_Lw_solved.in
index ddd8aea..ddd8aea 100644
--- a/test/030_move/509_Lw_solved.in
+++ b/test/030_applymoves/509_Lw_solved.in
diff --git a/test/030_move/509_Lw_solved.out b/test/030_applymoves/509_Lw_solved.out
index b588134..b588134 100644
--- a/test/030_move/509_Lw_solved.out
+++ b/test/030_applymoves/509_Lw_solved.out
diff --git a/test/030_move/510_Lw2_solved.in b/test/030_applymoves/510_Lw2_solved.in
index c0a00b3..c0a00b3 100644
--- a/test/030_move/510_Lw2_solved.in
+++ b/test/030_applymoves/510_Lw2_solved.in
diff --git a/test/030_move/510_Lw2_solved.out b/test/030_applymoves/510_Lw2_solved.out
index 9d468db..9d468db 100644
--- a/test/030_move/510_Lw2_solved.out
+++ b/test/030_applymoves/510_Lw2_solved.out
diff --git a/test/030_move/511_Lw3_solved.in b/test/030_applymoves/511_Lw3_solved.in
index 94b1333..94b1333 100644
--- a/test/030_move/511_Lw3_solved.in
+++ b/test/030_applymoves/511_Lw3_solved.in
diff --git a/test/030_move/511_Lw3_solved.out b/test/030_applymoves/511_Lw3_solved.out
index d4f17bb..d4f17bb 100644
--- a/test/030_move/511_Lw3_solved.out
+++ b/test/030_applymoves/511_Lw3_solved.out
diff --git a/test/030_move/512_Fw_solved.in b/test/030_applymoves/512_Fw_solved.in
index 179dab4..179dab4 100644
--- a/test/030_move/512_Fw_solved.in
+++ b/test/030_applymoves/512_Fw_solved.in
diff --git a/test/030_move/512_Fw_solved.out b/test/030_applymoves/512_Fw_solved.out
index 966f275..966f275 100644
--- a/test/030_move/512_Fw_solved.out
+++ b/test/030_applymoves/512_Fw_solved.out
diff --git a/test/030_move/513_Fw2_solved.in b/test/030_applymoves/513_Fw2_solved.in
index 94fd724..94fd724 100644
--- a/test/030_move/513_Fw2_solved.in
+++ b/test/030_applymoves/513_Fw2_solved.in
diff --git a/test/030_move/513_Fw2_solved.out b/test/030_applymoves/513_Fw2_solved.out
index 06c3560..06c3560 100644
--- a/test/030_move/513_Fw2_solved.out
+++ b/test/030_applymoves/513_Fw2_solved.out
diff --git a/test/030_move/514_Fw3_solved.in b/test/030_applymoves/514_Fw3_solved.in
index 5287f6a..5287f6a 100644
--- a/test/030_move/514_Fw3_solved.in
+++ b/test/030_applymoves/514_Fw3_solved.in
diff --git a/test/030_move/514_Fw3_solved.out b/test/030_applymoves/514_Fw3_solved.out
index 659a09e..659a09e 100644
--- a/test/030_move/514_Fw3_solved.out
+++ b/test/030_applymoves/514_Fw3_solved.out
diff --git a/test/030_move/515_Bw_solved.in b/test/030_applymoves/515_Bw_solved.in
index 13eac57..13eac57 100644
--- a/test/030_move/515_Bw_solved.in
+++ b/test/030_applymoves/515_Bw_solved.in
diff --git a/test/030_move/515_Bw_solved.out b/test/030_applymoves/515_Bw_solved.out
index 28af170..28af170 100644
--- a/test/030_move/515_Bw_solved.out
+++ b/test/030_applymoves/515_Bw_solved.out
diff --git a/test/030_move/516_Bw2_solved.in b/test/030_applymoves/516_Bw2_solved.in
index 989ad7c..989ad7c 100644
--- a/test/030_move/516_Bw2_solved.in
+++ b/test/030_applymoves/516_Bw2_solved.in
diff --git a/test/030_move/516_Bw2_solved.out b/test/030_applymoves/516_Bw2_solved.out
index 43b400d..43b400d 100644
--- a/test/030_move/516_Bw2_solved.out
+++ b/test/030_applymoves/516_Bw2_solved.out
diff --git a/test/030_move/517_Bw3_solved.in b/test/030_applymoves/517_Bw3_solved.in
index a53c4e9..a53c4e9 100644
--- a/test/030_move/517_Bw3_solved.in
+++ b/test/030_applymoves/517_Bw3_solved.in
diff --git a/test/030_move/517_Bw3_solved.out b/test/030_applymoves/517_Bw3_solved.out
index e10aaf5..e10aaf5 100644
--- a/test/030_move/517_Bw3_solved.out
+++ b/test/030_applymoves/517_Bw3_solved.out
diff --git a/test/030_move/518_M_solved.in b/test/030_applymoves/518_M_solved.in
index 599d8ff..599d8ff 100644
--- a/test/030_move/518_M_solved.in
+++ b/test/030_applymoves/518_M_solved.in
diff --git a/test/030_move/518_M_solved.out b/test/030_applymoves/518_M_solved.out
index 6b28216..6b28216 100644
--- a/test/030_move/518_M_solved.out
+++ b/test/030_applymoves/518_M_solved.out
diff --git a/test/030_move/519_M2_solved.in b/test/030_applymoves/519_M2_solved.in
index d0479b8..d0479b8 100644
--- a/test/030_move/519_M2_solved.in
+++ b/test/030_applymoves/519_M2_solved.in
diff --git a/test/030_move/519_M2_solved.out b/test/030_applymoves/519_M2_solved.out
index e28cb4e..e28cb4e 100644
--- a/test/030_move/519_M2_solved.out
+++ b/test/030_applymoves/519_M2_solved.out
diff --git a/test/030_move/520_M3_solved.in b/test/030_applymoves/520_M3_solved.in
index 32bff5a..32bff5a 100644
--- a/test/030_move/520_M3_solved.in
+++ b/test/030_applymoves/520_M3_solved.in
diff --git a/test/030_move/520_M3_solved.out b/test/030_applymoves/520_M3_solved.out
index 1d47a15..1d47a15 100644
--- a/test/030_move/520_M3_solved.out
+++ b/test/030_applymoves/520_M3_solved.out
diff --git a/test/030_move/521_S_solved.in b/test/030_applymoves/521_S_solved.in
index 9e08bff..9e08bff 100644
--- a/test/030_move/521_S_solved.in
+++ b/test/030_applymoves/521_S_solved.in
diff --git a/test/030_move/521_S_solved.out b/test/030_applymoves/521_S_solved.out
index 74b55a2..74b55a2 100644
--- a/test/030_move/521_S_solved.out
+++ b/test/030_applymoves/521_S_solved.out
diff --git a/test/030_move/522_S2_solved.in b/test/030_applymoves/522_S2_solved.in
index 49818d0..49818d0 100644
--- a/test/030_move/522_S2_solved.in
+++ b/test/030_applymoves/522_S2_solved.in
diff --git a/test/030_move/522_S2_solved.out b/test/030_applymoves/522_S2_solved.out
index 85245c3..85245c3 100644
--- a/test/030_move/522_S2_solved.out
+++ b/test/030_applymoves/522_S2_solved.out
diff --git a/test/030_move/523_S3_solved.in b/test/030_applymoves/523_S3_solved.in
index 3cdc3d6..3cdc3d6 100644
--- a/test/030_move/523_S3_solved.in
+++ b/test/030_applymoves/523_S3_solved.in
diff --git a/test/030_move/523_S3_solved.out b/test/030_applymoves/523_S3_solved.out
index ac53534..ac53534 100644
--- a/test/030_move/523_S3_solved.out
+++ b/test/030_applymoves/523_S3_solved.out
diff --git a/test/030_move/524_E_solved.in b/test/030_applymoves/524_E_solved.in
index 03b48ef..03b48ef 100644
--- a/test/030_move/524_E_solved.in
+++ b/test/030_applymoves/524_E_solved.in
diff --git a/test/030_move/524_E_solved.out b/test/030_applymoves/524_E_solved.out
index 54fcf98..54fcf98 100644
--- a/test/030_move/524_E_solved.out
+++ b/test/030_applymoves/524_E_solved.out
diff --git a/test/030_move/525_E2_solved.in b/test/030_applymoves/525_E2_solved.in
index faee27c..faee27c 100644
--- a/test/030_move/525_E2_solved.in
+++ b/test/030_applymoves/525_E2_solved.in
diff --git a/test/030_move/525_E2_solved.out b/test/030_applymoves/525_E2_solved.out
index 330a390..330a390 100644
--- a/test/030_move/525_E2_solved.out
+++ b/test/030_applymoves/525_E2_solved.out
diff --git a/test/030_move/526_E3_solved.in b/test/030_applymoves/526_E3_solved.in
index 17fa78d..17fa78d 100644
--- a/test/030_move/526_E3_solved.in
+++ b/test/030_applymoves/526_E3_solved.in
diff --git a/test/030_move/526_E3_solved.out b/test/030_applymoves/526_E3_solved.out
index cb55358..cb55358 100644
--- a/test/030_move/526_E3_solved.out
+++ b/test/030_applymoves/526_E3_solved.out
diff --git a/test/030_move/527_x_solved.in b/test/030_applymoves/527_x_solved.in
index f26b8c5..f26b8c5 100644
--- a/test/030_move/527_x_solved.in
+++ b/test/030_applymoves/527_x_solved.in
diff --git a/test/030_move/527_x_solved.out b/test/030_applymoves/527_x_solved.out
index 29fefad..29fefad 100644
--- a/test/030_move/527_x_solved.out
+++ b/test/030_applymoves/527_x_solved.out
diff --git a/test/030_move/528_x2_solved.in b/test/030_applymoves/528_x2_solved.in
index c538316..c538316 100644
--- a/test/030_move/528_x2_solved.in
+++ b/test/030_applymoves/528_x2_solved.in
diff --git a/test/030_move/528_x2_solved.out b/test/030_applymoves/528_x2_solved.out
index cebf79a..cebf79a 100644
--- a/test/030_move/528_x2_solved.out
+++ b/test/030_applymoves/528_x2_solved.out
diff --git a/test/030_move/529_x3_solved.in b/test/030_applymoves/529_x3_solved.in
index cc314b4..cc314b4 100644
--- a/test/030_move/529_x3_solved.in
+++ b/test/030_applymoves/529_x3_solved.in
diff --git a/test/030_move/529_x3_solved.out b/test/030_applymoves/529_x3_solved.out
index 2449874..2449874 100644
--- a/test/030_move/529_x3_solved.out
+++ b/test/030_applymoves/529_x3_solved.out
diff --git a/test/030_move/530_y_solved.in b/test/030_applymoves/530_y_solved.in
index 07ec332..07ec332 100644
--- a/test/030_move/530_y_solved.in
+++ b/test/030_applymoves/530_y_solved.in
diff --git a/test/030_move/530_y_solved.out b/test/030_applymoves/530_y_solved.out
index 4749dd6..4749dd6 100644
--- a/test/030_move/530_y_solved.out
+++ b/test/030_applymoves/530_y_solved.out
diff --git a/test/030_move/531_y2_solved.in b/test/030_applymoves/531_y2_solved.in
index a77c990..a77c990 100644
--- a/test/030_move/531_y2_solved.in
+++ b/test/030_applymoves/531_y2_solved.in
diff --git a/test/030_move/531_y2_solved.out b/test/030_applymoves/531_y2_solved.out
index c876a74..c876a74 100644
--- a/test/030_move/531_y2_solved.out
+++ b/test/030_applymoves/531_y2_solved.out
diff --git a/test/030_move/532_y3_solved.in b/test/030_applymoves/532_y3_solved.in
index d52024c..d52024c 100644
--- a/test/030_move/532_y3_solved.in
+++ b/test/030_applymoves/532_y3_solved.in
diff --git a/test/030_move/532_y3_solved.out b/test/030_applymoves/532_y3_solved.out
index 3a5afc2..3a5afc2 100644
--- a/test/030_move/532_y3_solved.out
+++ b/test/030_applymoves/532_y3_solved.out
diff --git a/test/030_move/533_z_solved.in b/test/030_applymoves/533_z_solved.in
index af78379..af78379 100644
--- a/test/030_move/533_z_solved.in
+++ b/test/030_applymoves/533_z_solved.in
diff --git a/test/030_move/533_z_solved.out b/test/030_applymoves/533_z_solved.out
index 9267695..9267695 100644
--- a/test/030_move/533_z_solved.out
+++ b/test/030_applymoves/533_z_solved.out
diff --git a/test/030_move/534_z2_solved.in b/test/030_applymoves/534_z2_solved.in
index 2f702a1..2f702a1 100644
--- a/test/030_move/534_z2_solved.in
+++ b/test/030_applymoves/534_z2_solved.in
diff --git a/test/030_move/534_z2_solved.out b/test/030_applymoves/534_z2_solved.out
index 94daec7..94daec7 100644
--- a/test/030_move/534_z2_solved.out
+++ b/test/030_applymoves/534_z2_solved.out
diff --git a/test/030_move/535_z3_solved.in b/test/030_applymoves/535_z3_solved.in
index f697279..f697279 100644
--- a/test/030_move/535_z3_solved.in
+++ b/test/030_applymoves/535_z3_solved.in
diff --git a/test/030_move/535_z3_solved.out b/test/030_applymoves/535_z3_solved.out
index fd02d56..fd02d56 100644
--- a/test/030_move/535_z3_solved.out
+++ b/test/030_applymoves/535_z3_solved.out
diff --git a/test/030_move/550_scrambled_random.in b/test/030_applymoves/550_scrambled_random.in
index 35cd8bd..35cd8bd 100644
--- a/test/030_move/550_scrambled_random.in
+++ b/test/030_applymoves/550_scrambled_random.in
diff --git a/test/030_move/550_scrambled_random.out b/test/030_applymoves/550_scrambled_random.out
index b3f81b0..b3f81b0 100644
--- a/test/030_move/550_scrambled_random.out
+++ b/test/030_applymoves/550_scrambled_random.out
diff --git a/test/030_move/559_solved_xzy.in b/test/030_applymoves/559_solved_xzy.in
index 9bc374d..9bc374d 100644
--- a/test/030_move/559_solved_xzy.in
+++ b/test/030_applymoves/559_solved_xzy.in
diff --git a/test/030_move/559_solved_xzy.out b/test/030_applymoves/559_solved_xzy.out
index 9267695..9267695 100644
--- a/test/030_move/559_solved_xzy.out
+++ b/test/030_applymoves/559_solved_xzy.out
diff --git a/test/030_move/560_solved_RwS.in b/test/030_applymoves/560_solved_RwS.in
index 8ae51a9..8ae51a9 100644
--- a/test/030_move/560_solved_RwS.in
+++ b/test/030_applymoves/560_solved_RwS.in
diff --git a/test/030_move/560_solved_RwS.out b/test/030_applymoves/560_solved_RwS.out
index c33d2a6..c33d2a6 100644
--- a/test/030_move/560_solved_RwS.out
+++ b/test/030_applymoves/560_solved_RwS.out
diff --git a/test/030_move/561_solved_RwSE3.in b/test/030_applymoves/561_solved_RwSE3.in
index f75c1ef..f75c1ef 100644
--- a/test/030_move/561_solved_RwSE3.in
+++ b/test/030_applymoves/561_solved_RwSE3.in
diff --git a/test/030_move/561_solved_RwSE3.out b/test/030_applymoves/561_solved_RwSE3.out
index 4b27b9a..4b27b9a 100644
--- a/test/030_move/561_solved_RwSE3.out
+++ b/test/030_applymoves/561_solved_RwSE3.out
diff --git a/test/030_move/569_returns_to_noreorient.in b/test/030_applymoves/569_returns_to_noreorient.in
index 9e51d26..9e51d26 100644
--- a/test/030_move/569_returns_to_noreorient.in
+++ b/test/030_applymoves/569_returns_to_noreorient.in
diff --git a/test/030_move/569_returns_to_noreorient.out b/test/030_applymoves/569_returns_to_noreorient.out
index 9e419e8..9e419e8 100644
--- a/test/030_move/569_returns_to_noreorient.out
+++ b/test/030_applymoves/569_returns_to_noreorient.out
diff --git a/test/030_applymoves/600_niss_solved.in b/test/030_applymoves/600_niss_solved.in
new file mode 100644
index 0000000..7228e69
--- /dev/null
+++ b/test/030_applymoves/600_niss_solved.in
@@ -0,0 +1,2 @@
1R U R (F L F)
2ABCDEFGH=ABCDEFGHIJKL=A
diff --git a/test/030_applymoves/600_niss_solved.out b/test/030_applymoves/600_niss_solved.out
new file mode 100644
index 0000000..b184385
--- /dev/null
+++ b/test/030_applymoves/600_niss_solved.out
@@ -0,0 +1 @@
DGEAHSFJ=JQCWHDKELIFB=A
diff --git a/test/030_applymoves/601_niss_solved_widenormal.in b/test/030_applymoves/601_niss_solved_widenormal.in
new file mode 100644
index 0000000..983a345
--- /dev/null
+++ b/test/030_applymoves/601_niss_solved_widenormal.in
@@ -0,0 +1,2 @@
1Rw Uw' (F L F)
2ABCDEFGH=ABCDEFGHIJKL=A
diff --git a/test/030_applymoves/601_niss_solved_widenormal.out b/test/030_applymoves/601_niss_solved_widenormal.out
new file mode 100644
index 0000000..85805f3
--- /dev/null
+++ b/test/030_applymoves/601_niss_solved_widenormal.out
@@ -0,0 +1 @@
CUWNQRPT=DabWEFIHJQSR=T
diff --git a/test/030_applymoves/602_scrambled_niss_1x3.in b/test/030_applymoves/602_scrambled_niss_1x3.in
new file mode 100644
index 0000000..dc75db5
--- /dev/null
+++ b/test/030_applymoves/602_scrambled_niss_1x3.in
@@ -0,0 +1,2 @@
1R (F)
2FECDABGH=EFCDBAGHIJKL=A
diff --git a/test/030_applymoves/602_scrambled_niss_1x3.out b/test/030_applymoves/602_scrambled_niss_1x3.out
new file mode 100644
index 0000000..1574617
--- /dev/null
+++ b/test/030_applymoves/602_scrambled_niss_1x3.out
@@ -0,0 +1 @@
KQMRONLH=EFCZTYGLHQKB=A
diff --git a/test/030_applymoves/603_scrambled_long_niss.in b/test/030_applymoves/603_scrambled_long_niss.in
new file mode 100644
index 0000000..2af5854
--- /dev/null
+++ b/test/030_applymoves/603_scrambled_long_niss.in
@@ -0,0 +1,3 @@
1R U R (B D2 F')
2LFWBCAEH=QSabHBIFJWDU=A
3// scrambled cube: "R U R F D B2 L F D' B3"
diff --git a/test/030_applymoves/603_scrambled_long_niss.out b/test/030_applymoves/603_scrambled_long_niss.out
new file mode 100644
index 0000000..89552d1
--- /dev/null
+++ b/test/030_applymoves/603_scrambled_long_niss.out
@@ -0,0 +1 @@
ADXJKNMG=TaYBFJQGUXCL=A
diff --git a/test/030_applymoves/604_scrambled_niss_extendedmoves.in b/test/030_applymoves/604_scrambled_niss_extendedmoves.in
new file mode 100644
index 0000000..a51e4b7
--- /dev/null
+++ b/test/030_applymoves/604_scrambled_niss_extendedmoves.in
@@ -0,0 +1,3 @@
1M y2 F E (Bw D2 Fw' z2)
2LFWBCAEH=QSabHBIFJWDU=A
3// scrambled cube: "R U R F D B2 L F D' B3"
diff --git a/test/030_applymoves/604_scrambled_niss_extendedmoves.out b/test/030_applymoves/604_scrambled_niss_extendedmoves.out
new file mode 100644
index 0000000..fa47221
--- /dev/null
+++ b/test/030_applymoves/604_scrambled_niss_extendedmoves.out
@@ -0,0 +1 @@
EPNOACTJ=WXLDQVZCRYaE=V
diff --git a/test/030_move/move_tests.c b/test/030_applymoves/applymoves_tests.c
index 98c9592..98c9592 100644
--- a/test/030_move/move_tests.c
+++ b/test/030_applymoves/applymoves_tests.c
diff --git a/test/032_countmoves/05_niss.in b/test/032_countmoves/05_niss.in
new file mode 100644
index 0000000..692e6c8
--- /dev/null
+++ b/test/032_countmoves/05_niss.in
@@ -0,0 +1 @@
R2 M Uw (Fw2 M2 y2)
diff --git a/test/032_countmoves/05_niss.out b/test/032_countmoves/05_niss.out
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/test/032_countmoves/05_niss.out
@@ -0,0 +1 @@
7
diff --git a/test/033_inverse_move/inverse_move_tests.c b/test/033_inverse_move/inverse_move_tests.c
index dc9845c..e9bad0c 100644
--- a/test/033_inverse_move/inverse_move_tests.c
+++ b/test/033_inverse_move/inverse_move_tests.c
@@ -2,19 +2,25 @@
2 2
3extern char *movestr[]; 3extern char *movestr[];
4 4
5int64_t readmoves(const char *, size_t n, uint8_t [n]); 5int64_t readmoves(const char *, size_t n, size_t m,
6 uint64_t *, uint64_t *, uint8_t [n], uint8_t [m]);
6uint8_t inverse_move(uint8_t); 7uint8_t inverse_move(uint8_t);
7 8
8void run(void) { 9void run(void) {
10 uint64_t inv, nor;
11 int64_t tot;
9 uint8_t moves[2]; 12 uint8_t moves[2];
10 13
11 char moves_string[STRLENMAX]; 14 char moves_string[STRLENMAX];
12 15
13 fgets(moves_string, STRLENMAX, stdin); 16 fgets(moves_string, STRLENMAX, stdin);
14 if (readmoves(moves_string, 2, moves) != 1) { 17 tot = readmoves(moves_string, 2, 0, &nor, &inv, moves, NULL);
15 printf("Test error: cannot read moves\n"); 18 if (nor != 1 || tot != 1) {
19 printf("Test error reading moves\n");
16 return; 20 return;
17 } 21 }
18 22
23fprintf(stderr, "Read move %" PRIu8 " = %s\n", moves[0], movestr[moves[0]]);
24
19 printf("%s\n", movestr[inverse_move(moves[0])]); 25 printf("%s\n", movestr[inverse_move(moves[0])]);
20} 26}
diff --git a/test/051_compose_oriented/00_scrambled_noorient.in b/test/051_compose_oriented/00_scrambled_noorient.in
new file mode 100644
index 0000000..904292f
--- /dev/null
+++ b/test/051_compose_oriented/00_scrambled_noorient.in
@@ -0,0 +1,4 @@
1CILVXGMR=FKbGIDSXBJAU=A
2JLQWSVUH=ZLCUABGIVTKH=A
3// Scramble: U R D' L D' F L2 D L F B D2 B' L2 F U2 L2 D2 R2 L2 B'
4// Followed by R' U' F
diff --git a/test/051_compose_oriented/00_scrambled_noorient.out b/test/051_compose_oriented/00_scrambled_noorient.out
new file mode 100644
index 0000000..426e4fe
--- /dev/null
+++ b/test/051_compose_oriented/00_scrambled_noorient.out
@@ -0,0 +1 @@
QFSEDWPR=ZUbYFKSBTWAX=A
diff --git a/test/051_compose_oriented/01_Uw_Fw.in b/test/051_compose_oriented/01_Uw_Fw.in
new file mode 100644
index 0000000..d50425a
--- /dev/null
+++ b/test/051_compose_oriented/01_Uw_Fw.in
@@ -0,0 +1,2 @@
1ABHGEFCD=ABHGEFCDIJKL=B
2AXUDJFGK=ABCDEKJHIFGL=Q
diff --git a/test/051_compose_oriented/01_Uw_Fw.out b/test/051_compose_oriented/01_Uw_Fw.out
new file mode 100644
index 0000000..5b15c06
--- /dev/null
+++ b/test/051_compose_oriented/01_Uw_Fw.out
@@ -0,0 +1 @@
MBKGXFQD=ZBHYEFCDQWKL=J
diff --git a/test/051_compose_oriented/02_scrambled_scrambled.in b/test/051_compose_oriented/02_scrambled_scrambled.in
new file mode 100644
index 0000000..5b814bc
--- /dev/null
+++ b/test/051_compose_oriented/02_scrambled_scrambled.in
@@ -0,0 +1,4 @@
1JHFGDMQS=ZaUGRCFHQbTY=W
2DCNORMXQ=YbaDFECXWRJA=G
3// First cube: "F R Uw Lw' D E2 x y M"
4// Second cube: "x R U R' Fw2 Bw y' S3"
diff --git a/test/051_compose_oriented/02_scrambled_scrambled.out b/test/051_compose_oriented/02_scrambled_scrambled.out
new file mode 100644
index 0000000..e6a0684
--- /dev/null
+++ b/test/051_compose_oriented/02_scrambled_scrambled.out
@@ -0,0 +1 @@
VSMPGQJD=ZRHFLUCKAWYT=Q
diff --git a/test/051_compose_oriented/compose_oriented_tests.c b/test/051_compose_oriented/compose_oriented_tests.c
new file mode 100644
index 0000000..f677dd6
--- /dev/null
+++ b/test/051_compose_oriented/compose_oriented_tests.c
@@ -0,0 +1,24 @@
1#include "../test.h"
2
3oriented_cube_t compose_oriented(oriented_cube_t, oriented_cube_t);
4
5void run(void) {
6 char str[STRLENMAX];
7 oriented_cube_t c1, c2, c3;
8
9 fgets(str, STRLENMAX, stdin);
10 c1 = readcube(str);
11 fgets(str, STRLENMAX, stdin);
12 c2 = readcube(str);
13
14 c3 = compose_oriented(c1, c2);
15
16 if (iserror(c3)) {
17 printf("Error composing cubes\n");
18 } else if (!issolvable(c3)) {
19 printf("Composed cube is not solvable\n");
20 } else {
21 writecube(c3, NISSY_SIZE_CUBE, str);
22 printf("%s\n", str);
23 }
24}
diff --git a/test/062_transform_move/transform_move_tests.c b/test/062_transform_move/transform_move_tests.c
index 39e8619..17cb0b6 100644
--- a/test/062_transform_move/transform_move_tests.c
+++ b/test/062_transform_move/transform_move_tests.c
@@ -4,7 +4,8 @@
4 4
5cube_t applytrans(cube_t, const char *); 5cube_t applytrans(cube_t, const char *);
6uint8_t transform_move(uint8_t, uint8_t); 6uint8_t transform_move(uint8_t, uint8_t);
7int64_t readmoves(const char *, size_t n, uint8_t [n]); 7int64_t readmoves(const char *, size_t n, size_t m,
8 uint64_t *, uint64_t *, uint8_t [n], uint8_t [m]);
8oriented_cube_t move_extended(oriented_cube_t, uint8_t); 9oriented_cube_t move_extended(oriented_cube_t, uint8_t);
9oriented_cube_t applymoves(oriented_cube_t, const char *); 10oriented_cube_t applymoves(oriented_cube_t, const char *);
10uint8_t readtrans(const char[static NISSY_SIZE_TRANSFORMATION]); 11uint8_t readtrans(const char[static NISSY_SIZE_TRANSFORMATION]);
@@ -12,14 +13,19 @@ uint8_t readtrans(const char[static NISSY_SIZE_TRANSFORMATION]);
12void run(void) { 13void run(void) {
13 char movestr[STRLENMAX], transtr[STRLENMAX], cubestr[STRLENMAX]; 14 char movestr[STRLENMAX], transtr[STRLENMAX], cubestr[STRLENMAX];
14 uint8_t t, moves[MAXMOVES]; 15 uint8_t t, moves[MAXMOVES];
15 int i, n; 16 uint64_t i, n, ninv;
17 int64_t tot;
16 oriented_cube_t cube; 18 oriented_cube_t cube;
17 19
18 fgets(transtr, STRLENMAX, stdin); 20 fgets(transtr, STRLENMAX, stdin);
19 fgets(movestr, STRLENMAX, stdin); 21 fgets(movestr, STRLENMAX, stdin);
20 22
21 cube = solvedcube(); 23 cube = solvedcube();
22 n = readmoves(movestr, MAXMOVES, moves); 24 tot = readmoves(movestr, MAXMOVES, 0, &n, &ninv, moves, NULL);
25 if (tot < 0 || ninv != 0) {
26 printf("Test error reading moves\n");
27 return;
28 }
23 t = readtrans(transtr); 29 t = readtrans(transtr);
24 for (i = 0; i < n; i++) 30 for (i = 0; i < n; i++)
25 cube = move_extended(cube, transform_move(moves[i], t)); 31 cube = move_extended(cube, transform_move(moves[i], t));
diff --git a/test/130_appendsolution/00_empty.in b/test/130_appendsolution/00_empty.in
index c4cad6e..1100b95 100644
--- a/test/130_appendsolution/00_empty.in
+++ b/test/130_appendsolution/00_empty.in
@@ -1,5 +1,5 @@
1 1
2
30 20
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/01_simple_onlynormal_nounniss.in b/test/130_appendsolution/01_simple_onlynormal_nounniss.in
index 37b6f3d..fb1eaed 100644
--- a/test/130_appendsolution/01_simple_onlynormal_nounniss.in
+++ b/test/130_appendsolution/01_simple_onlynormal_nounniss.in
@@ -1,5 +1,5 @@
1U F R D2 B' 1U F R D2 B'
2
30 20
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/02_simple_onlynormal_nounnis_multitrans.in b/test/130_appendsolution/02_simple_onlynormal_nounnis_multitrans.in
index c4ff41a..db5f074 100644
--- a/test/130_appendsolution/02_simple_onlynormal_nounnis_multitrans.in
+++ b/test/130_appendsolution/02_simple_onlynormal_nounnis_multitrans.in
@@ -1,8 +1,8 @@
1U F R 1U F R
2
30 20
44 34
5rotation UF 4rotation UF
6mirrored UR 5mirrored UR
7rotation BD 6rotation BD
8mirrored LB 7mirrored LB
80
diff --git a/test/130_appendsolution/03_simple_unniss.in b/test/130_appendsolution/03_simple_unniss.in
index 231f60c..2c5a331 100644
--- a/test/130_appendsolution/03_simple_unniss.in
+++ b/test/130_appendsolution/03_simple_unniss.in
@@ -1,5 +1,5 @@
1U F B2 1U F B2 (R' F D)
2R' F D
31 21
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/04_niss_nounniss.in b/test/130_appendsolution/04_niss_nounniss.in
index 39c6518..b07f970 100644
--- a/test/130_appendsolution/04_niss_nounniss.in
+++ b/test/130_appendsolution/04_niss_nounniss.in
@@ -1,5 +1,5 @@
1U F B2 1U F B2 (R' F D)
2R' F D
30 20
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/05_sort_parallel.in b/test/130_appendsolution/05_sort_parallel.in
index 7c8c4f5..bc1cf0f 100644
--- a/test/130_appendsolution/05_sort_parallel.in
+++ b/test/130_appendsolution/05_sort_parallel.in
@@ -1,5 +1,5 @@
1L R' B2 F 1L R' B2 F
2
30 20
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/06_unniss_trans_sort.in b/test/130_appendsolution/06_unniss_trans_sort.in
index 9be03a6..2ffab93 100644
--- a/test/130_appendsolution/06_unniss_trans_sort.in
+++ b/test/130_appendsolution/06_unniss_trans_sort.in
@@ -1,5 +1,5 @@
1B 1B (R2 F2)
2R2 F2
31 21
41 31
5rotation UR 4rotation UR
50
diff --git a/test/130_appendsolution/07_unniss_cancel_nosol.in b/test/130_appendsolution/07_unniss_cancel_nosol.in
index 561c909..6883d05 100644
--- a/test/130_appendsolution/07_unniss_cancel_nosol.in
+++ b/test/130_appendsolution/07_unniss_cancel_nosol.in
@@ -1,5 +1,5 @@
1B' F 1B' F (R2 B2)
2R2 B2
31 21
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/08_unniss_cancel_nosol_v2.in b/test/130_appendsolution/08_unniss_cancel_nosol_v2.in
index e707537..3d461f0 100644
--- a/test/130_appendsolution/08_unniss_cancel_nosol_v2.in
+++ b/test/130_appendsolution/08_unniss_cancel_nosol_v2.in
@@ -1,5 +1,5 @@
1F' B 1F' B (R2 F2)
2R2 F2
31 21
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/09_fullinverse_niss.in b/test/130_appendsolution/09_fullinverse_niss.in
index 33f0a26..bb2b640 100644
--- a/test/130_appendsolution/09_fullinverse_niss.in
+++ b/test/130_appendsolution/09_fullinverse_niss.in
@@ -1,5 +1,5 @@
1 1(F)
2F
30 20
41 31
5rotation UF 4rotation UF
50
diff --git a/test/130_appendsolution/10_rotated.in b/test/130_appendsolution/10_rotated.in
new file mode 100644
index 0000000..5210cd5
--- /dev/null
+++ b/test/130_appendsolution/10_rotated.in
@@ -0,0 +1,5 @@
1U2 F B L'
21
31
4rotation UF
57
diff --git a/test/130_appendsolution/10_rotated.out b/test/130_appendsolution/10_rotated.out
new file mode 100644
index 0000000..e70b2fe
--- /dev/null
+++ b/test/130_appendsolution/10_rotated.out
@@ -0,0 +1,4 @@
1D2 R L F'
2Number of solutions: 1
3Shortest solution length: 4
4Used bytes: 10
diff --git a/test/130_appendsolution/appendsolution_tests.c b/test/130_appendsolution/appendsolution_tests.c
index abff359..e1b7e98 100644
--- a/test/130_appendsolution/appendsolution_tests.c
+++ b/test/130_appendsolution/appendsolution_tests.c
@@ -1,11 +1,11 @@
1/* 1/*
2Input format for appendsolution tests: 2Input format for appendsolution tests:
3 3
4moves on normal 4moves on normal (with NISS notation)
5moves on inverse (without parentheses)
6unniss flag (0=false, 1=true) 5unniss flag (0=false, 1=true)
7number of transformations 6number of transformations
8transformations, one per line 7transformations, one per line
8the orientation of the cube, as a number from 0 to 23
9 9
10See below for the output format. 10See below for the output format.
11*/ 11*/
@@ -13,7 +13,8 @@ See below for the output format.
13#include "../test.h" 13#include "../test.h"
14 14
15uint8_t readtrans(const char [NISSY_SIZE_TRANSFORMATION]); 15uint8_t readtrans(const char [NISSY_SIZE_TRANSFORMATION]);
16int64_t readmoves(const char *, size_t n, uint8_t [n]); 16int64_t readmoves(const char *, size_t n, size_t m,
17 uint64_t *, uint64_t *, uint8_t [n], uint8_t [m]);
17void solution_moves_reset(solution_moves_t [static 1]); 18void solution_moves_reset(solution_moves_t [static 1]);
18bool solution_list_init(solution_list_t [static 1], size_t n, char [n]); 19bool solution_list_init(solution_list_t [static 1], size_t n, char [n]);
19int64_t appendsolution(const solution_moves_t [static 1], 20int64_t appendsolution(const solution_moves_t [static 1],
@@ -22,6 +23,8 @@ int64_t appendsolution(const solution_moves_t [static 1],
22 23
23void run(void) { 24void run(void) {
24 int i, ntrans; 25 int i, ntrans;
26 int64_t tot;
27 uint64_t nm, np;
25 char str[STRLENMAX], buf[STRLENMAX]; 28 char str[STRLENMAX], buf[STRLENMAX];
26 solution_moves_t moves; 29 solution_moves_t moves;
27 solution_settings_t settings; 30 solution_settings_t settings;
@@ -38,9 +41,13 @@ void run(void) {
38 }; 41 };
39 42
40 fgets(str, STRLENMAX, stdin); 43 fgets(str, STRLENMAX, stdin);
41 moves.nmoves = (uint8_t)readmoves(str, 20, moves.moves); 44 tot = readmoves(str, 20, 20, &nm, &np, moves.moves, moves.premoves);
42 fgets(str, STRLENMAX, stdin); 45 if (tot < 0) {
43 moves.npremoves = (uint8_t)readmoves(str, 20, moves.premoves); 46 printf("Test error reading moves\n");
47 return;
48 }
49 moves.nmoves = nm;
50 moves.npremoves = np;
44 fgets(str, STRLENMAX, stdin); 51 fgets(str, STRLENMAX, stdin);
45 settings.unniss = (bool)atoi(str); 52 settings.unniss = (bool)atoi(str);
46 fgets(str, STRLENMAX, stdin); 53 fgets(str, STRLENMAX, stdin);
@@ -49,6 +56,8 @@ void run(void) {
49 fgets(str, STRLENMAX, stdin); 56 fgets(str, STRLENMAX, stdin);
50 settings.tmask |= UINT64_C(1) << (uint64_t)readtrans(str); 57 settings.tmask |= UINT64_C(1) << (uint64_t)readtrans(str);
51 } 58 }
59 fgets(str, STRLENMAX, stdin);
60 settings.orientation = atoi(str);
52 61
53 appendsolution(&moves, &settings, &list, false, "Test"); 62 appendsolution(&moves, &settings, &list, false, "Test");
54 63

Generated with cgit - Back to sebastiano.tronto.net