テスター

GitHub - nafuka11/push_swap_tester: A simple script for testing push_swap

python3 push_swap_tester.py -l 100 -c 500
python3 push_swap_tester.py -l 500 -c 500

レビュー項目

引数3個のとき操作の回数が3回以内 引数5個のとき操作の回数が12回以内必須

引数100、500のときは以下のような点数がつく

点数 \ 引数 100 500
5 700以下 5500以下
4 900以下 7000以下
3 1100以下 8500以下

参考になりそうなもの

42Tokyo-push_swap

push_swapを理解するためのスライド

Checkerがそもそも使えない時の対処

Mac「開発元を検証できないため開けません」を解決する方法! App Storeからダウンロードされないアプリを実行しよう

エラーケース

./push_swap ""
./push_swap "    "
などの何も入ってないパターンはerror
./push_swap
のみで実行した場合は何も表示しない

visualizar

GitHub - Bluegales/push-swap-pain: Online push-swap visualizer

簡単な使い方
1, touch visual.sh
2, 下のやつを貼り付け
3, bash visual.sh
#!/bin/bash
NBR_COUNT=100
##
NBR=$(seq 1 $NBR_COUNT | sort -R | tr '\\n' ' ' | rev | cut -c 2- | rev)
#NBR="0 1 2 3 4 5 6 7 8 9"
#NBR=$(seq 1 $NBR_COUNT | tr '\\n' ' ' | rev | cut -c 2- | rev)
CMD=$( ./push_swap $NBR)
NBR_LINK=$( echo "$NBR" | tr ' ' ',' )
CMD_LINK=$( echo "$CMD" | sed -e"s/rra/g/g" -e"s/rrb/h/g" \\
-e"s/rrr/i/g" -e"s/sa/a/g" -e"s/sb/b/g" -e"s/ss/c/g" \\
-e"s/ra/d/g" -e"s/rb/e/g" -e"s/rr/f/g"  -e"s/pa/j/g" -e"s/pb/k/g" | tr -d '\\n')
CMD_COUNT=${#CMD_LINK}
RESULT=$( echo $CMD | ./checker_* $NBR )
echo "Operations: $CMD_COUNT"
echo "Result $RESULT"
open "<https://kaaaaakun.github.io/push-swap-pain/?&nbr=$NBR_LINK&cmd=$CMD_LINK>"

テストケース

簡単な使い方
1, touch test.sh
2, 下のやつを貼り付け
3, bash test.sh
#!/bin/bash

echo "Tests using tester"
[ ! -d push_swap_tester ] && git clone <https://github.com/nafuka11/push_swap_tester.git> || echo "already cloned"

cd push_swap_tester
echo -e "\\033[31m\\033[47m******************引数3のとき******************\\033[m\\033[m"
python3 push_swap_tester.py -l 3
echo -e "\\033[31m\\033[47m******************引数5のとき******************\\033[m\\033[m"
python3 push_swap_tester.py -l 5
echo -e "\\033[31m\\033[47m******************引数100のとき******************\\033[m\\033[m"
python3 push_swap_tester.py -l 100
echo -e "\\033[31m\\033[47m******************引数500のとき******************\\033[m\\033[m"
python3 push_swap_tester.py -l 500