From 5b988577b03545c84ee23fe3b88d24a58a7046a5 Mon Sep 17 00:00:00 2001 From: xpetit <32063953+xpetit@users.noreply.github.com> Date: Sun, 4 Apr 2021 22:11:37 +0200 Subject: [PATCH] Remove tofix and move go/tests to test-go --- go/{tests => }/Dockerfile | 0 go/{tests => }/README.md | 0 go/{tests => }/entrypoint.sh | 0 go/{tests => }/go.mod | 0 go/{tests => }/go.sum | 0 go/{tests => }/lib/base/base.go | 0 go/{tests => }/lib/is/is.go | 0 go/{tests => }/lib/lib.go | 0 .../solutions/addprimesum_prog/main.go | 0 .../solutions/alphamirror_prog/main.go | 0 .../solutions/balancedstring_prog/main.go | 0 go/{tests => }/solutions/boolean_prog/main.go | 0 .../solutions/brackets_prog/main.go | 0 .../solutions/brainfuck_prog/main.go | 0 go/{tests => }/solutions/cat_prog/main.go | 0 .../solutions/cleanstr_prog/main.go | 0 .../solutions/comcheck_prog/main.go | 0 .../solutions/costumeprofit_prog/main.go | 0 .../solutions/countdown_prog/main.go | 0 .../solutions/displaya_prog/main.go | 0 .../solutions/displayalpham_prog/main.go | 0 .../solutions/displayalrevm_prog/main.go | 0 .../solutions/displayfile_prog/main.go | 0 .../solutions/displayfirstparam_prog/main.go | 0 .../solutions/displaylastparam_prog/main.go | 0 .../solutions/displayz_prog/main.go | 0 go/{tests => }/solutions/doop_prog/main.go | 0 .../solutions/expandstr_prog/main.go | 0 .../solutions/firstword_prog/main.go | 0 .../solutions/fixthemain_prog/main.go | 0 go/{tests => }/solutions/flags_prog/main.go | 0 go/{tests => }/solutions/fprime_prog/main.go | 0 go/{tests => }/solutions/gcd_prog/main.go | 0 .../solutions/grouping_prog/main.go | 0 go/{tests => }/solutions/hello_prog/main.go | 0 go/{tests => }/solutions/hiddenp_prog/main.go | 0 go/{tests => }/solutions/inter_prog/main.go | 0 .../solutions/ispowerof2_prog/main.go | 0 .../solutions/lastword_prog/main.go | 0 .../solutions/nbrconvertalpha_prog/main.go | 0 go/{tests => }/solutions/nenokku_prog/main.go | 0 go/{tests => }/solutions/onlya_prog/main.go | 0 go/{tests => }/solutions/onlyz_prog/main.go | 0 go/{tests => }/solutions/options_prog/main.go | 0 .../solutions/paramcount_prog/main.go | 0 .../solutions/piglatin_prog/main.go | 0 go/{tests => }/solutions/pilot_prog/main.go | 0 go/{tests => }/solutions/point_prog/main.go | 0 .../solutions/printalphabet_prog/main.go | 0 .../solutions/printalphabetalt2_prog/main.go | 0 .../solutions/printalphabetalt_prog/main.go | 0 .../solutions/printalphabetg_prog/main.go | 0 .../solutions/printalt2_prog/main.go | 0 .../solutions/printalt_prog/main.go | 0 .../solutions/printaltu2_prog/main.go | 0 .../solutions/printaltu_prog/main.go | 0 .../solutions/printbits_prog/main.go | 0 .../solutions/printchessboard_prog/main.go | 0 .../solutions/printdigits_prog/main.go | 0 .../solutions/printhex_prog/main.go | 0 .../solutions/printparams_prog/main.go | 0 .../solutions/printprogramname_prog/main.go | 0 .../solutions/printrevcomb_prog/main.go | 0 .../printreversealphabet_prog/main.go | 0 .../printreversealphabetalt2_prog/main.go | 0 .../printreversealphabetalt_prog/main.go | 0 .../printreversealphabetg_prog/main.go | 0 .../solutions/printrot_prog/main.go | 0 go/{tests => }/solutions/raid3_prog/main.go | 0 go/{tests => }/solutions/range_prog/main.go | 0 .../solutions/rectangle_prog/main.go | 0 .../solutions/repeatalpha_prog/main.go | 0 .../solutions/reverserange_prog/main.go | 0 .../solutions/reversestrcap_prog/main.go | 0 .../solutions/revparams_prog/main.go | 0 go/{tests => }/solutions/revwstr_prog/main.go | 0 .../solutions/robottoorigin_prog/main.go | 0 .../solutions/romannumbers_prog/main.go | 0 .../solutions/rostring_prog/main.go | 0 go/{tests => }/solutions/rot13_prog/main.go | 0 .../solutions/rotatevowels_prog/main.go | 0 go/{tests => }/solutions/rpncalc_prog/main.go | 0 .../solutions/searchreplace_prog/main.go | 0 .../solutions/sortparams_prog/main.go | 0 go/{tests => }/solutions/sudoku_prog/main.go | 0 .../solutions/switchcase_prog/main.go | 0 go/{tests => }/solutions/tabmult_prog/main.go | 0 .../solutions/tetrisoptimizer_prog/board.go | 0 .../solutions/tetrisoptimizer_prog/main.go | 0 .../tetrisoptimizer_prog/samples/bad00.txt | 0 .../tetrisoptimizer_prog/samples/bad01.txt | 0 .../tetrisoptimizer_prog/samples/bad02.txt | 0 .../tetrisoptimizer_prog/samples/bad03.txt | 0 .../tetrisoptimizer_prog/samples/bad04.txt | 0 .../samples/badFormat.txt | 0 .../samples/good_01-1-2-0.00.txt | 0 .../samples/good_02-1-4-0.00.txt | 0 .../samples/good_03-2-4-0.00.txt | 0 .../samples/good_04-6-6-0.00.txt | 0 .../samples/good_05-21-10-0.00.txt | 0 .../samples/good_06-22-10-0.00.txt | 0 .../samples/good_07-26-11-0.00.txt | 0 .../samples/good_08-24-10-0.03.txt | 0 .../samples/good_09-11-7-0.07.txt | 0 .../samples/good_10-12-7-0.52.txt | 0 .../samples/good_11-12-8-0.83.txt | 0 .../samples/good_12-19-9-3.40.txt | 0 .../samples/good_13-23-10-4.72.txt | 0 .../samples/good_14-15-8-7.34.txt | 0 .../samples/good_15-26-11-72.22.txt | 0 .../solutions/tetrisoptimizer_prog/solver.go | 0 .../tetrisoptimizer_prog/tetrimino.go | 0 .../tetrisoptimizer_prog/validation.go | 0 go/{tests => }/solutions/union_prog/main.go | 0 .../solutions/uniqueoccurences_prog/main.go | 0 go/{tests => }/solutions/wdmatch_prog/main.go | 0 go/{tests => }/solutions/ztail_prog/main.go | 0 go/tests/{tests => }/abort_test/main.go | 0 go/tests/{tests => }/activebits_test/main.go | 0 go/tests/{tests => }/addprimesum_test/main.go | 0 .../advancedsortwordarr_test/main.go | 0 go/tests/{tests => }/alphacount_test/main.go | 0 go/tests/{tests => }/alphamirror_test/main.go | 0 go/tests/{tests => }/any_test/main.go | 0 go/tests/{tests => }/appendrange_test/main.go | 0 go/tests/{tests => }/atoi_test/main.go | 0 go/tests/{tests => }/atoibase_test/main.go | 0 .../{tests => }/balancedstring_test/main.go | 0 go/tests/{tests => }/basicatoi2_test/main.go | 0 go/tests/{tests => }/basicatoi_test/main.go | 0 go/tests/{tests => }/basicjoin_test/main.go | 0 go/tests/{tests => }/boolean_test/main.go | 0 go/tests/{tests => }/brackets_test/main.go | 0 go/tests/{tests => }/brainfuck_test/main.go | 0 .../btreeapplybylevel_test/main.go | 0 .../btreeapplyinorder_test/main.go | 0 .../btreeapplypostorder_test/main.go | 0 .../btreeapplypreorder_test/main.go | 0 .../{tests => }/btreedeletenode_test/main.go | 0 .../{tests => }/btreeinsertdata_test/main.go | 0 .../{tests => }/btreeisbinary_test/main.go | 0 .../{tests => }/btreelevelcount_test/main.go | 0 go/tests/{tests => }/btreemax_test/main.go | 0 go/tests/{tests => }/btreemin_test/main.go | 0 .../{tests => }/btreesearchitem_test/main.go | 0 .../{tests => }/btreetransplant_test/main.go | 0 go/tests/{tests => }/capitalize_test/main.go | 0 go/tests/{tests => }/cat_test/main.go | 0 go/tests/{tests => }/chunk_test/main.go | 0 go/tests/{tests => }/cleanstr_test/main.go | 0 .../{tests => }/collatzcountdown_test/main.go | 0 go/tests/{tests => }/comcheck_test/main.go | 0 go/tests/{tests => }/compact_test/main.go | 0 go/tests/{tests => }/compare_test/main.go | 0 go/tests/{tests => }/concat_test/main.go | 0 .../{tests => }/concatparams_test/main.go | 0 go/tests/{tests => }/convertbase_test/main.go | 0 go/tests/{tests => }/correct/btree.go | 0 go/tests/{tests => }/correct/challenge.go | 0 go/tests/{tests => }/correct/listat.go | 0 go/tests/{tests => }/correct/listclear.go | 0 go/tests/{tests => }/correct/listfind.go | 0 go/tests/{tests => }/correct/listforeach.go | 0 go/tests/{tests => }/correct/listforeachif.go | 0 go/tests/{tests => }/correct/listlast.go | 0 go/tests/{tests => }/correct/listmerge.go | 0 go/tests/{tests => }/correct/listpushback.go | 0 go/tests/{tests => }/correct/listpushfront.go | 0 go/tests/{tests => }/correct/listremoveif.go | 0 go/tests/{tests => }/correct/listreverse.go | 0 go/tests/{tests => }/correct/listsize.go | 0 go/tests/{tests => }/correct/listsort.go | 0 .../{tests => }/correct/sortedlistmerge.go | 0 .../{tests => }/correct/sortlistinsert.go | 0 .../{tests => }/costumeprofit_test/main.go | 0 go/tests/{tests => }/countdown_test/main.go | 0 go/tests/{tests => }/countif_test/main.go | 0 go/tests/{tests => }/displaya_test/main.go | 0 .../{tests => }/displayalpham_test/main.go | 0 .../{tests => }/displayalrevm_test/main.go | 0 go/tests/{tests => }/displayfile_test/main.go | 0 .../displayfirstparam_test/main.go | 0 .../{tests => }/displaylastparam_test/main.go | 0 go/tests/{tests => }/displayz_test/main.go | 0 go/tests/{tests => }/divmod_test/main.go | 0 go/tests/{tests => }/doop_test/main.go | 0 .../{tests => }/doppelganger_test/main.go | 0 go/tests/{tests => }/eightqueens_test/main.go | 0 go/tests/{tests => }/enigma_test/main.go | 0 go/tests/{tests => }/expandstr_test/main.go | 0 go/tests/{tests => }/fib_test/main.go | 0 go/tests/{tests => }/fibonacci_test/main.go | 0 .../{tests => }/findnextprime_test/main.go | 0 .../{tests => }/findprevprime_test/main.go | 0 go/tests/{tests => }/firstrune_test/main.go | 0 go/tests/{tests => }/firstword_test/main.go | 0 go/tests/{tests => }/fixthemain_test/main.go | 0 go/tests/{tests => }/flags_test/main.go | 0 go/tests/{tests => }/foldint_test/main.go | 0 go/tests/{tests => }/foreach_test/main.go | 0 go/tests/{tests => }/fprime_test/main.go | 0 go/tests/{tests => }/game23_test/main.go | 0 go/tests/{tests => }/gcd_test/main.go | 0 go/tests/{tests => }/grouping_test/main.go | 0 go/tests/{tests => }/halfcontest_test/main.go | 0 go/tests/{tests => }/hello_test/main.go | 0 go/tests/{tests => }/hiddenp_test/main.go | 0 go/tests/{tests => }/index_test/main.go | 0 go/tests/{tests => }/inter_test/main.go | 0 .../interestingnumber_test/main.go | 0 go/tests/{tests => }/isalpha_test/main.go | 0 go/tests/{tests => }/isanagram_test/main.go | 0 go/tests/{tests => }/islower_test/main.go | 0 go/tests/{tests => }/isnegative_test/main.go | 0 go/tests/{tests => }/isnumeric_test/main.go | 0 go/tests/{tests => }/ispowerof2_test/main.go | 0 go/tests/{tests => }/isprime_test/main.go | 0 go/tests/{tests => }/isprintable_test/main.go | 0 go/tests/{tests => }/issorted_test/main.go | 0 go/tests/{tests => }/isupper_test/main.go | 0 .../iterativefactorial_test/main.go | 0 .../{tests => }/iterativepower_test/main.go | 0 go/tests/{tests => }/itoa_test/main.go | 0 go/tests/{tests => }/itoabase_test/main.go | 0 go/tests/{tests => }/join_test/main.go | 0 go/tests/{tests => }/lastrune_test/main.go | 0 go/tests/{tests => }/lastword_test/main.go | 0 go/tests/{tests => }/lcm_test/main.go | 0 go/tests/{tests => }/listat_test/main.go | 0 go/tests/{tests => }/listclear_test/main.go | 0 go/tests/{tests => }/listfind_test/main.go | 0 go/tests/{tests => }/listforeach_test/main.go | 0 .../{tests => }/listforeachif_test/main.go | 0 go/tests/{tests => }/listlast_test/main.go | 0 go/tests/{tests => }/listmerge_test/main.go | 0 .../{tests => }/listpushback_test/main.go | 0 .../{tests => }/listpushfront_test/main.go | 0 .../{tests => }/listremoveif_test/main.go | 0 go/tests/{tests => }/listreverse_test/main.go | 0 go/tests/{tests => }/listsize_test/main.go | 0 go/tests/{tests => }/listsort_test/main.go | 0 go/tests/{tests => }/makerange_test/main.go | 0 go/tests/{tests => }/map_test/main.go | 0 go/tests/{tests => }/max_test/main.go | 0 go/tests/{tests => }/nauuo_test/main.go | 0 .../{tests => }/nbrconvertalpha_test/main.go | 0 go/tests/{tests => }/nenokku_test/main.go | 0 go/tests/{tests => }/nrune_test/main.go | 0 go/tests/{tests => }/onlya_test/main.go | 0 go/tests/{tests => }/onlyz_test/main.go | 0 go/tests/{tests => }/options_test/main.go | 0 go/tests/{tests => }/paramcount_test/main.go | 0 go/tests/{tests => }/piglatin_test/main.go | 0 go/tests/{tests => }/pilot_test/main.go | 0 go/tests/{tests => }/point_test/main.go | 0 go/tests/{tests => }/pointone_test/main.go | 0 .../{tests => }/printalphabet_test/main.go | 0 .../printalphabetalt2_test/main.go | 0 .../{tests => }/printalphabetalt_test/main.go | 0 .../{tests => }/printalphabetg_test/main.go | 0 go/tests/{tests => }/printalt2_test/main.go | 0 go/tests/{tests => }/printalt_test/main.go | 0 go/tests/{tests => }/printaltu2_test/main.go | 0 go/tests/{tests => }/printaltu_test/main.go | 0 go/tests/{tests => }/printbits_test/main.go | 0 .../{tests => }/printchessboard_test/main.go | 0 go/tests/{tests => }/printcomb2_test/main.go | 0 go/tests/{tests => }/printcomb_test/main.go | 0 go/tests/{tests => }/printcombn_test/main.go | 0 go/tests/{tests => }/printdigits_test/main.go | 0 go/tests/{tests => }/printhex_test/main.go | 0 go/tests/{tests => }/printmemory_test/main.go | 0 go/tests/{tests => }/printnbr_test/main.go | 0 .../{tests => }/printnbrbase_test/main.go | 0 .../{tests => }/printnbrinorder_test/main.go | 0 go/tests/{tests => }/printparams_test/main.go | 0 .../{tests => }/printprogramname_test/main.go | 0 .../{tests => }/printrevcomb_test/main.go | 0 .../printreversealphabet_test/main.go | 0 .../printreversealphabetalt2_test/main.go | 0 .../printreversealphabetalt_test/main.go | 0 .../printreversealphabetg_test/main.go | 0 go/tests/{tests => }/printrot_test/main.go | 0 go/tests/{tests => }/printstr_test/main.go | 0 .../{tests => }/printwordstables_test/main.go | 0 go/tests/{tests => }/priorprime_test/main.go | 0 go/tests/{tests => }/quada_test/main.go | 0 go/tests/{tests => }/quadb_test/main.go | 0 go/tests/{tests => }/quadc_test/main.go | 0 go/tests/{tests => }/quadd_test/main.go | 0 go/tests/{tests => }/quade_test/main.go | 0 go/tests/{tests => }/raid3_test/main.go | 0 go/tests/{tests => }/range_test/main.go | 0 .../{tests => }/reachablenumber_test/main.go | 0 go/tests/{tests => }/rectangle_test/main.go | 0 .../recursivefactorial_test/main.go | 0 .../{tests => }/recursivepower_test/main.go | 0 go/tests/{tests => }/reduceint_test/main.go | 0 go/tests/{tests => }/repeatalpha_test/main.go | 0 go/tests/{tests => }/reversebits_test/main.go | 0 .../{tests => }/reverserange_test/main.go | 0 .../{tests => }/reversestrcap_test/main.go | 0 .../{tests => }/revivethreenums_test/main.go | 0 go/tests/{tests => }/revparams_test/main.go | 0 go/tests/{tests => }/revwstr_test/main.go | 0 .../{tests => }/robottoorigin_test/main.go | 0 .../{tests => }/romannumbers_test/main.go | 0 go/tests/{tests => }/rostring_test/main.go | 0 go/tests/{tests => }/rot13_test/main.go | 0 go/tests/{tests => }/rot14_test/main.go | 0 .../{tests => }/rotatevowels_test/main.go | 0 go/tests/{tests => }/rpncalc_test/main.go | 0 .../{tests => }/searchreplace_test/main.go | 0 go/tests/{tests => }/slice_test/main.go | 0 .../{tests => }/sortedlistmerge_test/main.go | 0 .../{tests => }/sortintegertable_test/main.go | 0 .../{tests => }/sortlistinsert_test/main.go | 0 go/tests/{tests => }/sortparams_test/main.go | 0 go/tests/{tests => }/sortwordarr_test/main.go | 0 go/tests/{tests => }/split_test/main.go | 0 .../{tests => }/splitwhitespaces_test/main.go | 0 go/tests/{tests => }/sqrt_test/main.go | 0 go/tests/{tests => }/strlen_test/main.go | 0 go/tests/{tests => }/strrev_test/main.go | 0 go/tests/{tests => }/sudoku_test/main.go | 0 go/tests/{tests => }/swap_test/main.go | 0 go/tests/{tests => }/swapbits_test/main.go | 0 .../{tests => }/sweetproblem_test/main.go | 0 go/tests/{tests => }/switchcase_test/main.go | 0 go/tests/{tests => }/tabmult_test/main.go | 0 .../{tests => }/tetrisoptimizer_test/main.go | 0 go/tests/{tests => }/tolower_test/main.go | 0 go/tests/{tests => }/toupper_test/main.go | 0 go/tests/{tests => }/trimatoi_test/main.go | 0 go/tests/{tests => }/twosum_test/main.go | 0 .../{tests => }/ultimatedivmod_test/main.go | 0 .../{tests => }/ultimatepointone_test/main.go | 0 go/tests/{tests => }/union_test/main.go | 0 .../{tests => }/uniqueoccurences_test/main.go | 0 go/tests/{tests => }/unmatch_test/main.go | 0 .../{tests => }/volumechanger_test/main.go | 0 go/tests/{tests => }/wdmatch_test/main.go | 0 go/tests/{tests => }/ztail_test/main.go | 0 go/tofix/func/correct/addlinkednumbers.go | 36 ---- go/tofix/func/correct/changeorder.go | 49 ----- go/tofix/func/correct/reverse.go | 26 --- go/tofix/func/correct/sortll.go | 37 ---- go/tofix/func/createelem/main.go | 37 ---- go/tofix/func/inverttree/main.go | 181 ----------------- go/tofix/func/merge/main.go | 188 ------------------ go/tofix/func/reverse/main.go | 83 -------- go/tofix/func/sametree/main.go | 142 ------------- go/tofix/func/sortlist/main.go | 147 -------------- go/tofix/func/test_addlinkednumbers.go | 118 ----------- go/tofix/func/test_changeorder.go | 105 ---------- go/tofix/func/test_sortll.go | 90 --------- go/tofix/raid3/correct/raid1aprog/raid1a.go | 23 --- go/tofix/raid3/correct/raid1bprog/raid1b.go | 23 --- go/tofix/raid3/correct/raid1cprog/raid1c.go | 23 --- go/tofix/raid3/correct/raid1dprog/raid1d.go | 23 --- go/tofix/raid3/correct/raid1eprog/raid1e.go | 23 --- 361 files changed, 1354 deletions(-) rename go/{tests => }/Dockerfile (100%) rename go/{tests => }/README.md (100%) rename go/{tests => }/entrypoint.sh (100%) rename go/{tests => }/go.mod (100%) rename go/{tests => }/go.sum (100%) rename go/{tests => }/lib/base/base.go (100%) rename go/{tests => }/lib/is/is.go (100%) rename go/{tests => }/lib/lib.go (100%) rename go/{tests => }/solutions/addprimesum_prog/main.go (100%) rename go/{tests => }/solutions/alphamirror_prog/main.go (100%) rename go/{tests => }/solutions/balancedstring_prog/main.go (100%) rename go/{tests => }/solutions/boolean_prog/main.go (100%) rename go/{tests => }/solutions/brackets_prog/main.go (100%) rename go/{tests => }/solutions/brainfuck_prog/main.go (100%) rename go/{tests => }/solutions/cat_prog/main.go (100%) rename go/{tests => }/solutions/cleanstr_prog/main.go (100%) rename go/{tests => }/solutions/comcheck_prog/main.go (100%) rename go/{tests => }/solutions/costumeprofit_prog/main.go (100%) rename go/{tests => }/solutions/countdown_prog/main.go (100%) rename go/{tests => }/solutions/displaya_prog/main.go (100%) rename go/{tests => }/solutions/displayalpham_prog/main.go (100%) rename go/{tests => }/solutions/displayalrevm_prog/main.go (100%) rename go/{tests => }/solutions/displayfile_prog/main.go (100%) rename go/{tests => }/solutions/displayfirstparam_prog/main.go (100%) rename go/{tests => }/solutions/displaylastparam_prog/main.go (100%) rename go/{tests => }/solutions/displayz_prog/main.go (100%) rename go/{tests => }/solutions/doop_prog/main.go (100%) rename go/{tests => }/solutions/expandstr_prog/main.go (100%) rename go/{tests => }/solutions/firstword_prog/main.go (100%) rename go/{tests => }/solutions/fixthemain_prog/main.go (100%) rename go/{tests => }/solutions/flags_prog/main.go (100%) rename go/{tests => }/solutions/fprime_prog/main.go (100%) rename go/{tests => }/solutions/gcd_prog/main.go (100%) rename go/{tests => }/solutions/grouping_prog/main.go (100%) rename go/{tests => }/solutions/hello_prog/main.go (100%) rename go/{tests => }/solutions/hiddenp_prog/main.go (100%) rename go/{tests => }/solutions/inter_prog/main.go (100%) rename go/{tests => }/solutions/ispowerof2_prog/main.go (100%) rename go/{tests => }/solutions/lastword_prog/main.go (100%) rename go/{tests => }/solutions/nbrconvertalpha_prog/main.go (100%) rename go/{tests => }/solutions/nenokku_prog/main.go (100%) rename go/{tests => }/solutions/onlya_prog/main.go (100%) rename go/{tests => }/solutions/onlyz_prog/main.go (100%) rename go/{tests => }/solutions/options_prog/main.go (100%) rename go/{tests => }/solutions/paramcount_prog/main.go (100%) rename go/{tests => }/solutions/piglatin_prog/main.go (100%) rename go/{tests => }/solutions/pilot_prog/main.go (100%) rename go/{tests => }/solutions/point_prog/main.go (100%) rename go/{tests => }/solutions/printalphabet_prog/main.go (100%) rename go/{tests => }/solutions/printalphabetalt2_prog/main.go (100%) rename go/{tests => }/solutions/printalphabetalt_prog/main.go (100%) rename go/{tests => }/solutions/printalphabetg_prog/main.go (100%) rename go/{tests => }/solutions/printalt2_prog/main.go (100%) rename go/{tests => }/solutions/printalt_prog/main.go (100%) rename go/{tests => }/solutions/printaltu2_prog/main.go (100%) rename go/{tests => }/solutions/printaltu_prog/main.go (100%) rename go/{tests => }/solutions/printbits_prog/main.go (100%) rename go/{tests => }/solutions/printchessboard_prog/main.go (100%) rename go/{tests => }/solutions/printdigits_prog/main.go (100%) rename go/{tests => }/solutions/printhex_prog/main.go (100%) rename go/{tests => }/solutions/printparams_prog/main.go (100%) rename go/{tests => }/solutions/printprogramname_prog/main.go (100%) rename go/{tests => }/solutions/printrevcomb_prog/main.go (100%) rename go/{tests => }/solutions/printreversealphabet_prog/main.go (100%) rename go/{tests => }/solutions/printreversealphabetalt2_prog/main.go (100%) rename go/{tests => }/solutions/printreversealphabetalt_prog/main.go (100%) rename go/{tests => }/solutions/printreversealphabetg_prog/main.go (100%) rename go/{tests => }/solutions/printrot_prog/main.go (100%) rename go/{tests => }/solutions/raid3_prog/main.go (100%) rename go/{tests => }/solutions/range_prog/main.go (100%) rename go/{tests => }/solutions/rectangle_prog/main.go (100%) rename go/{tests => }/solutions/repeatalpha_prog/main.go (100%) rename go/{tests => }/solutions/reverserange_prog/main.go (100%) rename go/{tests => }/solutions/reversestrcap_prog/main.go (100%) rename go/{tests => }/solutions/revparams_prog/main.go (100%) rename go/{tests => }/solutions/revwstr_prog/main.go (100%) rename go/{tests => }/solutions/robottoorigin_prog/main.go (100%) rename go/{tests => }/solutions/romannumbers_prog/main.go (100%) rename go/{tests => }/solutions/rostring_prog/main.go (100%) rename go/{tests => }/solutions/rot13_prog/main.go (100%) rename go/{tests => }/solutions/rotatevowels_prog/main.go (100%) rename go/{tests => }/solutions/rpncalc_prog/main.go (100%) rename go/{tests => }/solutions/searchreplace_prog/main.go (100%) rename go/{tests => }/solutions/sortparams_prog/main.go (100%) rename go/{tests => }/solutions/sudoku_prog/main.go (100%) rename go/{tests => }/solutions/switchcase_prog/main.go (100%) rename go/{tests => }/solutions/tabmult_prog/main.go (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/board.go (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/main.go (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/bad00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/bad01.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/bad02.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/bad03.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/bad04.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/badFormat.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_01-1-2-0.00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_02-1-4-0.00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_03-2-4-0.00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_04-6-6-0.00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_05-21-10-0.00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_06-22-10-0.00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_07-26-11-0.00.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_08-24-10-0.03.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_09-11-7-0.07.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_10-12-7-0.52.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_11-12-8-0.83.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_12-19-9-3.40.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_13-23-10-4.72.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_14-15-8-7.34.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/samples/good_15-26-11-72.22.txt (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/solver.go (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/tetrimino.go (100%) rename go/{tests => }/solutions/tetrisoptimizer_prog/validation.go (100%) rename go/{tests => }/solutions/union_prog/main.go (100%) rename go/{tests => }/solutions/uniqueoccurences_prog/main.go (100%) rename go/{tests => }/solutions/wdmatch_prog/main.go (100%) rename go/{tests => }/solutions/ztail_prog/main.go (100%) rename go/tests/{tests => }/abort_test/main.go (100%) rename go/tests/{tests => }/activebits_test/main.go (100%) rename go/tests/{tests => }/addprimesum_test/main.go (100%) rename go/tests/{tests => }/advancedsortwordarr_test/main.go (100%) rename go/tests/{tests => }/alphacount_test/main.go (100%) rename go/tests/{tests => }/alphamirror_test/main.go (100%) rename go/tests/{tests => }/any_test/main.go (100%) rename go/tests/{tests => }/appendrange_test/main.go (100%) rename go/tests/{tests => }/atoi_test/main.go (100%) rename go/tests/{tests => }/atoibase_test/main.go (100%) rename go/tests/{tests => }/balancedstring_test/main.go (100%) rename go/tests/{tests => }/basicatoi2_test/main.go (100%) rename go/tests/{tests => }/basicatoi_test/main.go (100%) rename go/tests/{tests => }/basicjoin_test/main.go (100%) rename go/tests/{tests => }/boolean_test/main.go (100%) rename go/tests/{tests => }/brackets_test/main.go (100%) rename go/tests/{tests => }/brainfuck_test/main.go (100%) rename go/tests/{tests => }/btreeapplybylevel_test/main.go (100%) rename go/tests/{tests => }/btreeapplyinorder_test/main.go (100%) rename go/tests/{tests => }/btreeapplypostorder_test/main.go (100%) rename go/tests/{tests => }/btreeapplypreorder_test/main.go (100%) rename go/tests/{tests => }/btreedeletenode_test/main.go (100%) rename go/tests/{tests => }/btreeinsertdata_test/main.go (100%) rename go/tests/{tests => }/btreeisbinary_test/main.go (100%) rename go/tests/{tests => }/btreelevelcount_test/main.go (100%) rename go/tests/{tests => }/btreemax_test/main.go (100%) rename go/tests/{tests => }/btreemin_test/main.go (100%) rename go/tests/{tests => }/btreesearchitem_test/main.go (100%) rename go/tests/{tests => }/btreetransplant_test/main.go (100%) rename go/tests/{tests => }/capitalize_test/main.go (100%) rename go/tests/{tests => }/cat_test/main.go (100%) rename go/tests/{tests => }/chunk_test/main.go (100%) rename go/tests/{tests => }/cleanstr_test/main.go (100%) rename go/tests/{tests => }/collatzcountdown_test/main.go (100%) rename go/tests/{tests => }/comcheck_test/main.go (100%) rename go/tests/{tests => }/compact_test/main.go (100%) rename go/tests/{tests => }/compare_test/main.go (100%) rename go/tests/{tests => }/concat_test/main.go (100%) rename go/tests/{tests => }/concatparams_test/main.go (100%) rename go/tests/{tests => }/convertbase_test/main.go (100%) rename go/tests/{tests => }/correct/btree.go (100%) rename go/tests/{tests => }/correct/challenge.go (100%) rename go/tests/{tests => }/correct/listat.go (100%) rename go/tests/{tests => }/correct/listclear.go (100%) rename go/tests/{tests => }/correct/listfind.go (100%) rename go/tests/{tests => }/correct/listforeach.go (100%) rename go/tests/{tests => }/correct/listforeachif.go (100%) rename go/tests/{tests => }/correct/listlast.go (100%) rename go/tests/{tests => }/correct/listmerge.go (100%) rename go/tests/{tests => }/correct/listpushback.go (100%) rename go/tests/{tests => }/correct/listpushfront.go (100%) rename go/tests/{tests => }/correct/listremoveif.go (100%) rename go/tests/{tests => }/correct/listreverse.go (100%) rename go/tests/{tests => }/correct/listsize.go (100%) rename go/tests/{tests => }/correct/listsort.go (100%) rename go/tests/{tests => }/correct/sortedlistmerge.go (100%) rename go/tests/{tests => }/correct/sortlistinsert.go (100%) rename go/tests/{tests => }/costumeprofit_test/main.go (100%) rename go/tests/{tests => }/countdown_test/main.go (100%) rename go/tests/{tests => }/countif_test/main.go (100%) rename go/tests/{tests => }/displaya_test/main.go (100%) rename go/tests/{tests => }/displayalpham_test/main.go (100%) rename go/tests/{tests => }/displayalrevm_test/main.go (100%) rename go/tests/{tests => }/displayfile_test/main.go (100%) rename go/tests/{tests => }/displayfirstparam_test/main.go (100%) rename go/tests/{tests => }/displaylastparam_test/main.go (100%) rename go/tests/{tests => }/displayz_test/main.go (100%) rename go/tests/{tests => }/divmod_test/main.go (100%) rename go/tests/{tests => }/doop_test/main.go (100%) rename go/tests/{tests => }/doppelganger_test/main.go (100%) rename go/tests/{tests => }/eightqueens_test/main.go (100%) rename go/tests/{tests => }/enigma_test/main.go (100%) rename go/tests/{tests => }/expandstr_test/main.go (100%) rename go/tests/{tests => }/fib_test/main.go (100%) rename go/tests/{tests => }/fibonacci_test/main.go (100%) rename go/tests/{tests => }/findnextprime_test/main.go (100%) rename go/tests/{tests => }/findprevprime_test/main.go (100%) rename go/tests/{tests => }/firstrune_test/main.go (100%) rename go/tests/{tests => }/firstword_test/main.go (100%) rename go/tests/{tests => }/fixthemain_test/main.go (100%) rename go/tests/{tests => }/flags_test/main.go (100%) rename go/tests/{tests => }/foldint_test/main.go (100%) rename go/tests/{tests => }/foreach_test/main.go (100%) rename go/tests/{tests => }/fprime_test/main.go (100%) rename go/tests/{tests => }/game23_test/main.go (100%) rename go/tests/{tests => }/gcd_test/main.go (100%) rename go/tests/{tests => }/grouping_test/main.go (100%) rename go/tests/{tests => }/halfcontest_test/main.go (100%) rename go/tests/{tests => }/hello_test/main.go (100%) rename go/tests/{tests => }/hiddenp_test/main.go (100%) rename go/tests/{tests => }/index_test/main.go (100%) rename go/tests/{tests => }/inter_test/main.go (100%) rename go/tests/{tests => }/interestingnumber_test/main.go (100%) rename go/tests/{tests => }/isalpha_test/main.go (100%) rename go/tests/{tests => }/isanagram_test/main.go (100%) rename go/tests/{tests => }/islower_test/main.go (100%) rename go/tests/{tests => }/isnegative_test/main.go (100%) rename go/tests/{tests => }/isnumeric_test/main.go (100%) rename go/tests/{tests => }/ispowerof2_test/main.go (100%) rename go/tests/{tests => }/isprime_test/main.go (100%) rename go/tests/{tests => }/isprintable_test/main.go (100%) rename go/tests/{tests => }/issorted_test/main.go (100%) rename go/tests/{tests => }/isupper_test/main.go (100%) rename go/tests/{tests => }/iterativefactorial_test/main.go (100%) rename go/tests/{tests => }/iterativepower_test/main.go (100%) rename go/tests/{tests => }/itoa_test/main.go (100%) rename go/tests/{tests => }/itoabase_test/main.go (100%) rename go/tests/{tests => }/join_test/main.go (100%) rename go/tests/{tests => }/lastrune_test/main.go (100%) rename go/tests/{tests => }/lastword_test/main.go (100%) rename go/tests/{tests => }/lcm_test/main.go (100%) rename go/tests/{tests => }/listat_test/main.go (100%) rename go/tests/{tests => }/listclear_test/main.go (100%) rename go/tests/{tests => }/listfind_test/main.go (100%) rename go/tests/{tests => }/listforeach_test/main.go (100%) rename go/tests/{tests => }/listforeachif_test/main.go (100%) rename go/tests/{tests => }/listlast_test/main.go (100%) rename go/tests/{tests => }/listmerge_test/main.go (100%) rename go/tests/{tests => }/listpushback_test/main.go (100%) rename go/tests/{tests => }/listpushfront_test/main.go (100%) rename go/tests/{tests => }/listremoveif_test/main.go (100%) rename go/tests/{tests => }/listreverse_test/main.go (100%) rename go/tests/{tests => }/listsize_test/main.go (100%) rename go/tests/{tests => }/listsort_test/main.go (100%) rename go/tests/{tests => }/makerange_test/main.go (100%) rename go/tests/{tests => }/map_test/main.go (100%) rename go/tests/{tests => }/max_test/main.go (100%) rename go/tests/{tests => }/nauuo_test/main.go (100%) rename go/tests/{tests => }/nbrconvertalpha_test/main.go (100%) rename go/tests/{tests => }/nenokku_test/main.go (100%) rename go/tests/{tests => }/nrune_test/main.go (100%) rename go/tests/{tests => }/onlya_test/main.go (100%) rename go/tests/{tests => }/onlyz_test/main.go (100%) rename go/tests/{tests => }/options_test/main.go (100%) rename go/tests/{tests => }/paramcount_test/main.go (100%) rename go/tests/{tests => }/piglatin_test/main.go (100%) rename go/tests/{tests => }/pilot_test/main.go (100%) rename go/tests/{tests => }/point_test/main.go (100%) rename go/tests/{tests => }/pointone_test/main.go (100%) rename go/tests/{tests => }/printalphabet_test/main.go (100%) rename go/tests/{tests => }/printalphabetalt2_test/main.go (100%) rename go/tests/{tests => }/printalphabetalt_test/main.go (100%) rename go/tests/{tests => }/printalphabetg_test/main.go (100%) rename go/tests/{tests => }/printalt2_test/main.go (100%) rename go/tests/{tests => }/printalt_test/main.go (100%) rename go/tests/{tests => }/printaltu2_test/main.go (100%) rename go/tests/{tests => }/printaltu_test/main.go (100%) rename go/tests/{tests => }/printbits_test/main.go (100%) rename go/tests/{tests => }/printchessboard_test/main.go (100%) rename go/tests/{tests => }/printcomb2_test/main.go (100%) rename go/tests/{tests => }/printcomb_test/main.go (100%) rename go/tests/{tests => }/printcombn_test/main.go (100%) rename go/tests/{tests => }/printdigits_test/main.go (100%) rename go/tests/{tests => }/printhex_test/main.go (100%) rename go/tests/{tests => }/printmemory_test/main.go (100%) rename go/tests/{tests => }/printnbr_test/main.go (100%) rename go/tests/{tests => }/printnbrbase_test/main.go (100%) rename go/tests/{tests => }/printnbrinorder_test/main.go (100%) rename go/tests/{tests => }/printparams_test/main.go (100%) rename go/tests/{tests => }/printprogramname_test/main.go (100%) rename go/tests/{tests => }/printrevcomb_test/main.go (100%) rename go/tests/{tests => }/printreversealphabet_test/main.go (100%) rename go/tests/{tests => }/printreversealphabetalt2_test/main.go (100%) rename go/tests/{tests => }/printreversealphabetalt_test/main.go (100%) rename go/tests/{tests => }/printreversealphabetg_test/main.go (100%) rename go/tests/{tests => }/printrot_test/main.go (100%) rename go/tests/{tests => }/printstr_test/main.go (100%) rename go/tests/{tests => }/printwordstables_test/main.go (100%) rename go/tests/{tests => }/priorprime_test/main.go (100%) rename go/tests/{tests => }/quada_test/main.go (100%) rename go/tests/{tests => }/quadb_test/main.go (100%) rename go/tests/{tests => }/quadc_test/main.go (100%) rename go/tests/{tests => }/quadd_test/main.go (100%) rename go/tests/{tests => }/quade_test/main.go (100%) rename go/tests/{tests => }/raid3_test/main.go (100%) rename go/tests/{tests => }/range_test/main.go (100%) rename go/tests/{tests => }/reachablenumber_test/main.go (100%) rename go/tests/{tests => }/rectangle_test/main.go (100%) rename go/tests/{tests => }/recursivefactorial_test/main.go (100%) rename go/tests/{tests => }/recursivepower_test/main.go (100%) rename go/tests/{tests => }/reduceint_test/main.go (100%) rename go/tests/{tests => }/repeatalpha_test/main.go (100%) rename go/tests/{tests => }/reversebits_test/main.go (100%) rename go/tests/{tests => }/reverserange_test/main.go (100%) rename go/tests/{tests => }/reversestrcap_test/main.go (100%) rename go/tests/{tests => }/revivethreenums_test/main.go (100%) rename go/tests/{tests => }/revparams_test/main.go (100%) rename go/tests/{tests => }/revwstr_test/main.go (100%) rename go/tests/{tests => }/robottoorigin_test/main.go (100%) rename go/tests/{tests => }/romannumbers_test/main.go (100%) rename go/tests/{tests => }/rostring_test/main.go (100%) rename go/tests/{tests => }/rot13_test/main.go (100%) rename go/tests/{tests => }/rot14_test/main.go (100%) rename go/tests/{tests => }/rotatevowels_test/main.go (100%) rename go/tests/{tests => }/rpncalc_test/main.go (100%) rename go/tests/{tests => }/searchreplace_test/main.go (100%) rename go/tests/{tests => }/slice_test/main.go (100%) rename go/tests/{tests => }/sortedlistmerge_test/main.go (100%) rename go/tests/{tests => }/sortintegertable_test/main.go (100%) rename go/tests/{tests => }/sortlistinsert_test/main.go (100%) rename go/tests/{tests => }/sortparams_test/main.go (100%) rename go/tests/{tests => }/sortwordarr_test/main.go (100%) rename go/tests/{tests => }/split_test/main.go (100%) rename go/tests/{tests => }/splitwhitespaces_test/main.go (100%) rename go/tests/{tests => }/sqrt_test/main.go (100%) rename go/tests/{tests => }/strlen_test/main.go (100%) rename go/tests/{tests => }/strrev_test/main.go (100%) rename go/tests/{tests => }/sudoku_test/main.go (100%) rename go/tests/{tests => }/swap_test/main.go (100%) rename go/tests/{tests => }/swapbits_test/main.go (100%) rename go/tests/{tests => }/sweetproblem_test/main.go (100%) rename go/tests/{tests => }/switchcase_test/main.go (100%) rename go/tests/{tests => }/tabmult_test/main.go (100%) rename go/tests/{tests => }/tetrisoptimizer_test/main.go (100%) rename go/tests/{tests => }/tolower_test/main.go (100%) rename go/tests/{tests => }/toupper_test/main.go (100%) rename go/tests/{tests => }/trimatoi_test/main.go (100%) rename go/tests/{tests => }/twosum_test/main.go (100%) rename go/tests/{tests => }/ultimatedivmod_test/main.go (100%) rename go/tests/{tests => }/ultimatepointone_test/main.go (100%) rename go/tests/{tests => }/union_test/main.go (100%) rename go/tests/{tests => }/uniqueoccurences_test/main.go (100%) rename go/tests/{tests => }/unmatch_test/main.go (100%) rename go/tests/{tests => }/volumechanger_test/main.go (100%) rename go/tests/{tests => }/wdmatch_test/main.go (100%) rename go/tests/{tests => }/ztail_test/main.go (100%) delete mode 100644 go/tofix/func/correct/addlinkednumbers.go delete mode 100644 go/tofix/func/correct/changeorder.go delete mode 100644 go/tofix/func/correct/reverse.go delete mode 100644 go/tofix/func/correct/sortll.go delete mode 100644 go/tofix/func/createelem/main.go delete mode 100644 go/tofix/func/inverttree/main.go delete mode 100644 go/tofix/func/merge/main.go delete mode 100644 go/tofix/func/reverse/main.go delete mode 100644 go/tofix/func/sametree/main.go delete mode 100644 go/tofix/func/sortlist/main.go delete mode 100644 go/tofix/func/test_addlinkednumbers.go delete mode 100644 go/tofix/func/test_changeorder.go delete mode 100644 go/tofix/func/test_sortll.go delete mode 100644 go/tofix/raid3/correct/raid1aprog/raid1a.go delete mode 100644 go/tofix/raid3/correct/raid1bprog/raid1b.go delete mode 100644 go/tofix/raid3/correct/raid1cprog/raid1c.go delete mode 100644 go/tofix/raid3/correct/raid1dprog/raid1d.go delete mode 100644 go/tofix/raid3/correct/raid1eprog/raid1e.go diff --git a/go/tests/Dockerfile b/go/Dockerfile similarity index 100% rename from go/tests/Dockerfile rename to go/Dockerfile diff --git a/go/tests/README.md b/go/README.md similarity index 100% rename from go/tests/README.md rename to go/README.md diff --git a/go/tests/entrypoint.sh b/go/entrypoint.sh similarity index 100% rename from go/tests/entrypoint.sh rename to go/entrypoint.sh diff --git a/go/tests/go.mod b/go/go.mod similarity index 100% rename from go/tests/go.mod rename to go/go.mod diff --git a/go/tests/go.sum b/go/go.sum similarity index 100% rename from go/tests/go.sum rename to go/go.sum diff --git a/go/tests/lib/base/base.go b/go/lib/base/base.go similarity index 100% rename from go/tests/lib/base/base.go rename to go/lib/base/base.go diff --git a/go/tests/lib/is/is.go b/go/lib/is/is.go similarity index 100% rename from go/tests/lib/is/is.go rename to go/lib/is/is.go diff --git a/go/tests/lib/lib.go b/go/lib/lib.go similarity index 100% rename from go/tests/lib/lib.go rename to go/lib/lib.go diff --git a/go/tests/solutions/addprimesum_prog/main.go b/go/solutions/addprimesum_prog/main.go similarity index 100% rename from go/tests/solutions/addprimesum_prog/main.go rename to go/solutions/addprimesum_prog/main.go diff --git a/go/tests/solutions/alphamirror_prog/main.go b/go/solutions/alphamirror_prog/main.go similarity index 100% rename from go/tests/solutions/alphamirror_prog/main.go rename to go/solutions/alphamirror_prog/main.go diff --git a/go/tests/solutions/balancedstring_prog/main.go b/go/solutions/balancedstring_prog/main.go similarity index 100% rename from go/tests/solutions/balancedstring_prog/main.go rename to go/solutions/balancedstring_prog/main.go diff --git a/go/tests/solutions/boolean_prog/main.go b/go/solutions/boolean_prog/main.go similarity index 100% rename from go/tests/solutions/boolean_prog/main.go rename to go/solutions/boolean_prog/main.go diff --git a/go/tests/solutions/brackets_prog/main.go b/go/solutions/brackets_prog/main.go similarity index 100% rename from go/tests/solutions/brackets_prog/main.go rename to go/solutions/brackets_prog/main.go diff --git a/go/tests/solutions/brainfuck_prog/main.go b/go/solutions/brainfuck_prog/main.go similarity index 100% rename from go/tests/solutions/brainfuck_prog/main.go rename to go/solutions/brainfuck_prog/main.go diff --git a/go/tests/solutions/cat_prog/main.go b/go/solutions/cat_prog/main.go similarity index 100% rename from go/tests/solutions/cat_prog/main.go rename to go/solutions/cat_prog/main.go diff --git a/go/tests/solutions/cleanstr_prog/main.go b/go/solutions/cleanstr_prog/main.go similarity index 100% rename from go/tests/solutions/cleanstr_prog/main.go rename to go/solutions/cleanstr_prog/main.go diff --git a/go/tests/solutions/comcheck_prog/main.go b/go/solutions/comcheck_prog/main.go similarity index 100% rename from go/tests/solutions/comcheck_prog/main.go rename to go/solutions/comcheck_prog/main.go diff --git a/go/tests/solutions/costumeprofit_prog/main.go b/go/solutions/costumeprofit_prog/main.go similarity index 100% rename from go/tests/solutions/costumeprofit_prog/main.go rename to go/solutions/costumeprofit_prog/main.go diff --git a/go/tests/solutions/countdown_prog/main.go b/go/solutions/countdown_prog/main.go similarity index 100% rename from go/tests/solutions/countdown_prog/main.go rename to go/solutions/countdown_prog/main.go diff --git a/go/tests/solutions/displaya_prog/main.go b/go/solutions/displaya_prog/main.go similarity index 100% rename from go/tests/solutions/displaya_prog/main.go rename to go/solutions/displaya_prog/main.go diff --git a/go/tests/solutions/displayalpham_prog/main.go b/go/solutions/displayalpham_prog/main.go similarity index 100% rename from go/tests/solutions/displayalpham_prog/main.go rename to go/solutions/displayalpham_prog/main.go diff --git a/go/tests/solutions/displayalrevm_prog/main.go b/go/solutions/displayalrevm_prog/main.go similarity index 100% rename from go/tests/solutions/displayalrevm_prog/main.go rename to go/solutions/displayalrevm_prog/main.go diff --git a/go/tests/solutions/displayfile_prog/main.go b/go/solutions/displayfile_prog/main.go similarity index 100% rename from go/tests/solutions/displayfile_prog/main.go rename to go/solutions/displayfile_prog/main.go diff --git a/go/tests/solutions/displayfirstparam_prog/main.go b/go/solutions/displayfirstparam_prog/main.go similarity index 100% rename from go/tests/solutions/displayfirstparam_prog/main.go rename to go/solutions/displayfirstparam_prog/main.go diff --git a/go/tests/solutions/displaylastparam_prog/main.go b/go/solutions/displaylastparam_prog/main.go similarity index 100% rename from go/tests/solutions/displaylastparam_prog/main.go rename to go/solutions/displaylastparam_prog/main.go diff --git a/go/tests/solutions/displayz_prog/main.go b/go/solutions/displayz_prog/main.go similarity index 100% rename from go/tests/solutions/displayz_prog/main.go rename to go/solutions/displayz_prog/main.go diff --git a/go/tests/solutions/doop_prog/main.go b/go/solutions/doop_prog/main.go similarity index 100% rename from go/tests/solutions/doop_prog/main.go rename to go/solutions/doop_prog/main.go diff --git a/go/tests/solutions/expandstr_prog/main.go b/go/solutions/expandstr_prog/main.go similarity index 100% rename from go/tests/solutions/expandstr_prog/main.go rename to go/solutions/expandstr_prog/main.go diff --git a/go/tests/solutions/firstword_prog/main.go b/go/solutions/firstword_prog/main.go similarity index 100% rename from go/tests/solutions/firstword_prog/main.go rename to go/solutions/firstword_prog/main.go diff --git a/go/tests/solutions/fixthemain_prog/main.go b/go/solutions/fixthemain_prog/main.go similarity index 100% rename from go/tests/solutions/fixthemain_prog/main.go rename to go/solutions/fixthemain_prog/main.go diff --git a/go/tests/solutions/flags_prog/main.go b/go/solutions/flags_prog/main.go similarity index 100% rename from go/tests/solutions/flags_prog/main.go rename to go/solutions/flags_prog/main.go diff --git a/go/tests/solutions/fprime_prog/main.go b/go/solutions/fprime_prog/main.go similarity index 100% rename from go/tests/solutions/fprime_prog/main.go rename to go/solutions/fprime_prog/main.go diff --git a/go/tests/solutions/gcd_prog/main.go b/go/solutions/gcd_prog/main.go similarity index 100% rename from go/tests/solutions/gcd_prog/main.go rename to go/solutions/gcd_prog/main.go diff --git a/go/tests/solutions/grouping_prog/main.go b/go/solutions/grouping_prog/main.go similarity index 100% rename from go/tests/solutions/grouping_prog/main.go rename to go/solutions/grouping_prog/main.go diff --git a/go/tests/solutions/hello_prog/main.go b/go/solutions/hello_prog/main.go similarity index 100% rename from go/tests/solutions/hello_prog/main.go rename to go/solutions/hello_prog/main.go diff --git a/go/tests/solutions/hiddenp_prog/main.go b/go/solutions/hiddenp_prog/main.go similarity index 100% rename from go/tests/solutions/hiddenp_prog/main.go rename to go/solutions/hiddenp_prog/main.go diff --git a/go/tests/solutions/inter_prog/main.go b/go/solutions/inter_prog/main.go similarity index 100% rename from go/tests/solutions/inter_prog/main.go rename to go/solutions/inter_prog/main.go diff --git a/go/tests/solutions/ispowerof2_prog/main.go b/go/solutions/ispowerof2_prog/main.go similarity index 100% rename from go/tests/solutions/ispowerof2_prog/main.go rename to go/solutions/ispowerof2_prog/main.go diff --git a/go/tests/solutions/lastword_prog/main.go b/go/solutions/lastword_prog/main.go similarity index 100% rename from go/tests/solutions/lastword_prog/main.go rename to go/solutions/lastword_prog/main.go diff --git a/go/tests/solutions/nbrconvertalpha_prog/main.go b/go/solutions/nbrconvertalpha_prog/main.go similarity index 100% rename from go/tests/solutions/nbrconvertalpha_prog/main.go rename to go/solutions/nbrconvertalpha_prog/main.go diff --git a/go/tests/solutions/nenokku_prog/main.go b/go/solutions/nenokku_prog/main.go similarity index 100% rename from go/tests/solutions/nenokku_prog/main.go rename to go/solutions/nenokku_prog/main.go diff --git a/go/tests/solutions/onlya_prog/main.go b/go/solutions/onlya_prog/main.go similarity index 100% rename from go/tests/solutions/onlya_prog/main.go rename to go/solutions/onlya_prog/main.go diff --git a/go/tests/solutions/onlyz_prog/main.go b/go/solutions/onlyz_prog/main.go similarity index 100% rename from go/tests/solutions/onlyz_prog/main.go rename to go/solutions/onlyz_prog/main.go diff --git a/go/tests/solutions/options_prog/main.go b/go/solutions/options_prog/main.go similarity index 100% rename from go/tests/solutions/options_prog/main.go rename to go/solutions/options_prog/main.go diff --git a/go/tests/solutions/paramcount_prog/main.go b/go/solutions/paramcount_prog/main.go similarity index 100% rename from go/tests/solutions/paramcount_prog/main.go rename to go/solutions/paramcount_prog/main.go diff --git a/go/tests/solutions/piglatin_prog/main.go b/go/solutions/piglatin_prog/main.go similarity index 100% rename from go/tests/solutions/piglatin_prog/main.go rename to go/solutions/piglatin_prog/main.go diff --git a/go/tests/solutions/pilot_prog/main.go b/go/solutions/pilot_prog/main.go similarity index 100% rename from go/tests/solutions/pilot_prog/main.go rename to go/solutions/pilot_prog/main.go diff --git a/go/tests/solutions/point_prog/main.go b/go/solutions/point_prog/main.go similarity index 100% rename from go/tests/solutions/point_prog/main.go rename to go/solutions/point_prog/main.go diff --git a/go/tests/solutions/printalphabet_prog/main.go b/go/solutions/printalphabet_prog/main.go similarity index 100% rename from go/tests/solutions/printalphabet_prog/main.go rename to go/solutions/printalphabet_prog/main.go diff --git a/go/tests/solutions/printalphabetalt2_prog/main.go b/go/solutions/printalphabetalt2_prog/main.go similarity index 100% rename from go/tests/solutions/printalphabetalt2_prog/main.go rename to go/solutions/printalphabetalt2_prog/main.go diff --git a/go/tests/solutions/printalphabetalt_prog/main.go b/go/solutions/printalphabetalt_prog/main.go similarity index 100% rename from go/tests/solutions/printalphabetalt_prog/main.go rename to go/solutions/printalphabetalt_prog/main.go diff --git a/go/tests/solutions/printalphabetg_prog/main.go b/go/solutions/printalphabetg_prog/main.go similarity index 100% rename from go/tests/solutions/printalphabetg_prog/main.go rename to go/solutions/printalphabetg_prog/main.go diff --git a/go/tests/solutions/printalt2_prog/main.go b/go/solutions/printalt2_prog/main.go similarity index 100% rename from go/tests/solutions/printalt2_prog/main.go rename to go/solutions/printalt2_prog/main.go diff --git a/go/tests/solutions/printalt_prog/main.go b/go/solutions/printalt_prog/main.go similarity index 100% rename from go/tests/solutions/printalt_prog/main.go rename to go/solutions/printalt_prog/main.go diff --git a/go/tests/solutions/printaltu2_prog/main.go b/go/solutions/printaltu2_prog/main.go similarity index 100% rename from go/tests/solutions/printaltu2_prog/main.go rename to go/solutions/printaltu2_prog/main.go diff --git a/go/tests/solutions/printaltu_prog/main.go b/go/solutions/printaltu_prog/main.go similarity index 100% rename from go/tests/solutions/printaltu_prog/main.go rename to go/solutions/printaltu_prog/main.go diff --git a/go/tests/solutions/printbits_prog/main.go b/go/solutions/printbits_prog/main.go similarity index 100% rename from go/tests/solutions/printbits_prog/main.go rename to go/solutions/printbits_prog/main.go diff --git a/go/tests/solutions/printchessboard_prog/main.go b/go/solutions/printchessboard_prog/main.go similarity index 100% rename from go/tests/solutions/printchessboard_prog/main.go rename to go/solutions/printchessboard_prog/main.go diff --git a/go/tests/solutions/printdigits_prog/main.go b/go/solutions/printdigits_prog/main.go similarity index 100% rename from go/tests/solutions/printdigits_prog/main.go rename to go/solutions/printdigits_prog/main.go diff --git a/go/tests/solutions/printhex_prog/main.go b/go/solutions/printhex_prog/main.go similarity index 100% rename from go/tests/solutions/printhex_prog/main.go rename to go/solutions/printhex_prog/main.go diff --git a/go/tests/solutions/printparams_prog/main.go b/go/solutions/printparams_prog/main.go similarity index 100% rename from go/tests/solutions/printparams_prog/main.go rename to go/solutions/printparams_prog/main.go diff --git a/go/tests/solutions/printprogramname_prog/main.go b/go/solutions/printprogramname_prog/main.go similarity index 100% rename from go/tests/solutions/printprogramname_prog/main.go rename to go/solutions/printprogramname_prog/main.go diff --git a/go/tests/solutions/printrevcomb_prog/main.go b/go/solutions/printrevcomb_prog/main.go similarity index 100% rename from go/tests/solutions/printrevcomb_prog/main.go rename to go/solutions/printrevcomb_prog/main.go diff --git a/go/tests/solutions/printreversealphabet_prog/main.go b/go/solutions/printreversealphabet_prog/main.go similarity index 100% rename from go/tests/solutions/printreversealphabet_prog/main.go rename to go/solutions/printreversealphabet_prog/main.go diff --git a/go/tests/solutions/printreversealphabetalt2_prog/main.go b/go/solutions/printreversealphabetalt2_prog/main.go similarity index 100% rename from go/tests/solutions/printreversealphabetalt2_prog/main.go rename to go/solutions/printreversealphabetalt2_prog/main.go diff --git a/go/tests/solutions/printreversealphabetalt_prog/main.go b/go/solutions/printreversealphabetalt_prog/main.go similarity index 100% rename from go/tests/solutions/printreversealphabetalt_prog/main.go rename to go/solutions/printreversealphabetalt_prog/main.go diff --git a/go/tests/solutions/printreversealphabetg_prog/main.go b/go/solutions/printreversealphabetg_prog/main.go similarity index 100% rename from go/tests/solutions/printreversealphabetg_prog/main.go rename to go/solutions/printreversealphabetg_prog/main.go diff --git a/go/tests/solutions/printrot_prog/main.go b/go/solutions/printrot_prog/main.go similarity index 100% rename from go/tests/solutions/printrot_prog/main.go rename to go/solutions/printrot_prog/main.go diff --git a/go/tests/solutions/raid3_prog/main.go b/go/solutions/raid3_prog/main.go similarity index 100% rename from go/tests/solutions/raid3_prog/main.go rename to go/solutions/raid3_prog/main.go diff --git a/go/tests/solutions/range_prog/main.go b/go/solutions/range_prog/main.go similarity index 100% rename from go/tests/solutions/range_prog/main.go rename to go/solutions/range_prog/main.go diff --git a/go/tests/solutions/rectangle_prog/main.go b/go/solutions/rectangle_prog/main.go similarity index 100% rename from go/tests/solutions/rectangle_prog/main.go rename to go/solutions/rectangle_prog/main.go diff --git a/go/tests/solutions/repeatalpha_prog/main.go b/go/solutions/repeatalpha_prog/main.go similarity index 100% rename from go/tests/solutions/repeatalpha_prog/main.go rename to go/solutions/repeatalpha_prog/main.go diff --git a/go/tests/solutions/reverserange_prog/main.go b/go/solutions/reverserange_prog/main.go similarity index 100% rename from go/tests/solutions/reverserange_prog/main.go rename to go/solutions/reverserange_prog/main.go diff --git a/go/tests/solutions/reversestrcap_prog/main.go b/go/solutions/reversestrcap_prog/main.go similarity index 100% rename from go/tests/solutions/reversestrcap_prog/main.go rename to go/solutions/reversestrcap_prog/main.go diff --git a/go/tests/solutions/revparams_prog/main.go b/go/solutions/revparams_prog/main.go similarity index 100% rename from go/tests/solutions/revparams_prog/main.go rename to go/solutions/revparams_prog/main.go diff --git a/go/tests/solutions/revwstr_prog/main.go b/go/solutions/revwstr_prog/main.go similarity index 100% rename from go/tests/solutions/revwstr_prog/main.go rename to go/solutions/revwstr_prog/main.go diff --git a/go/tests/solutions/robottoorigin_prog/main.go b/go/solutions/robottoorigin_prog/main.go similarity index 100% rename from go/tests/solutions/robottoorigin_prog/main.go rename to go/solutions/robottoorigin_prog/main.go diff --git a/go/tests/solutions/romannumbers_prog/main.go b/go/solutions/romannumbers_prog/main.go similarity index 100% rename from go/tests/solutions/romannumbers_prog/main.go rename to go/solutions/romannumbers_prog/main.go diff --git a/go/tests/solutions/rostring_prog/main.go b/go/solutions/rostring_prog/main.go similarity index 100% rename from go/tests/solutions/rostring_prog/main.go rename to go/solutions/rostring_prog/main.go diff --git a/go/tests/solutions/rot13_prog/main.go b/go/solutions/rot13_prog/main.go similarity index 100% rename from go/tests/solutions/rot13_prog/main.go rename to go/solutions/rot13_prog/main.go diff --git a/go/tests/solutions/rotatevowels_prog/main.go b/go/solutions/rotatevowels_prog/main.go similarity index 100% rename from go/tests/solutions/rotatevowels_prog/main.go rename to go/solutions/rotatevowels_prog/main.go diff --git a/go/tests/solutions/rpncalc_prog/main.go b/go/solutions/rpncalc_prog/main.go similarity index 100% rename from go/tests/solutions/rpncalc_prog/main.go rename to go/solutions/rpncalc_prog/main.go diff --git a/go/tests/solutions/searchreplace_prog/main.go b/go/solutions/searchreplace_prog/main.go similarity index 100% rename from go/tests/solutions/searchreplace_prog/main.go rename to go/solutions/searchreplace_prog/main.go diff --git a/go/tests/solutions/sortparams_prog/main.go b/go/solutions/sortparams_prog/main.go similarity index 100% rename from go/tests/solutions/sortparams_prog/main.go rename to go/solutions/sortparams_prog/main.go diff --git a/go/tests/solutions/sudoku_prog/main.go b/go/solutions/sudoku_prog/main.go similarity index 100% rename from go/tests/solutions/sudoku_prog/main.go rename to go/solutions/sudoku_prog/main.go diff --git a/go/tests/solutions/switchcase_prog/main.go b/go/solutions/switchcase_prog/main.go similarity index 100% rename from go/tests/solutions/switchcase_prog/main.go rename to go/solutions/switchcase_prog/main.go diff --git a/go/tests/solutions/tabmult_prog/main.go b/go/solutions/tabmult_prog/main.go similarity index 100% rename from go/tests/solutions/tabmult_prog/main.go rename to go/solutions/tabmult_prog/main.go diff --git a/go/tests/solutions/tetrisoptimizer_prog/board.go b/go/solutions/tetrisoptimizer_prog/board.go similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/board.go rename to go/solutions/tetrisoptimizer_prog/board.go diff --git a/go/tests/solutions/tetrisoptimizer_prog/main.go b/go/solutions/tetrisoptimizer_prog/main.go similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/main.go rename to go/solutions/tetrisoptimizer_prog/main.go diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/bad00.txt b/go/solutions/tetrisoptimizer_prog/samples/bad00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/bad00.txt rename to go/solutions/tetrisoptimizer_prog/samples/bad00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/bad01.txt b/go/solutions/tetrisoptimizer_prog/samples/bad01.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/bad01.txt rename to go/solutions/tetrisoptimizer_prog/samples/bad01.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/bad02.txt b/go/solutions/tetrisoptimizer_prog/samples/bad02.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/bad02.txt rename to go/solutions/tetrisoptimizer_prog/samples/bad02.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/bad03.txt b/go/solutions/tetrisoptimizer_prog/samples/bad03.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/bad03.txt rename to go/solutions/tetrisoptimizer_prog/samples/bad03.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/bad04.txt b/go/solutions/tetrisoptimizer_prog/samples/bad04.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/bad04.txt rename to go/solutions/tetrisoptimizer_prog/samples/bad04.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/badFormat.txt b/go/solutions/tetrisoptimizer_prog/samples/badFormat.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/badFormat.txt rename to go/solutions/tetrisoptimizer_prog/samples/badFormat.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_01-1-2-0.00.txt b/go/solutions/tetrisoptimizer_prog/samples/good_01-1-2-0.00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_01-1-2-0.00.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_01-1-2-0.00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_02-1-4-0.00.txt b/go/solutions/tetrisoptimizer_prog/samples/good_02-1-4-0.00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_02-1-4-0.00.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_02-1-4-0.00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_03-2-4-0.00.txt b/go/solutions/tetrisoptimizer_prog/samples/good_03-2-4-0.00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_03-2-4-0.00.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_03-2-4-0.00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_04-6-6-0.00.txt b/go/solutions/tetrisoptimizer_prog/samples/good_04-6-6-0.00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_04-6-6-0.00.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_04-6-6-0.00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_05-21-10-0.00.txt b/go/solutions/tetrisoptimizer_prog/samples/good_05-21-10-0.00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_05-21-10-0.00.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_05-21-10-0.00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_06-22-10-0.00.txt b/go/solutions/tetrisoptimizer_prog/samples/good_06-22-10-0.00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_06-22-10-0.00.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_06-22-10-0.00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_07-26-11-0.00.txt b/go/solutions/tetrisoptimizer_prog/samples/good_07-26-11-0.00.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_07-26-11-0.00.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_07-26-11-0.00.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_08-24-10-0.03.txt b/go/solutions/tetrisoptimizer_prog/samples/good_08-24-10-0.03.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_08-24-10-0.03.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_08-24-10-0.03.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_09-11-7-0.07.txt b/go/solutions/tetrisoptimizer_prog/samples/good_09-11-7-0.07.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_09-11-7-0.07.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_09-11-7-0.07.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_10-12-7-0.52.txt b/go/solutions/tetrisoptimizer_prog/samples/good_10-12-7-0.52.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_10-12-7-0.52.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_10-12-7-0.52.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_11-12-8-0.83.txt b/go/solutions/tetrisoptimizer_prog/samples/good_11-12-8-0.83.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_11-12-8-0.83.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_11-12-8-0.83.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_12-19-9-3.40.txt b/go/solutions/tetrisoptimizer_prog/samples/good_12-19-9-3.40.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_12-19-9-3.40.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_12-19-9-3.40.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_13-23-10-4.72.txt b/go/solutions/tetrisoptimizer_prog/samples/good_13-23-10-4.72.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_13-23-10-4.72.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_13-23-10-4.72.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_14-15-8-7.34.txt b/go/solutions/tetrisoptimizer_prog/samples/good_14-15-8-7.34.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_14-15-8-7.34.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_14-15-8-7.34.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/samples/good_15-26-11-72.22.txt b/go/solutions/tetrisoptimizer_prog/samples/good_15-26-11-72.22.txt similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/samples/good_15-26-11-72.22.txt rename to go/solutions/tetrisoptimizer_prog/samples/good_15-26-11-72.22.txt diff --git a/go/tests/solutions/tetrisoptimizer_prog/solver.go b/go/solutions/tetrisoptimizer_prog/solver.go similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/solver.go rename to go/solutions/tetrisoptimizer_prog/solver.go diff --git a/go/tests/solutions/tetrisoptimizer_prog/tetrimino.go b/go/solutions/tetrisoptimizer_prog/tetrimino.go similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/tetrimino.go rename to go/solutions/tetrisoptimizer_prog/tetrimino.go diff --git a/go/tests/solutions/tetrisoptimizer_prog/validation.go b/go/solutions/tetrisoptimizer_prog/validation.go similarity index 100% rename from go/tests/solutions/tetrisoptimizer_prog/validation.go rename to go/solutions/tetrisoptimizer_prog/validation.go diff --git a/go/tests/solutions/union_prog/main.go b/go/solutions/union_prog/main.go similarity index 100% rename from go/tests/solutions/union_prog/main.go rename to go/solutions/union_prog/main.go diff --git a/go/tests/solutions/uniqueoccurences_prog/main.go b/go/solutions/uniqueoccurences_prog/main.go similarity index 100% rename from go/tests/solutions/uniqueoccurences_prog/main.go rename to go/solutions/uniqueoccurences_prog/main.go diff --git a/go/tests/solutions/wdmatch_prog/main.go b/go/solutions/wdmatch_prog/main.go similarity index 100% rename from go/tests/solutions/wdmatch_prog/main.go rename to go/solutions/wdmatch_prog/main.go diff --git a/go/tests/solutions/ztail_prog/main.go b/go/solutions/ztail_prog/main.go similarity index 100% rename from go/tests/solutions/ztail_prog/main.go rename to go/solutions/ztail_prog/main.go diff --git a/go/tests/tests/abort_test/main.go b/go/tests/abort_test/main.go similarity index 100% rename from go/tests/tests/abort_test/main.go rename to go/tests/abort_test/main.go diff --git a/go/tests/tests/activebits_test/main.go b/go/tests/activebits_test/main.go similarity index 100% rename from go/tests/tests/activebits_test/main.go rename to go/tests/activebits_test/main.go diff --git a/go/tests/tests/addprimesum_test/main.go b/go/tests/addprimesum_test/main.go similarity index 100% rename from go/tests/tests/addprimesum_test/main.go rename to go/tests/addprimesum_test/main.go diff --git a/go/tests/tests/advancedsortwordarr_test/main.go b/go/tests/advancedsortwordarr_test/main.go similarity index 100% rename from go/tests/tests/advancedsortwordarr_test/main.go rename to go/tests/advancedsortwordarr_test/main.go diff --git a/go/tests/tests/alphacount_test/main.go b/go/tests/alphacount_test/main.go similarity index 100% rename from go/tests/tests/alphacount_test/main.go rename to go/tests/alphacount_test/main.go diff --git a/go/tests/tests/alphamirror_test/main.go b/go/tests/alphamirror_test/main.go similarity index 100% rename from go/tests/tests/alphamirror_test/main.go rename to go/tests/alphamirror_test/main.go diff --git a/go/tests/tests/any_test/main.go b/go/tests/any_test/main.go similarity index 100% rename from go/tests/tests/any_test/main.go rename to go/tests/any_test/main.go diff --git a/go/tests/tests/appendrange_test/main.go b/go/tests/appendrange_test/main.go similarity index 100% rename from go/tests/tests/appendrange_test/main.go rename to go/tests/appendrange_test/main.go diff --git a/go/tests/tests/atoi_test/main.go b/go/tests/atoi_test/main.go similarity index 100% rename from go/tests/tests/atoi_test/main.go rename to go/tests/atoi_test/main.go diff --git a/go/tests/tests/atoibase_test/main.go b/go/tests/atoibase_test/main.go similarity index 100% rename from go/tests/tests/atoibase_test/main.go rename to go/tests/atoibase_test/main.go diff --git a/go/tests/tests/balancedstring_test/main.go b/go/tests/balancedstring_test/main.go similarity index 100% rename from go/tests/tests/balancedstring_test/main.go rename to go/tests/balancedstring_test/main.go diff --git a/go/tests/tests/basicatoi2_test/main.go b/go/tests/basicatoi2_test/main.go similarity index 100% rename from go/tests/tests/basicatoi2_test/main.go rename to go/tests/basicatoi2_test/main.go diff --git a/go/tests/tests/basicatoi_test/main.go b/go/tests/basicatoi_test/main.go similarity index 100% rename from go/tests/tests/basicatoi_test/main.go rename to go/tests/basicatoi_test/main.go diff --git a/go/tests/tests/basicjoin_test/main.go b/go/tests/basicjoin_test/main.go similarity index 100% rename from go/tests/tests/basicjoin_test/main.go rename to go/tests/basicjoin_test/main.go diff --git a/go/tests/tests/boolean_test/main.go b/go/tests/boolean_test/main.go similarity index 100% rename from go/tests/tests/boolean_test/main.go rename to go/tests/boolean_test/main.go diff --git a/go/tests/tests/brackets_test/main.go b/go/tests/brackets_test/main.go similarity index 100% rename from go/tests/tests/brackets_test/main.go rename to go/tests/brackets_test/main.go diff --git a/go/tests/tests/brainfuck_test/main.go b/go/tests/brainfuck_test/main.go similarity index 100% rename from go/tests/tests/brainfuck_test/main.go rename to go/tests/brainfuck_test/main.go diff --git a/go/tests/tests/btreeapplybylevel_test/main.go b/go/tests/btreeapplybylevel_test/main.go similarity index 100% rename from go/tests/tests/btreeapplybylevel_test/main.go rename to go/tests/btreeapplybylevel_test/main.go diff --git a/go/tests/tests/btreeapplyinorder_test/main.go b/go/tests/btreeapplyinorder_test/main.go similarity index 100% rename from go/tests/tests/btreeapplyinorder_test/main.go rename to go/tests/btreeapplyinorder_test/main.go diff --git a/go/tests/tests/btreeapplypostorder_test/main.go b/go/tests/btreeapplypostorder_test/main.go similarity index 100% rename from go/tests/tests/btreeapplypostorder_test/main.go rename to go/tests/btreeapplypostorder_test/main.go diff --git a/go/tests/tests/btreeapplypreorder_test/main.go b/go/tests/btreeapplypreorder_test/main.go similarity index 100% rename from go/tests/tests/btreeapplypreorder_test/main.go rename to go/tests/btreeapplypreorder_test/main.go diff --git a/go/tests/tests/btreedeletenode_test/main.go b/go/tests/btreedeletenode_test/main.go similarity index 100% rename from go/tests/tests/btreedeletenode_test/main.go rename to go/tests/btreedeletenode_test/main.go diff --git a/go/tests/tests/btreeinsertdata_test/main.go b/go/tests/btreeinsertdata_test/main.go similarity index 100% rename from go/tests/tests/btreeinsertdata_test/main.go rename to go/tests/btreeinsertdata_test/main.go diff --git a/go/tests/tests/btreeisbinary_test/main.go b/go/tests/btreeisbinary_test/main.go similarity index 100% rename from go/tests/tests/btreeisbinary_test/main.go rename to go/tests/btreeisbinary_test/main.go diff --git a/go/tests/tests/btreelevelcount_test/main.go b/go/tests/btreelevelcount_test/main.go similarity index 100% rename from go/tests/tests/btreelevelcount_test/main.go rename to go/tests/btreelevelcount_test/main.go diff --git a/go/tests/tests/btreemax_test/main.go b/go/tests/btreemax_test/main.go similarity index 100% rename from go/tests/tests/btreemax_test/main.go rename to go/tests/btreemax_test/main.go diff --git a/go/tests/tests/btreemin_test/main.go b/go/tests/btreemin_test/main.go similarity index 100% rename from go/tests/tests/btreemin_test/main.go rename to go/tests/btreemin_test/main.go diff --git a/go/tests/tests/btreesearchitem_test/main.go b/go/tests/btreesearchitem_test/main.go similarity index 100% rename from go/tests/tests/btreesearchitem_test/main.go rename to go/tests/btreesearchitem_test/main.go diff --git a/go/tests/tests/btreetransplant_test/main.go b/go/tests/btreetransplant_test/main.go similarity index 100% rename from go/tests/tests/btreetransplant_test/main.go rename to go/tests/btreetransplant_test/main.go diff --git a/go/tests/tests/capitalize_test/main.go b/go/tests/capitalize_test/main.go similarity index 100% rename from go/tests/tests/capitalize_test/main.go rename to go/tests/capitalize_test/main.go diff --git a/go/tests/tests/cat_test/main.go b/go/tests/cat_test/main.go similarity index 100% rename from go/tests/tests/cat_test/main.go rename to go/tests/cat_test/main.go diff --git a/go/tests/tests/chunk_test/main.go b/go/tests/chunk_test/main.go similarity index 100% rename from go/tests/tests/chunk_test/main.go rename to go/tests/chunk_test/main.go diff --git a/go/tests/tests/cleanstr_test/main.go b/go/tests/cleanstr_test/main.go similarity index 100% rename from go/tests/tests/cleanstr_test/main.go rename to go/tests/cleanstr_test/main.go diff --git a/go/tests/tests/collatzcountdown_test/main.go b/go/tests/collatzcountdown_test/main.go similarity index 100% rename from go/tests/tests/collatzcountdown_test/main.go rename to go/tests/collatzcountdown_test/main.go diff --git a/go/tests/tests/comcheck_test/main.go b/go/tests/comcheck_test/main.go similarity index 100% rename from go/tests/tests/comcheck_test/main.go rename to go/tests/comcheck_test/main.go diff --git a/go/tests/tests/compact_test/main.go b/go/tests/compact_test/main.go similarity index 100% rename from go/tests/tests/compact_test/main.go rename to go/tests/compact_test/main.go diff --git a/go/tests/tests/compare_test/main.go b/go/tests/compare_test/main.go similarity index 100% rename from go/tests/tests/compare_test/main.go rename to go/tests/compare_test/main.go diff --git a/go/tests/tests/concat_test/main.go b/go/tests/concat_test/main.go similarity index 100% rename from go/tests/tests/concat_test/main.go rename to go/tests/concat_test/main.go diff --git a/go/tests/tests/concatparams_test/main.go b/go/tests/concatparams_test/main.go similarity index 100% rename from go/tests/tests/concatparams_test/main.go rename to go/tests/concatparams_test/main.go diff --git a/go/tests/tests/convertbase_test/main.go b/go/tests/convertbase_test/main.go similarity index 100% rename from go/tests/tests/convertbase_test/main.go rename to go/tests/convertbase_test/main.go diff --git a/go/tests/tests/correct/btree.go b/go/tests/correct/btree.go similarity index 100% rename from go/tests/tests/correct/btree.go rename to go/tests/correct/btree.go diff --git a/go/tests/tests/correct/challenge.go b/go/tests/correct/challenge.go similarity index 100% rename from go/tests/tests/correct/challenge.go rename to go/tests/correct/challenge.go diff --git a/go/tests/tests/correct/listat.go b/go/tests/correct/listat.go similarity index 100% rename from go/tests/tests/correct/listat.go rename to go/tests/correct/listat.go diff --git a/go/tests/tests/correct/listclear.go b/go/tests/correct/listclear.go similarity index 100% rename from go/tests/tests/correct/listclear.go rename to go/tests/correct/listclear.go diff --git a/go/tests/tests/correct/listfind.go b/go/tests/correct/listfind.go similarity index 100% rename from go/tests/tests/correct/listfind.go rename to go/tests/correct/listfind.go diff --git a/go/tests/tests/correct/listforeach.go b/go/tests/correct/listforeach.go similarity index 100% rename from go/tests/tests/correct/listforeach.go rename to go/tests/correct/listforeach.go diff --git a/go/tests/tests/correct/listforeachif.go b/go/tests/correct/listforeachif.go similarity index 100% rename from go/tests/tests/correct/listforeachif.go rename to go/tests/correct/listforeachif.go diff --git a/go/tests/tests/correct/listlast.go b/go/tests/correct/listlast.go similarity index 100% rename from go/tests/tests/correct/listlast.go rename to go/tests/correct/listlast.go diff --git a/go/tests/tests/correct/listmerge.go b/go/tests/correct/listmerge.go similarity index 100% rename from go/tests/tests/correct/listmerge.go rename to go/tests/correct/listmerge.go diff --git a/go/tests/tests/correct/listpushback.go b/go/tests/correct/listpushback.go similarity index 100% rename from go/tests/tests/correct/listpushback.go rename to go/tests/correct/listpushback.go diff --git a/go/tests/tests/correct/listpushfront.go b/go/tests/correct/listpushfront.go similarity index 100% rename from go/tests/tests/correct/listpushfront.go rename to go/tests/correct/listpushfront.go diff --git a/go/tests/tests/correct/listremoveif.go b/go/tests/correct/listremoveif.go similarity index 100% rename from go/tests/tests/correct/listremoveif.go rename to go/tests/correct/listremoveif.go diff --git a/go/tests/tests/correct/listreverse.go b/go/tests/correct/listreverse.go similarity index 100% rename from go/tests/tests/correct/listreverse.go rename to go/tests/correct/listreverse.go diff --git a/go/tests/tests/correct/listsize.go b/go/tests/correct/listsize.go similarity index 100% rename from go/tests/tests/correct/listsize.go rename to go/tests/correct/listsize.go diff --git a/go/tests/tests/correct/listsort.go b/go/tests/correct/listsort.go similarity index 100% rename from go/tests/tests/correct/listsort.go rename to go/tests/correct/listsort.go diff --git a/go/tests/tests/correct/sortedlistmerge.go b/go/tests/correct/sortedlistmerge.go similarity index 100% rename from go/tests/tests/correct/sortedlistmerge.go rename to go/tests/correct/sortedlistmerge.go diff --git a/go/tests/tests/correct/sortlistinsert.go b/go/tests/correct/sortlistinsert.go similarity index 100% rename from go/tests/tests/correct/sortlistinsert.go rename to go/tests/correct/sortlistinsert.go diff --git a/go/tests/tests/costumeprofit_test/main.go b/go/tests/costumeprofit_test/main.go similarity index 100% rename from go/tests/tests/costumeprofit_test/main.go rename to go/tests/costumeprofit_test/main.go diff --git a/go/tests/tests/countdown_test/main.go b/go/tests/countdown_test/main.go similarity index 100% rename from go/tests/tests/countdown_test/main.go rename to go/tests/countdown_test/main.go diff --git a/go/tests/tests/countif_test/main.go b/go/tests/countif_test/main.go similarity index 100% rename from go/tests/tests/countif_test/main.go rename to go/tests/countif_test/main.go diff --git a/go/tests/tests/displaya_test/main.go b/go/tests/displaya_test/main.go similarity index 100% rename from go/tests/tests/displaya_test/main.go rename to go/tests/displaya_test/main.go diff --git a/go/tests/tests/displayalpham_test/main.go b/go/tests/displayalpham_test/main.go similarity index 100% rename from go/tests/tests/displayalpham_test/main.go rename to go/tests/displayalpham_test/main.go diff --git a/go/tests/tests/displayalrevm_test/main.go b/go/tests/displayalrevm_test/main.go similarity index 100% rename from go/tests/tests/displayalrevm_test/main.go rename to go/tests/displayalrevm_test/main.go diff --git a/go/tests/tests/displayfile_test/main.go b/go/tests/displayfile_test/main.go similarity index 100% rename from go/tests/tests/displayfile_test/main.go rename to go/tests/displayfile_test/main.go diff --git a/go/tests/tests/displayfirstparam_test/main.go b/go/tests/displayfirstparam_test/main.go similarity index 100% rename from go/tests/tests/displayfirstparam_test/main.go rename to go/tests/displayfirstparam_test/main.go diff --git a/go/tests/tests/displaylastparam_test/main.go b/go/tests/displaylastparam_test/main.go similarity index 100% rename from go/tests/tests/displaylastparam_test/main.go rename to go/tests/displaylastparam_test/main.go diff --git a/go/tests/tests/displayz_test/main.go b/go/tests/displayz_test/main.go similarity index 100% rename from go/tests/tests/displayz_test/main.go rename to go/tests/displayz_test/main.go diff --git a/go/tests/tests/divmod_test/main.go b/go/tests/divmod_test/main.go similarity index 100% rename from go/tests/tests/divmod_test/main.go rename to go/tests/divmod_test/main.go diff --git a/go/tests/tests/doop_test/main.go b/go/tests/doop_test/main.go similarity index 100% rename from go/tests/tests/doop_test/main.go rename to go/tests/doop_test/main.go diff --git a/go/tests/tests/doppelganger_test/main.go b/go/tests/doppelganger_test/main.go similarity index 100% rename from go/tests/tests/doppelganger_test/main.go rename to go/tests/doppelganger_test/main.go diff --git a/go/tests/tests/eightqueens_test/main.go b/go/tests/eightqueens_test/main.go similarity index 100% rename from go/tests/tests/eightqueens_test/main.go rename to go/tests/eightqueens_test/main.go diff --git a/go/tests/tests/enigma_test/main.go b/go/tests/enigma_test/main.go similarity index 100% rename from go/tests/tests/enigma_test/main.go rename to go/tests/enigma_test/main.go diff --git a/go/tests/tests/expandstr_test/main.go b/go/tests/expandstr_test/main.go similarity index 100% rename from go/tests/tests/expandstr_test/main.go rename to go/tests/expandstr_test/main.go diff --git a/go/tests/tests/fib_test/main.go b/go/tests/fib_test/main.go similarity index 100% rename from go/tests/tests/fib_test/main.go rename to go/tests/fib_test/main.go diff --git a/go/tests/tests/fibonacci_test/main.go b/go/tests/fibonacci_test/main.go similarity index 100% rename from go/tests/tests/fibonacci_test/main.go rename to go/tests/fibonacci_test/main.go diff --git a/go/tests/tests/findnextprime_test/main.go b/go/tests/findnextprime_test/main.go similarity index 100% rename from go/tests/tests/findnextprime_test/main.go rename to go/tests/findnextprime_test/main.go diff --git a/go/tests/tests/findprevprime_test/main.go b/go/tests/findprevprime_test/main.go similarity index 100% rename from go/tests/tests/findprevprime_test/main.go rename to go/tests/findprevprime_test/main.go diff --git a/go/tests/tests/firstrune_test/main.go b/go/tests/firstrune_test/main.go similarity index 100% rename from go/tests/tests/firstrune_test/main.go rename to go/tests/firstrune_test/main.go diff --git a/go/tests/tests/firstword_test/main.go b/go/tests/firstword_test/main.go similarity index 100% rename from go/tests/tests/firstword_test/main.go rename to go/tests/firstword_test/main.go diff --git a/go/tests/tests/fixthemain_test/main.go b/go/tests/fixthemain_test/main.go similarity index 100% rename from go/tests/tests/fixthemain_test/main.go rename to go/tests/fixthemain_test/main.go diff --git a/go/tests/tests/flags_test/main.go b/go/tests/flags_test/main.go similarity index 100% rename from go/tests/tests/flags_test/main.go rename to go/tests/flags_test/main.go diff --git a/go/tests/tests/foldint_test/main.go b/go/tests/foldint_test/main.go similarity index 100% rename from go/tests/tests/foldint_test/main.go rename to go/tests/foldint_test/main.go diff --git a/go/tests/tests/foreach_test/main.go b/go/tests/foreach_test/main.go similarity index 100% rename from go/tests/tests/foreach_test/main.go rename to go/tests/foreach_test/main.go diff --git a/go/tests/tests/fprime_test/main.go b/go/tests/fprime_test/main.go similarity index 100% rename from go/tests/tests/fprime_test/main.go rename to go/tests/fprime_test/main.go diff --git a/go/tests/tests/game23_test/main.go b/go/tests/game23_test/main.go similarity index 100% rename from go/tests/tests/game23_test/main.go rename to go/tests/game23_test/main.go diff --git a/go/tests/tests/gcd_test/main.go b/go/tests/gcd_test/main.go similarity index 100% rename from go/tests/tests/gcd_test/main.go rename to go/tests/gcd_test/main.go diff --git a/go/tests/tests/grouping_test/main.go b/go/tests/grouping_test/main.go similarity index 100% rename from go/tests/tests/grouping_test/main.go rename to go/tests/grouping_test/main.go diff --git a/go/tests/tests/halfcontest_test/main.go b/go/tests/halfcontest_test/main.go similarity index 100% rename from go/tests/tests/halfcontest_test/main.go rename to go/tests/halfcontest_test/main.go diff --git a/go/tests/tests/hello_test/main.go b/go/tests/hello_test/main.go similarity index 100% rename from go/tests/tests/hello_test/main.go rename to go/tests/hello_test/main.go diff --git a/go/tests/tests/hiddenp_test/main.go b/go/tests/hiddenp_test/main.go similarity index 100% rename from go/tests/tests/hiddenp_test/main.go rename to go/tests/hiddenp_test/main.go diff --git a/go/tests/tests/index_test/main.go b/go/tests/index_test/main.go similarity index 100% rename from go/tests/tests/index_test/main.go rename to go/tests/index_test/main.go diff --git a/go/tests/tests/inter_test/main.go b/go/tests/inter_test/main.go similarity index 100% rename from go/tests/tests/inter_test/main.go rename to go/tests/inter_test/main.go diff --git a/go/tests/tests/interestingnumber_test/main.go b/go/tests/interestingnumber_test/main.go similarity index 100% rename from go/tests/tests/interestingnumber_test/main.go rename to go/tests/interestingnumber_test/main.go diff --git a/go/tests/tests/isalpha_test/main.go b/go/tests/isalpha_test/main.go similarity index 100% rename from go/tests/tests/isalpha_test/main.go rename to go/tests/isalpha_test/main.go diff --git a/go/tests/tests/isanagram_test/main.go b/go/tests/isanagram_test/main.go similarity index 100% rename from go/tests/tests/isanagram_test/main.go rename to go/tests/isanagram_test/main.go diff --git a/go/tests/tests/islower_test/main.go b/go/tests/islower_test/main.go similarity index 100% rename from go/tests/tests/islower_test/main.go rename to go/tests/islower_test/main.go diff --git a/go/tests/tests/isnegative_test/main.go b/go/tests/isnegative_test/main.go similarity index 100% rename from go/tests/tests/isnegative_test/main.go rename to go/tests/isnegative_test/main.go diff --git a/go/tests/tests/isnumeric_test/main.go b/go/tests/isnumeric_test/main.go similarity index 100% rename from go/tests/tests/isnumeric_test/main.go rename to go/tests/isnumeric_test/main.go diff --git a/go/tests/tests/ispowerof2_test/main.go b/go/tests/ispowerof2_test/main.go similarity index 100% rename from go/tests/tests/ispowerof2_test/main.go rename to go/tests/ispowerof2_test/main.go diff --git a/go/tests/tests/isprime_test/main.go b/go/tests/isprime_test/main.go similarity index 100% rename from go/tests/tests/isprime_test/main.go rename to go/tests/isprime_test/main.go diff --git a/go/tests/tests/isprintable_test/main.go b/go/tests/isprintable_test/main.go similarity index 100% rename from go/tests/tests/isprintable_test/main.go rename to go/tests/isprintable_test/main.go diff --git a/go/tests/tests/issorted_test/main.go b/go/tests/issorted_test/main.go similarity index 100% rename from go/tests/tests/issorted_test/main.go rename to go/tests/issorted_test/main.go diff --git a/go/tests/tests/isupper_test/main.go b/go/tests/isupper_test/main.go similarity index 100% rename from go/tests/tests/isupper_test/main.go rename to go/tests/isupper_test/main.go diff --git a/go/tests/tests/iterativefactorial_test/main.go b/go/tests/iterativefactorial_test/main.go similarity index 100% rename from go/tests/tests/iterativefactorial_test/main.go rename to go/tests/iterativefactorial_test/main.go diff --git a/go/tests/tests/iterativepower_test/main.go b/go/tests/iterativepower_test/main.go similarity index 100% rename from go/tests/tests/iterativepower_test/main.go rename to go/tests/iterativepower_test/main.go diff --git a/go/tests/tests/itoa_test/main.go b/go/tests/itoa_test/main.go similarity index 100% rename from go/tests/tests/itoa_test/main.go rename to go/tests/itoa_test/main.go diff --git a/go/tests/tests/itoabase_test/main.go b/go/tests/itoabase_test/main.go similarity index 100% rename from go/tests/tests/itoabase_test/main.go rename to go/tests/itoabase_test/main.go diff --git a/go/tests/tests/join_test/main.go b/go/tests/join_test/main.go similarity index 100% rename from go/tests/tests/join_test/main.go rename to go/tests/join_test/main.go diff --git a/go/tests/tests/lastrune_test/main.go b/go/tests/lastrune_test/main.go similarity index 100% rename from go/tests/tests/lastrune_test/main.go rename to go/tests/lastrune_test/main.go diff --git a/go/tests/tests/lastword_test/main.go b/go/tests/lastword_test/main.go similarity index 100% rename from go/tests/tests/lastword_test/main.go rename to go/tests/lastword_test/main.go diff --git a/go/tests/tests/lcm_test/main.go b/go/tests/lcm_test/main.go similarity index 100% rename from go/tests/tests/lcm_test/main.go rename to go/tests/lcm_test/main.go diff --git a/go/tests/tests/listat_test/main.go b/go/tests/listat_test/main.go similarity index 100% rename from go/tests/tests/listat_test/main.go rename to go/tests/listat_test/main.go diff --git a/go/tests/tests/listclear_test/main.go b/go/tests/listclear_test/main.go similarity index 100% rename from go/tests/tests/listclear_test/main.go rename to go/tests/listclear_test/main.go diff --git a/go/tests/tests/listfind_test/main.go b/go/tests/listfind_test/main.go similarity index 100% rename from go/tests/tests/listfind_test/main.go rename to go/tests/listfind_test/main.go diff --git a/go/tests/tests/listforeach_test/main.go b/go/tests/listforeach_test/main.go similarity index 100% rename from go/tests/tests/listforeach_test/main.go rename to go/tests/listforeach_test/main.go diff --git a/go/tests/tests/listforeachif_test/main.go b/go/tests/listforeachif_test/main.go similarity index 100% rename from go/tests/tests/listforeachif_test/main.go rename to go/tests/listforeachif_test/main.go diff --git a/go/tests/tests/listlast_test/main.go b/go/tests/listlast_test/main.go similarity index 100% rename from go/tests/tests/listlast_test/main.go rename to go/tests/listlast_test/main.go diff --git a/go/tests/tests/listmerge_test/main.go b/go/tests/listmerge_test/main.go similarity index 100% rename from go/tests/tests/listmerge_test/main.go rename to go/tests/listmerge_test/main.go diff --git a/go/tests/tests/listpushback_test/main.go b/go/tests/listpushback_test/main.go similarity index 100% rename from go/tests/tests/listpushback_test/main.go rename to go/tests/listpushback_test/main.go diff --git a/go/tests/tests/listpushfront_test/main.go b/go/tests/listpushfront_test/main.go similarity index 100% rename from go/tests/tests/listpushfront_test/main.go rename to go/tests/listpushfront_test/main.go diff --git a/go/tests/tests/listremoveif_test/main.go b/go/tests/listremoveif_test/main.go similarity index 100% rename from go/tests/tests/listremoveif_test/main.go rename to go/tests/listremoveif_test/main.go diff --git a/go/tests/tests/listreverse_test/main.go b/go/tests/listreverse_test/main.go similarity index 100% rename from go/tests/tests/listreverse_test/main.go rename to go/tests/listreverse_test/main.go diff --git a/go/tests/tests/listsize_test/main.go b/go/tests/listsize_test/main.go similarity index 100% rename from go/tests/tests/listsize_test/main.go rename to go/tests/listsize_test/main.go diff --git a/go/tests/tests/listsort_test/main.go b/go/tests/listsort_test/main.go similarity index 100% rename from go/tests/tests/listsort_test/main.go rename to go/tests/listsort_test/main.go diff --git a/go/tests/tests/makerange_test/main.go b/go/tests/makerange_test/main.go similarity index 100% rename from go/tests/tests/makerange_test/main.go rename to go/tests/makerange_test/main.go diff --git a/go/tests/tests/map_test/main.go b/go/tests/map_test/main.go similarity index 100% rename from go/tests/tests/map_test/main.go rename to go/tests/map_test/main.go diff --git a/go/tests/tests/max_test/main.go b/go/tests/max_test/main.go similarity index 100% rename from go/tests/tests/max_test/main.go rename to go/tests/max_test/main.go diff --git a/go/tests/tests/nauuo_test/main.go b/go/tests/nauuo_test/main.go similarity index 100% rename from go/tests/tests/nauuo_test/main.go rename to go/tests/nauuo_test/main.go diff --git a/go/tests/tests/nbrconvertalpha_test/main.go b/go/tests/nbrconvertalpha_test/main.go similarity index 100% rename from go/tests/tests/nbrconvertalpha_test/main.go rename to go/tests/nbrconvertalpha_test/main.go diff --git a/go/tests/tests/nenokku_test/main.go b/go/tests/nenokku_test/main.go similarity index 100% rename from go/tests/tests/nenokku_test/main.go rename to go/tests/nenokku_test/main.go diff --git a/go/tests/tests/nrune_test/main.go b/go/tests/nrune_test/main.go similarity index 100% rename from go/tests/tests/nrune_test/main.go rename to go/tests/nrune_test/main.go diff --git a/go/tests/tests/onlya_test/main.go b/go/tests/onlya_test/main.go similarity index 100% rename from go/tests/tests/onlya_test/main.go rename to go/tests/onlya_test/main.go diff --git a/go/tests/tests/onlyz_test/main.go b/go/tests/onlyz_test/main.go similarity index 100% rename from go/tests/tests/onlyz_test/main.go rename to go/tests/onlyz_test/main.go diff --git a/go/tests/tests/options_test/main.go b/go/tests/options_test/main.go similarity index 100% rename from go/tests/tests/options_test/main.go rename to go/tests/options_test/main.go diff --git a/go/tests/tests/paramcount_test/main.go b/go/tests/paramcount_test/main.go similarity index 100% rename from go/tests/tests/paramcount_test/main.go rename to go/tests/paramcount_test/main.go diff --git a/go/tests/tests/piglatin_test/main.go b/go/tests/piglatin_test/main.go similarity index 100% rename from go/tests/tests/piglatin_test/main.go rename to go/tests/piglatin_test/main.go diff --git a/go/tests/tests/pilot_test/main.go b/go/tests/pilot_test/main.go similarity index 100% rename from go/tests/tests/pilot_test/main.go rename to go/tests/pilot_test/main.go diff --git a/go/tests/tests/point_test/main.go b/go/tests/point_test/main.go similarity index 100% rename from go/tests/tests/point_test/main.go rename to go/tests/point_test/main.go diff --git a/go/tests/tests/pointone_test/main.go b/go/tests/pointone_test/main.go similarity index 100% rename from go/tests/tests/pointone_test/main.go rename to go/tests/pointone_test/main.go diff --git a/go/tests/tests/printalphabet_test/main.go b/go/tests/printalphabet_test/main.go similarity index 100% rename from go/tests/tests/printalphabet_test/main.go rename to go/tests/printalphabet_test/main.go diff --git a/go/tests/tests/printalphabetalt2_test/main.go b/go/tests/printalphabetalt2_test/main.go similarity index 100% rename from go/tests/tests/printalphabetalt2_test/main.go rename to go/tests/printalphabetalt2_test/main.go diff --git a/go/tests/tests/printalphabetalt_test/main.go b/go/tests/printalphabetalt_test/main.go similarity index 100% rename from go/tests/tests/printalphabetalt_test/main.go rename to go/tests/printalphabetalt_test/main.go diff --git a/go/tests/tests/printalphabetg_test/main.go b/go/tests/printalphabetg_test/main.go similarity index 100% rename from go/tests/tests/printalphabetg_test/main.go rename to go/tests/printalphabetg_test/main.go diff --git a/go/tests/tests/printalt2_test/main.go b/go/tests/printalt2_test/main.go similarity index 100% rename from go/tests/tests/printalt2_test/main.go rename to go/tests/printalt2_test/main.go diff --git a/go/tests/tests/printalt_test/main.go b/go/tests/printalt_test/main.go similarity index 100% rename from go/tests/tests/printalt_test/main.go rename to go/tests/printalt_test/main.go diff --git a/go/tests/tests/printaltu2_test/main.go b/go/tests/printaltu2_test/main.go similarity index 100% rename from go/tests/tests/printaltu2_test/main.go rename to go/tests/printaltu2_test/main.go diff --git a/go/tests/tests/printaltu_test/main.go b/go/tests/printaltu_test/main.go similarity index 100% rename from go/tests/tests/printaltu_test/main.go rename to go/tests/printaltu_test/main.go diff --git a/go/tests/tests/printbits_test/main.go b/go/tests/printbits_test/main.go similarity index 100% rename from go/tests/tests/printbits_test/main.go rename to go/tests/printbits_test/main.go diff --git a/go/tests/tests/printchessboard_test/main.go b/go/tests/printchessboard_test/main.go similarity index 100% rename from go/tests/tests/printchessboard_test/main.go rename to go/tests/printchessboard_test/main.go diff --git a/go/tests/tests/printcomb2_test/main.go b/go/tests/printcomb2_test/main.go similarity index 100% rename from go/tests/tests/printcomb2_test/main.go rename to go/tests/printcomb2_test/main.go diff --git a/go/tests/tests/printcomb_test/main.go b/go/tests/printcomb_test/main.go similarity index 100% rename from go/tests/tests/printcomb_test/main.go rename to go/tests/printcomb_test/main.go diff --git a/go/tests/tests/printcombn_test/main.go b/go/tests/printcombn_test/main.go similarity index 100% rename from go/tests/tests/printcombn_test/main.go rename to go/tests/printcombn_test/main.go diff --git a/go/tests/tests/printdigits_test/main.go b/go/tests/printdigits_test/main.go similarity index 100% rename from go/tests/tests/printdigits_test/main.go rename to go/tests/printdigits_test/main.go diff --git a/go/tests/tests/printhex_test/main.go b/go/tests/printhex_test/main.go similarity index 100% rename from go/tests/tests/printhex_test/main.go rename to go/tests/printhex_test/main.go diff --git a/go/tests/tests/printmemory_test/main.go b/go/tests/printmemory_test/main.go similarity index 100% rename from go/tests/tests/printmemory_test/main.go rename to go/tests/printmemory_test/main.go diff --git a/go/tests/tests/printnbr_test/main.go b/go/tests/printnbr_test/main.go similarity index 100% rename from go/tests/tests/printnbr_test/main.go rename to go/tests/printnbr_test/main.go diff --git a/go/tests/tests/printnbrbase_test/main.go b/go/tests/printnbrbase_test/main.go similarity index 100% rename from go/tests/tests/printnbrbase_test/main.go rename to go/tests/printnbrbase_test/main.go diff --git a/go/tests/tests/printnbrinorder_test/main.go b/go/tests/printnbrinorder_test/main.go similarity index 100% rename from go/tests/tests/printnbrinorder_test/main.go rename to go/tests/printnbrinorder_test/main.go diff --git a/go/tests/tests/printparams_test/main.go b/go/tests/printparams_test/main.go similarity index 100% rename from go/tests/tests/printparams_test/main.go rename to go/tests/printparams_test/main.go diff --git a/go/tests/tests/printprogramname_test/main.go b/go/tests/printprogramname_test/main.go similarity index 100% rename from go/tests/tests/printprogramname_test/main.go rename to go/tests/printprogramname_test/main.go diff --git a/go/tests/tests/printrevcomb_test/main.go b/go/tests/printrevcomb_test/main.go similarity index 100% rename from go/tests/tests/printrevcomb_test/main.go rename to go/tests/printrevcomb_test/main.go diff --git a/go/tests/tests/printreversealphabet_test/main.go b/go/tests/printreversealphabet_test/main.go similarity index 100% rename from go/tests/tests/printreversealphabet_test/main.go rename to go/tests/printreversealphabet_test/main.go diff --git a/go/tests/tests/printreversealphabetalt2_test/main.go b/go/tests/printreversealphabetalt2_test/main.go similarity index 100% rename from go/tests/tests/printreversealphabetalt2_test/main.go rename to go/tests/printreversealphabetalt2_test/main.go diff --git a/go/tests/tests/printreversealphabetalt_test/main.go b/go/tests/printreversealphabetalt_test/main.go similarity index 100% rename from go/tests/tests/printreversealphabetalt_test/main.go rename to go/tests/printreversealphabetalt_test/main.go diff --git a/go/tests/tests/printreversealphabetg_test/main.go b/go/tests/printreversealphabetg_test/main.go similarity index 100% rename from go/tests/tests/printreversealphabetg_test/main.go rename to go/tests/printreversealphabetg_test/main.go diff --git a/go/tests/tests/printrot_test/main.go b/go/tests/printrot_test/main.go similarity index 100% rename from go/tests/tests/printrot_test/main.go rename to go/tests/printrot_test/main.go diff --git a/go/tests/tests/printstr_test/main.go b/go/tests/printstr_test/main.go similarity index 100% rename from go/tests/tests/printstr_test/main.go rename to go/tests/printstr_test/main.go diff --git a/go/tests/tests/printwordstables_test/main.go b/go/tests/printwordstables_test/main.go similarity index 100% rename from go/tests/tests/printwordstables_test/main.go rename to go/tests/printwordstables_test/main.go diff --git a/go/tests/tests/priorprime_test/main.go b/go/tests/priorprime_test/main.go similarity index 100% rename from go/tests/tests/priorprime_test/main.go rename to go/tests/priorprime_test/main.go diff --git a/go/tests/tests/quada_test/main.go b/go/tests/quada_test/main.go similarity index 100% rename from go/tests/tests/quada_test/main.go rename to go/tests/quada_test/main.go diff --git a/go/tests/tests/quadb_test/main.go b/go/tests/quadb_test/main.go similarity index 100% rename from go/tests/tests/quadb_test/main.go rename to go/tests/quadb_test/main.go diff --git a/go/tests/tests/quadc_test/main.go b/go/tests/quadc_test/main.go similarity index 100% rename from go/tests/tests/quadc_test/main.go rename to go/tests/quadc_test/main.go diff --git a/go/tests/tests/quadd_test/main.go b/go/tests/quadd_test/main.go similarity index 100% rename from go/tests/tests/quadd_test/main.go rename to go/tests/quadd_test/main.go diff --git a/go/tests/tests/quade_test/main.go b/go/tests/quade_test/main.go similarity index 100% rename from go/tests/tests/quade_test/main.go rename to go/tests/quade_test/main.go diff --git a/go/tests/tests/raid3_test/main.go b/go/tests/raid3_test/main.go similarity index 100% rename from go/tests/tests/raid3_test/main.go rename to go/tests/raid3_test/main.go diff --git a/go/tests/tests/range_test/main.go b/go/tests/range_test/main.go similarity index 100% rename from go/tests/tests/range_test/main.go rename to go/tests/range_test/main.go diff --git a/go/tests/tests/reachablenumber_test/main.go b/go/tests/reachablenumber_test/main.go similarity index 100% rename from go/tests/tests/reachablenumber_test/main.go rename to go/tests/reachablenumber_test/main.go diff --git a/go/tests/tests/rectangle_test/main.go b/go/tests/rectangle_test/main.go similarity index 100% rename from go/tests/tests/rectangle_test/main.go rename to go/tests/rectangle_test/main.go diff --git a/go/tests/tests/recursivefactorial_test/main.go b/go/tests/recursivefactorial_test/main.go similarity index 100% rename from go/tests/tests/recursivefactorial_test/main.go rename to go/tests/recursivefactorial_test/main.go diff --git a/go/tests/tests/recursivepower_test/main.go b/go/tests/recursivepower_test/main.go similarity index 100% rename from go/tests/tests/recursivepower_test/main.go rename to go/tests/recursivepower_test/main.go diff --git a/go/tests/tests/reduceint_test/main.go b/go/tests/reduceint_test/main.go similarity index 100% rename from go/tests/tests/reduceint_test/main.go rename to go/tests/reduceint_test/main.go diff --git a/go/tests/tests/repeatalpha_test/main.go b/go/tests/repeatalpha_test/main.go similarity index 100% rename from go/tests/tests/repeatalpha_test/main.go rename to go/tests/repeatalpha_test/main.go diff --git a/go/tests/tests/reversebits_test/main.go b/go/tests/reversebits_test/main.go similarity index 100% rename from go/tests/tests/reversebits_test/main.go rename to go/tests/reversebits_test/main.go diff --git a/go/tests/tests/reverserange_test/main.go b/go/tests/reverserange_test/main.go similarity index 100% rename from go/tests/tests/reverserange_test/main.go rename to go/tests/reverserange_test/main.go diff --git a/go/tests/tests/reversestrcap_test/main.go b/go/tests/reversestrcap_test/main.go similarity index 100% rename from go/tests/tests/reversestrcap_test/main.go rename to go/tests/reversestrcap_test/main.go diff --git a/go/tests/tests/revivethreenums_test/main.go b/go/tests/revivethreenums_test/main.go similarity index 100% rename from go/tests/tests/revivethreenums_test/main.go rename to go/tests/revivethreenums_test/main.go diff --git a/go/tests/tests/revparams_test/main.go b/go/tests/revparams_test/main.go similarity index 100% rename from go/tests/tests/revparams_test/main.go rename to go/tests/revparams_test/main.go diff --git a/go/tests/tests/revwstr_test/main.go b/go/tests/revwstr_test/main.go similarity index 100% rename from go/tests/tests/revwstr_test/main.go rename to go/tests/revwstr_test/main.go diff --git a/go/tests/tests/robottoorigin_test/main.go b/go/tests/robottoorigin_test/main.go similarity index 100% rename from go/tests/tests/robottoorigin_test/main.go rename to go/tests/robottoorigin_test/main.go diff --git a/go/tests/tests/romannumbers_test/main.go b/go/tests/romannumbers_test/main.go similarity index 100% rename from go/tests/tests/romannumbers_test/main.go rename to go/tests/romannumbers_test/main.go diff --git a/go/tests/tests/rostring_test/main.go b/go/tests/rostring_test/main.go similarity index 100% rename from go/tests/tests/rostring_test/main.go rename to go/tests/rostring_test/main.go diff --git a/go/tests/tests/rot13_test/main.go b/go/tests/rot13_test/main.go similarity index 100% rename from go/tests/tests/rot13_test/main.go rename to go/tests/rot13_test/main.go diff --git a/go/tests/tests/rot14_test/main.go b/go/tests/rot14_test/main.go similarity index 100% rename from go/tests/tests/rot14_test/main.go rename to go/tests/rot14_test/main.go diff --git a/go/tests/tests/rotatevowels_test/main.go b/go/tests/rotatevowels_test/main.go similarity index 100% rename from go/tests/tests/rotatevowels_test/main.go rename to go/tests/rotatevowels_test/main.go diff --git a/go/tests/tests/rpncalc_test/main.go b/go/tests/rpncalc_test/main.go similarity index 100% rename from go/tests/tests/rpncalc_test/main.go rename to go/tests/rpncalc_test/main.go diff --git a/go/tests/tests/searchreplace_test/main.go b/go/tests/searchreplace_test/main.go similarity index 100% rename from go/tests/tests/searchreplace_test/main.go rename to go/tests/searchreplace_test/main.go diff --git a/go/tests/tests/slice_test/main.go b/go/tests/slice_test/main.go similarity index 100% rename from go/tests/tests/slice_test/main.go rename to go/tests/slice_test/main.go diff --git a/go/tests/tests/sortedlistmerge_test/main.go b/go/tests/sortedlistmerge_test/main.go similarity index 100% rename from go/tests/tests/sortedlistmerge_test/main.go rename to go/tests/sortedlistmerge_test/main.go diff --git a/go/tests/tests/sortintegertable_test/main.go b/go/tests/sortintegertable_test/main.go similarity index 100% rename from go/tests/tests/sortintegertable_test/main.go rename to go/tests/sortintegertable_test/main.go diff --git a/go/tests/tests/sortlistinsert_test/main.go b/go/tests/sortlistinsert_test/main.go similarity index 100% rename from go/tests/tests/sortlistinsert_test/main.go rename to go/tests/sortlistinsert_test/main.go diff --git a/go/tests/tests/sortparams_test/main.go b/go/tests/sortparams_test/main.go similarity index 100% rename from go/tests/tests/sortparams_test/main.go rename to go/tests/sortparams_test/main.go diff --git a/go/tests/tests/sortwordarr_test/main.go b/go/tests/sortwordarr_test/main.go similarity index 100% rename from go/tests/tests/sortwordarr_test/main.go rename to go/tests/sortwordarr_test/main.go diff --git a/go/tests/tests/split_test/main.go b/go/tests/split_test/main.go similarity index 100% rename from go/tests/tests/split_test/main.go rename to go/tests/split_test/main.go diff --git a/go/tests/tests/splitwhitespaces_test/main.go b/go/tests/splitwhitespaces_test/main.go similarity index 100% rename from go/tests/tests/splitwhitespaces_test/main.go rename to go/tests/splitwhitespaces_test/main.go diff --git a/go/tests/tests/sqrt_test/main.go b/go/tests/sqrt_test/main.go similarity index 100% rename from go/tests/tests/sqrt_test/main.go rename to go/tests/sqrt_test/main.go diff --git a/go/tests/tests/strlen_test/main.go b/go/tests/strlen_test/main.go similarity index 100% rename from go/tests/tests/strlen_test/main.go rename to go/tests/strlen_test/main.go diff --git a/go/tests/tests/strrev_test/main.go b/go/tests/strrev_test/main.go similarity index 100% rename from go/tests/tests/strrev_test/main.go rename to go/tests/strrev_test/main.go diff --git a/go/tests/tests/sudoku_test/main.go b/go/tests/sudoku_test/main.go similarity index 100% rename from go/tests/tests/sudoku_test/main.go rename to go/tests/sudoku_test/main.go diff --git a/go/tests/tests/swap_test/main.go b/go/tests/swap_test/main.go similarity index 100% rename from go/tests/tests/swap_test/main.go rename to go/tests/swap_test/main.go diff --git a/go/tests/tests/swapbits_test/main.go b/go/tests/swapbits_test/main.go similarity index 100% rename from go/tests/tests/swapbits_test/main.go rename to go/tests/swapbits_test/main.go diff --git a/go/tests/tests/sweetproblem_test/main.go b/go/tests/sweetproblem_test/main.go similarity index 100% rename from go/tests/tests/sweetproblem_test/main.go rename to go/tests/sweetproblem_test/main.go diff --git a/go/tests/tests/switchcase_test/main.go b/go/tests/switchcase_test/main.go similarity index 100% rename from go/tests/tests/switchcase_test/main.go rename to go/tests/switchcase_test/main.go diff --git a/go/tests/tests/tabmult_test/main.go b/go/tests/tabmult_test/main.go similarity index 100% rename from go/tests/tests/tabmult_test/main.go rename to go/tests/tabmult_test/main.go diff --git a/go/tests/tests/tetrisoptimizer_test/main.go b/go/tests/tetrisoptimizer_test/main.go similarity index 100% rename from go/tests/tests/tetrisoptimizer_test/main.go rename to go/tests/tetrisoptimizer_test/main.go diff --git a/go/tests/tests/tolower_test/main.go b/go/tests/tolower_test/main.go similarity index 100% rename from go/tests/tests/tolower_test/main.go rename to go/tests/tolower_test/main.go diff --git a/go/tests/tests/toupper_test/main.go b/go/tests/toupper_test/main.go similarity index 100% rename from go/tests/tests/toupper_test/main.go rename to go/tests/toupper_test/main.go diff --git a/go/tests/tests/trimatoi_test/main.go b/go/tests/trimatoi_test/main.go similarity index 100% rename from go/tests/tests/trimatoi_test/main.go rename to go/tests/trimatoi_test/main.go diff --git a/go/tests/tests/twosum_test/main.go b/go/tests/twosum_test/main.go similarity index 100% rename from go/tests/tests/twosum_test/main.go rename to go/tests/twosum_test/main.go diff --git a/go/tests/tests/ultimatedivmod_test/main.go b/go/tests/ultimatedivmod_test/main.go similarity index 100% rename from go/tests/tests/ultimatedivmod_test/main.go rename to go/tests/ultimatedivmod_test/main.go diff --git a/go/tests/tests/ultimatepointone_test/main.go b/go/tests/ultimatepointone_test/main.go similarity index 100% rename from go/tests/tests/ultimatepointone_test/main.go rename to go/tests/ultimatepointone_test/main.go diff --git a/go/tests/tests/union_test/main.go b/go/tests/union_test/main.go similarity index 100% rename from go/tests/tests/union_test/main.go rename to go/tests/union_test/main.go diff --git a/go/tests/tests/uniqueoccurences_test/main.go b/go/tests/uniqueoccurences_test/main.go similarity index 100% rename from go/tests/tests/uniqueoccurences_test/main.go rename to go/tests/uniqueoccurences_test/main.go diff --git a/go/tests/tests/unmatch_test/main.go b/go/tests/unmatch_test/main.go similarity index 100% rename from go/tests/tests/unmatch_test/main.go rename to go/tests/unmatch_test/main.go diff --git a/go/tests/tests/volumechanger_test/main.go b/go/tests/volumechanger_test/main.go similarity index 100% rename from go/tests/tests/volumechanger_test/main.go rename to go/tests/volumechanger_test/main.go diff --git a/go/tests/tests/wdmatch_test/main.go b/go/tests/wdmatch_test/main.go similarity index 100% rename from go/tests/tests/wdmatch_test/main.go rename to go/tests/wdmatch_test/main.go diff --git a/go/tests/tests/ztail_test/main.go b/go/tests/ztail_test/main.go similarity index 100% rename from go/tests/tests/ztail_test/main.go rename to go/tests/ztail_test/main.go diff --git a/go/tofix/func/correct/addlinkednumbers.go b/go/tofix/func/correct/addlinkednumbers.go deleted file mode 100644 index 4c29279e..00000000 --- a/go/tofix/func/correct/addlinkednumbers.go +++ /dev/null @@ -1,36 +0,0 @@ -package correct - -type NodeAddL struct { - Next *NodeAddL - Num int -} - -func pushFront(node *NodeAddL, num int) *NodeAddL { - tmp := &NodeAddL{Num: num} - if node == nil { - return tmp - } - tmp.Next = node - return tmp -} - -func AddLinkedNumbers(num1, num2 *NodeAddL) *NodeAddL { - var n1, n2, r int - var result *NodeAddL - - for tmp := num1; tmp != nil; tmp = tmp.Next { - n1 = n1*10 + tmp.Num - } - - for tmp := num2; tmp != nil; tmp = tmp.Next { - n2 = n2*10 + tmp.Num - } - - r = n1 + n2 - for r > 0 { - mod := r % 10 - r /= 10 - result = pushFront(result, mod) - } - return result -} diff --git a/go/tofix/func/correct/changeorder.go b/go/tofix/func/correct/changeorder.go deleted file mode 100644 index f41ed1be..00000000 --- a/go/tofix/func/correct/changeorder.go +++ /dev/null @@ -1,49 +0,0 @@ -package correct - -func pushBack(node *NodeAddL, num int) *NodeAddL { - nw := &NodeAddL{Num: num} - if node == nil { - return nw - } - for tmp := node; tmp != nil; tmp = tmp.Next { - if tmp.Next == nil { - tmp.Next = nw - return node - } - } - return node -} - -func Changeorder(node *NodeAddL) *NodeAddL { - if node == nil { - return node - } - ans := &NodeAddL{Num: node.Num} - for tmp := node; tmp != nil; { - tmp = tmp.Next - if tmp == nil { - break - } - tmp = tmp.Next - if tmp == nil { - break - } - ans = pushBack(ans, tmp.Num) - } - - if node.Next == nil { - return ans - } - for tmp := node.Next; tmp != nil; { - ans = pushBack(ans, tmp.Num) - tmp = tmp.Next - if tmp == nil { - break - } - tmp = tmp.Next - if tmp == nil { - break - } - } - return ans -} diff --git a/go/tofix/func/correct/reverse.go b/go/tofix/func/correct/reverse.go deleted file mode 100644 index 7ef97378..00000000 --- a/go/tofix/func/correct/reverse.go +++ /dev/null @@ -1,26 +0,0 @@ -package correct - -type NodeAddL struct { - Next *NodeAddL - Num int -} - -func pushFront(node *NodeAddL, num int) *NodeAddL { - tmp := &NodeAddL{Num: num} - if node == nil { - return tmp - } - tmp.Next = node - return tmp -} - -func Reverse(node *NodeAddL) *NodeAddL { - if node == nil { - return node - } - ans := &NodeAddL{Num: node.Num} - for tmp := node.Next; tmp != nil; tmp = tmp.Next { - ans = pushFront(ans, tmp.Num) - } - return ans -} diff --git a/go/tofix/func/correct/sortll.go b/go/tofix/func/correct/sortll.go deleted file mode 100644 index 968bfc4b..00000000 --- a/go/tofix/func/correct/sortll.go +++ /dev/null @@ -1,37 +0,0 @@ -package correct - -type NodeAddL struct { - Next *NodeAddL - Num int -} - -func pushBack(node *NodeAddL, num int) *NodeAddL { - nw := &NodeAddL{Num: num} - if node == nil { - return nw - } - for tmp := node; tmp != nil; tmp = tmp.Next { - if tmp.Next == nil { - tmp.Next = nw - return node - } - } - return node -} - -func Sortll(node *NodeAddL) *NodeAddL { - if node == nil { - return node - } - - for first := node; first != nil; first = first.Next { - for second := first.Next; second != nil; second = second.Next { - if first.Num < second.Num { - tmp := first.Num - first.Num = second.Num - second.Num = tmp - } - } - } - return node -} diff --git a/go/tofix/func/createelem/main.go b/go/tofix/func/createelem/main.go deleted file mode 100644 index c54cc600..00000000 --- a/go/tofix/func/createelem/main.go +++ /dev/null @@ -1,37 +0,0 @@ -package main - -type Node struct { - Data int -} - -func CreateElem(n *Node, value int) { - n.Data = value -} - -// the structs from the other packages -// struct just for the first exercise -type NodeF = student.Node -type NodeFS = correct.Node - -// simple struct, just insert a element in the struct -func main() { - n1 := &NodeFS{} - n2 := &NodeF{} - - table := [][]int{{{132423}}} - - for i := 0; i < 5; i++ { - table = append(table, lib.MultRandIntBetween(-1000000, 10000000)) - } - - for _, items := range table { - for _, item := range items { - correct.CreateElem(n1, item) - student.CreateElem(n2, item) - } - - if n1.Data != n2.Data { - lib.Fatalf("CreateElem == %d instead of %d\n", n1, n2) - } - } -} diff --git a/go/tofix/func/inverttree/main.go b/go/tofix/func/inverttree/main.go deleted file mode 100644 index 43da99db..00000000 --- a/go/tofix/func/inverttree/main.go +++ /dev/null @@ -1,181 +0,0 @@ -package correct - -import ( - "fmt" - "io" - "math/rand" - "strconv" -) - -type TNode struct { - Val int - Left *TNode - Right *TNode -} - -func Invert(root *TNode) { - if root != nil { - temp := root.Left - root.Left = root.Right - root.Right = temp - - Invert(root.Left) - Invert(root.Right) - } -} - -func InvertTree(root *TNode) *TNode { - Invert(root) - return root -} - -type stuNode = TNode -type solNode = correct.TNode - -func solInsert(N *solNode, newVal int) { - if N == nil { - return - } - if newVal <= N.Val { - if N.Left == nil { - N.Left = &solNode{Val: newVal, Left: nil, Right: nil} - } else { - solInsert(N.Left, newVal) - } - } else { - if N.Right == nil { - N.Right = &solNode{Val: newVal, Left: nil, Right: nil} - } else { - solInsert(N.Right, newVal) - } - } -} - -func stuInsert(N *stuNode, newVal int) { - if N == nil { - return - } - if newVal <= N.Val { - if N.Left == nil { - N.Left = &stuNode{Val: newVal, Left: nil, Right: nil} - } else { - stuInsert(N.Left, newVal) - } - } else { - if N.Right == nil { - N.Right = &stuNode{Val: newVal, Left: nil, Right: nil} - } else { - stuInsert(N.Right, newVal) - } - } -} - -func IsIdentical(root1 *solNode, root2 *stuNode) bool { - if root1 == nil && root2 == nil { - return true - } - if root1 == nil && root2 != nil { - return false - } - if root2 == nil && root1 != nil { - return false - } - return root1.Val == root2.Val && IsIdentical(root1.Left, root2.Left) && IsIdentical(root1.Right, root2.Right) -} - -func stuPrint(w io.Writer, node *stuNode, ns int, ch rune) { - if node == nil { - return - } - - for i := 0; i < ns; i++ { - fmt.Fprint(w, " ") - } - fmt.Fprintf(w, "%c:%v\n", ch, node.Val) - stuPrint(w, node.Left, ns+2, 'L') - stuPrint(w, node.Right, ns+2, 'R') -} - -func solPrint(w io.Writer, node *solNode, ns int, ch rune) { - if node == nil { - return - } - - for i := 0; i < ns; i++ { - fmt.Fprint(w, " ") - } - fmt.Fprintf(w, "%c:%v\n", ch, node.Val) - solPrint(w, node.Left, ns+2, 'L') - solPrint(w, node.Right, ns+2, 'R') -} - -func returnStuTree(root *stuNode) string { - if root == nil { - return "" - } - ans := strconv.Itoa(root.Val) - if root.Left == nil && root.Right == nil { - return ans - } - if root.Left != nil { - ans += " " + returnStuTree(root.Left) - } - if root.Right != nil { - ans += " " + returnStuTree(root.Right) - } - return ans -} - -func returnSolTree(root *solNode) string { - if root == nil { - return "" - } - ans := strconv.Itoa(root.Val) - if root.Left == nil && root.Right == nil { - return ans - } - if root.Left != nil { - ans += " " + returnSolTree(root.Left) - } - if root.Right != nil { - ans += " " + returnSolTree(root.Right) - } - return ans -} - -func main() { - root, val1, val2, val3, val4 := 0, 0, 0, 0, 0 - - root = rand.Intn(30) - tree := &solNode{Val: root, Left: nil, Right: nil} - TestTree := &stuNode{Val: root, Left: nil, Right: nil} - for i := 0; i < 15; i++ { - tree = &solNode{Val: root, Left: nil, Right: nil} - temp := tree - val1, val2, val3, val4 = rand.Intn(30), rand.Intn(30), rand.Intn(30), rand.Intn(30) - solInsert(tree, val1) - solInsert(tree, val2) - solInsert(tree, val3) - solInsert(tree, val4) - // solPrint(os.Stdout, tree, 0, 'M') - correct.InvertTree(tree) - // solPrint(os.Stdout, tree, 0, 'M') - - TestTree = &stuNode{Val: root, Left: nil, Right: nil} - tmp := TestTree - stuInsert(TestTree, val1) - stuInsert(TestTree, val2) - stuInsert(TestTree, val3) - stuInsert(TestTree, val4) - // stuPrint(os.Stdout, TestTree, 0, 'M') - InvertTree(TestTree) - // stuPrint(os.Stdout, TestTree, 0, 'M') - - if !IsIdentical(tree, TestTree) { - tree1 := returnSolTree(temp) - tree2 := returnStuTree(tmp) - lib.Fatalf("\n\"%v\" instead of \"%v\"\n\n", tree1, tree2) - // lib.Fatalf("\nError\n\n") - } - } -} diff --git a/go/tofix/func/merge/main.go b/go/tofix/func/merge/main.go deleted file mode 100644 index f769d121..00000000 --- a/go/tofix/func/merge/main.go +++ /dev/null @@ -1,188 +0,0 @@ -package correct - -import ( - "math/rand" - "strconv" -) - -type TreeNodeM struct { - Left *TreeNodeM - Val int - Right *TreeNodeM -} - -func MergeTrees(t1 *TreeNodeM, t2 *TreeNodeM) *TreeNodeM { - if t1 == nil { - return t2 - } - if t2 == nil { - return t1 - } - t1.Val += t2.Val - t1.Left = MergeTrees(t1.Left, t2.Left) - t1.Right = MergeTrees(t1.Right, t2.Right) - return t1 -} - -type stuTreeNode = TreeNodeM -type solTreeNode = correct.TreeNodeM - -func New(n, k int) (*solTreeNode, *stuTreeNode, *solTreeNode) { - var cop *solTreeNode - var stu *stuTreeNode - var sol *solTreeNode - for _, v := range rand.Perm(n) { - cop = insertSol(cop, (1+v)*k) - stu = insertStu(stu, (1+v)*k) - sol = insertSol(sol, (1+v)*k) - } - return cop, stu, sol -} - -func insertStu(t *stuTreeNode, v int) *stuTreeNode { - if t == nil { - return &stuTreeNode{Left: nil, Val: v, Right: nil} - } - if v < t.Val { - t.Left = insertStu(t.Left, v) - return t - } - t.Right = insertStu(t.Right, v) - return t -} - -func insertSol(t *solTreeNode, v int) *solTreeNode { - if t == nil { - return &solTreeNode{Left: nil, Val: v, Right: nil} - } - if v < t.Val { - t.Left = insertSol(t.Left, v) - return t - } - t.Right = insertSol(t.Right, v) - return t -} - -// Walk traverses a tree depth-first, -// sending each Value on a channel. -func stuWalk(t *stuTreeNode, ch chan int) { - if t == nil { - return - } - stuWalk(t.Left, ch) - ch <- t.Val - stuWalk(t.Right, ch) -} - -// Walk traverses a tree depth-first, -// sending each Val on a channel. -func solWalk(t *solTreeNode, ch chan int) { - if t == nil { - return - } - solWalk(t.Left, ch) - ch <- t.Val - solWalk(t.Right, ch) -} - -// Walker launches Walk in a new goroutine, -// and returns a read-only channel of values. -func stuWalker(t *stuTreeNode) <-chan int { - ch := make(chan int) - go func() { - stuWalk(t, ch) - close(ch) - }() - return ch -} - -// Walker launches Walk in a new goroutine, -// and returns a read-only channel of values. -func solWalker(t *solTreeNode) <-chan int { - ch := make(chan int) - go func() { - solWalk(t, ch) - close(ch) - }() - return ch -} - -func compare(stuResult *stuTreeNode, solResult *solTreeNode) bool { - c1, c2 := stuWalker(stuResult), solWalker(solResult) - for { - v1, ok1 := <-c1 - v2, ok2 := <-c2 - if !ok1 || !ok2 { - return ok1 == ok2 - } - if v1 != v2 { - break - } - } - return false -} - -func returnSolTree(root *solTreeNode) string { - if root == nil { - return "" - } - ans := strconv.Itoa(root.Val) - if root.Left == nil && root.Right == nil { - return ans - } - if root.Left != nil { - ans += " " + returnSolTree(root.Left) - } - if root.Right != nil { - ans += " " + returnSolTree(root.Right) - } - return ans -} - -func returnStuTree(root *stuTreeNode) string { - if root == nil { - return "" - } - ans := strconv.Itoa(root.Val) - if root.Left == nil && root.Right == nil { - return ans - } - if root.Left != nil { - ans += " " + returnStuTree(root.Left) - } - if root.Right != nil { - ans += " " + returnStuTree(root.Right) - } - return ans -} - -func compareTrees(stuResult *stuTreeNode, solResult, solTree1, solTree2 *solTreeNode) { - if !compare(stuResult, solResult) { - tree1 := returnSolTree(solTree1) - tree2 := returnSolTree(solTree2) - stuTree := returnStuTree(stuResult) - solTree := returnSolTree(solResult) - lib.Fatalf("\nMergeTrees(\"%v\", \"%v\") == \"%v\" instead of \"%v\"\n\n", tree1, tree2, stuTree, solTree) - } -} - -func main() { - type node struct { - n int - k int - } - - table := []node{} - for i := 0; i < 15; i++ { - value := node{lib.RandIntBetween(10, 15), lib.RandIntBetween(1, 10)} - table = append(table, value) - } - for _, arg := range table { - cop1, stuTree1, solTree1 := New(arg.n, arg.k) - cop2, stuTree2, solTree2 := New(arg.n, arg.k) - stuResult := MergeTrees(stuTree1, stuTree2) - solResult := correct.MergeTrees(solTree1, solTree2) - - compareTrees(stuResult, solResult, cop1, cop2) - } -} diff --git a/go/tofix/func/reverse/main.go b/go/tofix/func/reverse/main.go deleted file mode 100644 index 77cbf9b3..00000000 --- a/go/tofix/func/reverse/main.go +++ /dev/null @@ -1,83 +0,0 @@ - - -type stuNode = NodeAddL -type solNode = correct.NodeAddL - -func stuPushFront(node *stuNode, num int) *stuNode { - tmp := &stuNode{Num: num} - tmp.Next = node - return tmp -} - -func stuNumToList(num int) *stuNode { - var res *stuNode - for num > 0 { - res = stuPushFront(res, num%10) - num /= 10 - } - return res -} - -func stuListToNum(node *stuNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func solPushFront(node *solNode, num int) *solNode { - tmp := &solNode{Num: num} - tmp.Next = node - return tmp -} - -func solNumToList(num int) *solNode { - var res *solNode - for num > 0 { - res = solPushFront(res, num%10) - num /= 10 - } - return res -} - -func solListToNum(node *solNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func compareNodes(stuResult *stuNode, solResult *solNode, num1 int) { - if stuResult != nil && solResult != nil { - stuNum := stuListToNum(stuResult) - solNum := solListToNum(solResult) - if stuNum != solNum { - lib.Fatalf("\nReverse(%d) == %v instead of %v\n\n", - num1, stuNum, solNum) - } - } else if stuResult != nil && solResult == nil { - stuNum := stuListToNum(stuResult) - lib.Fatalf("\nReverse(%d) == %v instead of %v\n\n", - num1, stuNum, "") - } else if stuResult == nil && solResult != nil { - solNum := solListToNum(solResult) - lib.Fatalf("\nReverse(%d) == %v instead of %v\n\n", - num1, "", solNum) - } -} - -func main() { - table := []int{123456543} - - table = append(table, lib.MultRandIntBetween(0, 1000000000)...) - for _, arg := range table { - stuResult := Reverse(stuNumToList(arg)) - solResult := correct.Reverse(solNumToList(arg)) - - compareNodes(stuResult, solResult, arg) - } -} diff --git a/go/tofix/func/sametree/main.go b/go/tofix/func/sametree/main.go deleted file mode 100644 index ed34e1ad..00000000 --- a/go/tofix/func/sametree/main.go +++ /dev/null @@ -1,142 +0,0 @@ -package correct - -import ( - "math/rand" - "strconv" -) - -type TreeNodeL struct { - Left *TreeNodeL - Val int - Right *TreeNodeL -} - -func IsSameTree(p *TreeNodeL, q *TreeNodeL) bool { - if p == nil && q == nil { - return true - } - return checkIfEq(p, q) -} - -func checkIfEq(t1 *TreeNodeL, t2 *TreeNodeL) bool { - if t1 == nil && t2 == nil { - return true - } - if t1 == nil || t2 == nil { - return false - } - return t1.Val == t2.Val && checkIfEq(t1.Right, t2.Right) && checkIfEq(t1.Left, t2.Left) -} - -type stuTreeNode = TreeNodeL -type solTreeNode = correct.TreeNodeL - -func insertStu(t *stuTreeNode, v int) *stuTreeNode { - if t == nil { - return &stuTreeNode{Left: nil, Val: v, Right: nil} - } - if v < t.Val { - t.Left = insertStu(t.Left, v) - return t - } - t.Right = insertStu(t.Right, v) - return t -} - -func insertSol(t *solTreeNode, v int) *solTreeNode { - if t == nil { - return &solTreeNode{Left: nil, Val: v, Right: nil} - } - if v < t.Val { - t.Left = insertSol(t.Left, v) - return t - } - t.Right = insertSol(t.Right, v) - return t -} - -func New(n, k int) (*solTreeNode, *stuTreeNode, *solTreeNode) { - var cop *solTreeNode - var stu *stuTreeNode - var sol *solTreeNode - for _, v := range rand.Perm(n) { - cop = insertSol(cop, (1+v)*k) - stu = insertStu(stu, (1+v)*k) - sol = insertSol(sol, (1+v)*k) - } - return cop, stu, sol -} - -func returnSolTree(root *solTreeNode) string { - if root == nil { - return "" - } - ans := strconv.Itoa(root.Val) - if root.Left == nil && root.Right == nil { - return ans - } - if root.Left != nil { - ans += " " + returnSolTree(root.Left) - } - if root.Right != nil { - ans += " " + returnSolTree(root.Right) - } - return ans -} - -func returnStuTree(root *stuTreeNode) string { - if root == nil { - return "" - } - ans := strconv.Itoa(root.Val) - if root.Left == nil && root.Right == nil { - return ans - } - if root.Left != nil { - ans += " " + returnStuTree(root.Left) - } - if root.Right != nil { - ans += " " + returnStuTree(root.Right) - } - return ans -} - -func compareResults(stuResult, solResult bool, solTree1, solTree2 *solTreeNode) { - if stuResult != solResult { - tree1 := returnSolTree(solTree1) - tree2 := returnSolTree(solTree2) - lib.Fatalf("\nIsSameTree(\"%v\", \"%v\") == \"%v\" instead of \"%v\"\n\n", tree1, tree2, stuResult, solResult) - } -} - -func main() { - type node struct { - n int - k int - } - - table := []node{} - for i := 0; i < 15; i++ { - value := node{lib.RandIntBetween(10, 15), lib.RandIntBetween(1, 10)} - table = append(table, value) - } - - // Check for different trees - for _, arg := range table { - cop1, stuTree1, solTree1 := New(arg.n, arg.k) - cop2, stuTree2, solTree2 := New(arg.n, arg.k) - stuResult := IsSameTree(stuTree1, stuTree2) - solResult := correct.IsSameTree(solTree1, solTree2) - - compareResults(stuResult, solResult, cop1, cop2) - } - - // Check for same trees - for _, arg := range table { - cop1, stuTree1, solTree1 := New(arg.n, arg.k) - stuResult := IsSameTree(stuTree1, stuTree1) - solResult := correct.IsSameTree(solTree1, solTree1) - - compareResults(stuResult, solResult, cop1, cop1) - } -} diff --git a/go/tofix/func/sortlist/main.go b/go/tofix/func/sortlist/main.go deleted file mode 100644 index 9442a61d..00000000 --- a/go/tofix/func/sortlist/main.go +++ /dev/null @@ -1,147 +0,0 @@ -package correct - -import "strconv" - -type Nodelist struct { - Data int - Next *Nodelist -} - -func SortList(l *Nodelist, cmp func(a, b int) bool) *Nodelist { - head := l - if head == nil { - return nil - } - head.Next = SortList(head.Next, cmp) - - if head.Next != nil && cmp(head.Data, head.Next.Data) { - head = moveValue(head, cmp) - } - return head -} - -func moveValue(l *Nodelist, cmp func(a, b int) bool) *Nodelist { - p := l - n := l.Next - ret := n - - for n != nil && cmp(l.Data, n.Data) { - p = n - n = n.Next - } - p.Next = l - l.Next = n - return ret -} - -func listToString4(n *correct.Nodelist) (res string) { - it := n - for it != nil { - res += strconv.Itoa(it.Data) + "-> " - it = it.Next - } - res += "" - return -} - -func listToStringStu4(n *student.Nodelist) (res string) { - it := n - for it != nil { - res += strconv.Itoa(it.Data) + "-> " - it = it.Next - } - res += "" - return -} - -func ascending(a, b int) bool { - return a <= b -} - -func descending(a, b int) bool { - return a >= b -} - -func insertNodeListSolution(l *correct.Nodelist, data int) *correct.Nodelist { - n := &correct.Nodelist{Data: data} - it := l - if it == nil { - it = n - } else { - iterator := it - for iterator.Next != nil { - iterator = iterator.Next - } - iterator.Next = n - } - return it -} - -func insertNodeListStudent(l1 *student.Nodelist, data int) *student.Nodelist { - n1 := &student.Nodelist{Data: data} - it := l1 - if it == nil { - it = n1 - } else { - iterator := it - for iterator.Next != nil { - iterator = iterator.Next - } - iterator.Next = n1 - } - return it -} - -func compare(l2 *correct.Nodelist, l1 *student.Nodelist, f func(a, b int) bool) { - cmp := correct.GetName(f) - - for l1 != nil && l2 != nil { - if l1.Data != l2.Data { - lib.Fatalf("\nstudent list:%s\nlist:%s\nfunction cmp:%s\n\nSortListInsert() == %v instead of %v\n\n", - listToStringStu4(l1), listToString4(l2), cmp, l1.Data, l2.Data) - return - } - l1 = l1.Next - l2 = l2.Next - } -} - -func main() { - var linkSolutions *correct.Nodelist - var linkStudent *student.Nodelist - - type nodeTest struct { - data []int - functions []func(a, b int) bool - } - - table := []nodeTest{} - - for i := 0; i < 4; i++ { - table = append(table, nodeTest{ - data: lib.MultRandIntBetween(1, 1234), - functions: []func(a, b int) bool{ascending, descending}, - }) - } - - table = append(table, - nodeTest{ - data: []int{2, 5, 3, 1, 9, 6}, - functions: []func(a, b int) bool{ascending, descending}, - }) - - for _, arg := range table { - for _, item := range arg.data { - linkStudent = insertNodeListStudent(linkStudent, item) - linkSolutions = insertNodeListSolution(linkSolutions, item) - } - - for _, fn := range arg.functions { - studentResult := student.SortList(linkStudent, fn) - solutionResult := correct.SortList(linkSolutions, fn) - compare(solutionResult, studentResult, fn) - } - linkSolutions = &correct.Nodelist{} - linkStudent = &student.Nodelist{} - } -} diff --git a/go/tofix/func/test_addlinkednumbers.go b/go/tofix/func/test_addlinkednumbers.go deleted file mode 100644 index ef45c1af..00000000 --- a/go/tofix/func/test_addlinkednumbers.go +++ /dev/null @@ -1,118 +0,0 @@ -package main - -import ( - "strconv" - - "./correct" - "github.com/01-edu/public/go/lib" -) - -type stuNode = NodeAddL -type solNode = correct.NodeAddL - -func stuPushFront(node *stuNode, num int) *stuNode { - tmp := &stuNode{Num: num} - tmp.Next = node - return tmp -} - -func stuNumToList(num int) *stuNode { - var res *stuNode - for num > 0 { - res = stuPushFront(res, num%10) - num /= 10 - } - return res -} - -func stuListToNum(node *stuNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func solPushFront(node *solNode, num int) *solNode { - tmp := &solNode{Num: num} - tmp.Next = node - return tmp -} - -func solNumToList(num int) *solNode { - var res *solNode - for num > 0 { - res = solPushFront(res, num%10) - num /= 10 - } - return res -} - -func solListToNum(node *solNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func stuNodeString(node *stuNode) string { - var result string - for tmp := node; tmp != nil; tmp = tmp.Next { - result += strconv.Itoa(tmp.Num) - if tmp.Next != nil { - result += "->" - } - } - return result -} - -func solNodeString(node *solNode) string { - var result string - for tmp := node; tmp != nil; tmp = tmp.Next { - result += strconv.Itoa(tmp.Num) - if tmp.Next != nil { - result += "->" - } - } - return result -} - -func compareNodes(stuResult *stuNode, solResult *solNode, num1, num2 int) { - if stuResult == nil && solResult == nil { - return - } - if stuResult != nil && solResult == nil { - stuNum := stuNodeString(stuResult) - lib.Fatalf("\nAddLinkedNumbers(%v, %v) == %v instead of %v\n\n", - num1, num2, stuNum, "") - } - if stuResult == nil && solResult != nil { - solNum := solNodeString(solResult) - lib.Fatalf("\nAddLinkedNumbers(%v, %v) == %v instead of %v\n\n", - num1, num2, "", solNum) - } - stuNum := stuNodeString(stuResult) - solNum := solNodeString(solResult) - if stuNum != solNum { - lib.Fatalf("\nAddLinkedNumbers(%v, %v) == %v instead of %v\n\n", - num1, num2, stuNum, solNum) - } -} - -func main() { - args := [][2]int{{315, 592}} - - for i := 0; i < 15; i++ { - args = append(args, [2]int{lib.RandPosZ(), lib.RandPosZ()}) - } - - for _, arg := range args { - stuResult := AddLinkedNumbers(stuNumToList(arg[0]), stuNumToList(arg[1])) - solResult := correct.AddLinkedNumbers(solNumToList(arg[0]), solNumToList(arg[1])) - - compareNodes(stuResult, solResult, arg[0], arg[1]) - } -} diff --git a/go/tofix/func/test_changeorder.go b/go/tofix/func/test_changeorder.go deleted file mode 100644 index 786dfe3d..00000000 --- a/go/tofix/func/test_changeorder.go +++ /dev/null @@ -1,105 +0,0 @@ -package main - -import ( - "strconv" - - "./correct" - "github.com/01-edu/public/go/lib" -) - -type stuNode = NodeAddL -type solNode = correct.NodeAddL - -func stuPushFront(node *stuNode, num int) *stuNode { - tmp := &stuNode{Num: num} - tmp.Next = node - return tmp -} - -func stuNumToList(num int) *stuNode { - var res *stuNode - for num > 0 { - res = stuPushFront(res, num%10) - num /= 10 - } - return res -} - -func stuListToNum(node *stuNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func solPushFront(node *solNode, num int) *solNode { - tmp := &solNode{Num: num} - tmp.Next = node - return tmp -} - -func printSol(node *solNode) string { - var result string - for tmp := node; tmp != nil; tmp = tmp.Next { - result += strconv.Itoa(tmp.Num) - if tmp.Next != nil { - result += "->" - } - } - return result -} - -func solNumToList(num int) *solNode { - var res *solNode - for num > 0 { - res = solPushFront(res, num%10) - num /= 10 - } - return res -} - -func solListToNum(node *solNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func compareNodes(stuResult *stuNode, solResult *solNode, num1 int) { - solList := printSol(solNumToList(num1)) - if stuResult == nil && solResult == nil { - return - } - if stuResult != nil && solResult == nil { - stuNum := stuListToNum(stuResult) - lib.Fatalf("\nChangeorder(%s) == %v instead of %v\n\n", - solList, stuNum, "") - } - if stuResult == nil && solResult != nil { - solNum := solListToNum(solResult) - lib.Fatalf("\nChangeorder(%s) == %v instead of %v\n\n", - solList, "", solNum) - } - stuNum := stuListToNum(stuResult) - solNum := solListToNum(solResult) - if stuNum != solNum { - lib.Fatalf("\nChangeorder(%s) == %v instead of %v\n\n", - solList, stuNum, solNum) - } -} - -func main() { - table := []int{1234567} - table = append(table, lib.MultRandIntBetween(0, 1000000000)...) - - for _, arg := range table { - stuResult := Changeorder(stuNumToList(arg)) - solResult := correct.Changeorder(solNumToList(arg)) - - compareNodes(stuResult, solResult, arg) - } -} diff --git a/go/tofix/func/test_sortll.go b/go/tofix/func/test_sortll.go deleted file mode 100644 index 5cf9394a..00000000 --- a/go/tofix/func/test_sortll.go +++ /dev/null @@ -1,90 +0,0 @@ -package main - -import ( - "./correct" - "github.com/01-edu/public/go/lib" -) - -type stuNode = NodeAddL -type solNode = correct.NodeAddL - -func stuPushFront(node *stuNode, num int) *stuNode { - tmp := &stuNode{Num: num} - tmp.Next = node - return tmp -} - -func stuNumToList(num int) *stuNode { - var res *stuNode - for num > 0 { - res = stuPushFront(res, num%10) - num /= 10 - } - return res -} - -func stuListToNum(node *stuNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func solPushFront(node *solNode, num int) *solNode { - tmp := &solNode{Num: num} - tmp.Next = node - return tmp -} - -func solNumToList(num int) *solNode { - var res *solNode - for num > 0 { - res = solPushFront(res, num%10) - num /= 10 - } - return res -} - -func solListToNum(node *solNode) int { - var n int - - for tmp := node; tmp != nil; tmp = tmp.Next { - n = n*10 + tmp.Num - } - return n -} - -func compareNodes(stuResult *stuNode, solResult *solNode, num1 int) { - if stuResult == nil && solResult == nil { - return - } - if stuResult != nil && solResult == nil { - stuNum := stuListToNum(stuResult) - lib.Fatalf("\nSortll(%d) == %v instead of %v\n\n", - num1, stuNum, "") - } - if stuResult == nil && solResult != nil { - solNum := solListToNum(solResult) - lib.Fatalf("\nSortll(%d) == %v instead of %v\n\n", - num1, "", solNum) - } - stuNum := stuListToNum(stuResult) - solNum := solListToNum(solResult) - if stuNum != solNum { - lib.Fatalf("\nSortll(%d) == %v instead of %v\n\n", - num1, stuNum, solNum) - } -} - -func main() { - table := []int{123456} - table = append(table, lib.MultRandIntBetween(0, 1000000000)...) - for _, arg := range table { - stuResult := Sortll(stuNumToList(arg)) - solResult := correct.Sortll(solNumToList(arg)) - - compareNodes(stuResult, solResult, arg) - } -} diff --git a/go/tofix/raid3/correct/raid1aprog/raid1a.go b/go/tofix/raid3/correct/raid1aprog/raid1a.go deleted file mode 100644 index 029e4fbd..00000000 --- a/go/tofix/raid3/correct/raid1aprog/raid1a.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - "fmt" - "os" - "strconv" - - correct "../.." -) - -func main() { - if len(os.Args) == 3 { - firstArg, err := strconv.Atoi(os.Args[1]) - secondArg, err2 := strconv.Atoi(os.Args[2]) - - if err != nil || err2 != nil { - fmt.Println(err) - } - correct.Raid1a(firstArg, secondArg) - } else { - fmt.Println("too much arguments") - } -} diff --git a/go/tofix/raid3/correct/raid1bprog/raid1b.go b/go/tofix/raid3/correct/raid1bprog/raid1b.go deleted file mode 100644 index 62cc3850..00000000 --- a/go/tofix/raid3/correct/raid1bprog/raid1b.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - "fmt" - "os" - "strconv" - - correct "../.." -) - -func main() { - if len(os.Args) == 3 { - firstArg, err := strconv.Atoi(os.Args[1]) - secondArg, err2 := strconv.Atoi(os.Args[2]) - - if err != nil || err2 != nil { - fmt.Println(err) - } - correct.Raid1b(firstArg, secondArg) - } else { - fmt.Println("too much arguments") - } -} diff --git a/go/tofix/raid3/correct/raid1cprog/raid1c.go b/go/tofix/raid3/correct/raid1cprog/raid1c.go deleted file mode 100644 index e9b3c56d..00000000 --- a/go/tofix/raid3/correct/raid1cprog/raid1c.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - "fmt" - "os" - "strconv" - - correct "../.." -) - -func main() { - if len(os.Args) == 3 { - firstArg, err := strconv.Atoi(os.Args[1]) - secondArg, err2 := strconv.Atoi(os.Args[2]) - - if err != nil || err2 != nil { - fmt.Println(err) - } - correct.Raid1c(firstArg, secondArg) - } else { - fmt.Println("too much arguments") - } -} diff --git a/go/tofix/raid3/correct/raid1dprog/raid1d.go b/go/tofix/raid3/correct/raid1dprog/raid1d.go deleted file mode 100644 index 1836bc4a..00000000 --- a/go/tofix/raid3/correct/raid1dprog/raid1d.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - "fmt" - "os" - "strconv" - - correct "../.." -) - -func main() { - if len(os.Args) == 3 { - firstArg, err := strconv.Atoi(os.Args[1]) - secondArg, err2 := strconv.Atoi(os.Args[2]) - - if err != nil || err2 != nil { - fmt.Println(err) - } - correct.Raid1d(firstArg, secondArg) - } else { - fmt.Println("too much arguments") - } -} diff --git a/go/tofix/raid3/correct/raid1eprog/raid1e.go b/go/tofix/raid3/correct/raid1eprog/raid1e.go deleted file mode 100644 index 4096d544..00000000 --- a/go/tofix/raid3/correct/raid1eprog/raid1e.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - "fmt" - "os" - "strconv" - - correct "../.." -) - -func main() { - if len(os.Args) == 3 { - firstArg, err := strconv.Atoi(os.Args[1]) - secondArg, err2 := strconv.Atoi(os.Args[2]) - - if err != nil || err2 != nil { - fmt.Println(err) - } - correct.Raid1e(firstArg, secondArg) - } else { - fmt.Println("too much arguments") - } -}