#!/bin/bash # This script is used to test the program run_test_case() { # echo "Test case $1" MAX=0 MIN=10000000 AVG=0 ITER=$2 N=$1 MAX_ARGS="" for i in $(seq 1 $ITER) do ARG=$(seq -1000 1000 | shuf -n $N) OPS=$(./push_swap $ARG | wc -l) OK=$(./push_swap $ARG | ./checker_linux $ARG) if [ $OPS -gt $MAX ] then MAX_ARGS="Max: $OPS | $(echo $ARG | tr -d '\n')" MAX=$OPS fi if [ $OPS -lt $MIN ] then MIN=$OPS fi AVG=$((AVG + OPS)) if [ $OK != "OK" ] then echo "================================" echo "Error" echo "Args: $ARG" echo "Ops: $OPS" echo "Checker: $OK" echo "================================" return fi done AVG=$((AVG / ITER)) # echo -e "$1,\t$AVG,\t$MAX,\t$MIN" echo "List size: $1 Iterations: $ITER avg: $AVG max: $MAX min: $MIN" # echo "Max: $MAX" # echo "Min: $MIN" # echo "Average: $AVG" # echo "--------------------------------" # echo "Max Args: $MAX_ARGS" # echo "--------------------------------" # echo "" } run_test_case 500 1000