#!/bin/bash

cmd="$1"
shift
args="$@"

pass=0

run_test(){
	num=$1
	expected=$2
	got=$(echo $3|"$cmd" "$args")
	if cmp -s <(echo $got) <(echo $expected); then
		echo -e "Test #$num: \e[1;32mPASS\e[0m"
		pass=$((pass + 1))
	else
		echo -e "Test #$num: \e[1;31mFAIL\e[0m. Expected: $expected  got: $got"
	fi
}

# Test 1
run_test 1 '6' '0'

# Test 2
run_test 2 '10' '1'

# Test 3
run_test 3 '73' '10'

# Test 4
run_test 4 '5296' '100'

# Test 5
run_test 5 '8655' '125'

# Test 6
run_test 6 '10297' '140'

# Test 7
run_test 7 '11997' '149'

# Test 8
run_test 8 '224' '15'

# Test 9
run_test 9 '11932' '150'

# Test 10
run_test 10 '12' '2'

# Test 11
run_test 11 '276' '20'

# Test 12
run_test 12 '26' '3'

# Test 13
run_test 13 '508' '30'

# Test 14
run_test 14 '22' '4'

# Test 15
run_test 15 '1029' '42'

# Test 16
run_test 16 '44' '5'

# Test 17
run_test 17 '34' '6'

# Test 18
run_test 18 '70' '7'

# Test 19
run_test 19 '3020' '75'

# Test 20
run_test 20 '54' '8'

# Test 21
run_test 21 '100' '9'

# Test 22
run_test 22 '5748' '99'

echo "$pass/$num passed"