Files
42_INT_09_piscine_cpp/d01/ex04/unitests/test.sh

84 lines
1.5 KiB
Bash

#!/bin/bash
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"test1 success"$ENDCO
else
echo -e $B_RED"test1 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 3 ########################################
TESTNAME="test4"
FIND=".."
REPLACEMENT="++"
CONTENT=$(cat << EOF
...................................................;
. . . . . . . . . . . . . . . . . . . . . . . . . .;
EOF
)
RESULT=$(cat << EOF
++++++++++++++++++++++++++++++++++++++++++++++++++.;
. . . . . . . . . . . . . . . . . . . . . . . . . .;
EOF
)
run_tests