Files
42_INT_09_piscine_cpp/d01/ex04/unitests/test.sh
2022-02-07 19:27:30 +01:00

99 lines
1.7 KiB
Bash

#!/bin/bash
cd $(dirname $0)
source ./colors.sh
mkdir -p test_log
# RUN TESTS
function run_tests
{
touch $TESTNAME
echo "$CONTENT" > $TESTNAME
../sed $TESTNAME "$FIND" "$REPLACEMENT"
OUTPUT=$( cat $TESTNAME.replace )
if [ "$OUTPUT" == "$RESULT" ]
then
echo -e $B_GREEN"$TESTNAME success"$ENDCO
else
echo -e $B_RED"$TESTNAME faillure"$ENDCO
fi
mv $TESTNAME $TESTNAME.replace ./test_log
}
# TEST 1 ########################################
TESTNAME="test1"
FIND=" "
REPLACEMENT="hello"
CONTENT=" "
RESULT="hello"
run_tests
# TEST 2 ########################################
TESTNAME="test2"
FIND="ie"
REPLACEMENT="++"
CONTENT=$(cat << EOF
ce fichier
contient
plusieurs lignes
les unes au dessus des autres
youhouuu ioieux
EOF
)
RESULT=$(cat << EOF
ce fich++r
cont++nt
plus++urs lignes
les unes au dessus des autres
youhouuu io++ux
EOF
)
run_tests
# TEST 3 ########################################
TESTNAME="test3"
FIND="."
REPLACEMENT="+"
CONTENT=$(cat << EOF
....................................................;
EOF
)
RESULT=$(cat << EOF
++++++++++++++++++++++++++++++++++++++++++++++++++++;
EOF
)
run_tests
# TEST 4 ########################################
TESTNAME="test4"
FIND=".."
REPLACEMENT="++"
CONTENT=$(cat << EOF
...................................................;
. . . . . . . . . . . . . . . . . . . . . . . . . .;
EOF
)
RESULT=$(cat << EOF
++++++++++++++++++++++++++++++++++++++++++++++++++.;
. . . . . . . . . . . . . . . . . . . . . . . . . .;
EOF
)
run_tests
# TEST 5 ########################################
TESTNAME="test5"
FIND="mdr"
REPLACEMENT="|||"
CONTENT=$(cat << EOF
test de mmdr foubar
EOF
)
RESULT=$(cat << EOF
test de m||| foubar
EOF
)
run_tests