Browse Source

test(better-cat): add tests for exercise

pull/1853/head
eslopfer 1 year ago
parent
commit
872f352e46
  1. 42
      sh/tests/better-cat_test.sh

42
sh/tests/better-cat_test.sh

@ -0,0 +1,42 @@
#!/usr/bin/env bash
# Unofficial Bash Strict Mode
set -euo pipefail
IFS='
'
script_dir=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd)
rm -rf better-cat-files
mkdir better-cat-files
cd better-cat-files
for i in {1..3}; do
echo "This is line $i of file2" >> "file2.txt"
done
for i in {1..10}; do
echo "This is line $i of file3" >> "file3.txt"
echo "This is line $i of commented" >> "commented.txt"
done
echo "This is the content of file1" > "file1.txt"
echo "# commented" > "commented.txt"
challenge() {
submitted=$(bash "$script_dir"/student/better-cat.sh "$@")
expected=$(bash "$script_dir"/solutions/better-cat.sh "$@")
diff <(echo "$submitted") <(echo "$expected")
}
challenge "file1.txt"
challenge "file1.txt" "file2.txt" "file3.txt"
challenge *.txt
challenge
challenge -c "commented.txt"
challenge -l "file1.txt"
challenge -r "file1.txt"
challenge -cl "commented.txt"
# add test for file that doesn't exist
cd ..
rm -rf better-cat-files
Loading…
Cancel
Save