diff --git a/v2/csvutils/test/csvrmcol/test_csvrmcol.sh b/v2/csvutils/test/csvrmcol/test_csvrmcol.sh new file mode 100644 index 0000000000000000000000000000000000000000..33b9ade7301cdfe582ff59bcf52e523018dd0c48 --- /dev/null +++ b/v2/csvutils/test/csvrmcol/test_csvrmcol.sh @@ -0,0 +1,147 @@ +#!/bin/bash +#: Title : test_csvrmcol +#: Date : 2020-04-27 +#: Author : "Vesa Oikonen" <vesa.oikonen@utu.fi> +#: Options : None + +# Set the name of executable to test +if [ -n "${OS+1}" ] && [ "$OS" = "Windows_NT" ]; then +EXT=.exe; +else +EXT=; +fi +PROGRAM=../../csvrmcol$EXT; +if [ ! -f $PROGRAM ]; then + printf "Failed: executable does not exist.\n" + exit 1 +fi + +printf "=====================================================================\n" +printf "creating test data for %s\n" $PROGRAM +printf "=====================================================================\n" + + +if [ ! -f data1.tsv ] || [ ! -f data1.csv ] || [ ! -f correct_data1.csv ]; then + printf "No time[seconds] parent[kBq/cc]\n" > data1.tsv + printf "1 0.5 0.04\n" >> data1.tsv + printf "2 1.5 0.02\n" >> data1.tsv + printf "3 2.5 0.08\n" >> data1.tsv + printf "4 3.5 0.13\n" >> data1.tsv + + printf "No,time[seconds],parent[kBq/cc]\n" > data1.csv + printf "1,0.5,0.04\n" >> data1.csv + printf "2,1.5,0.02\n" >> data1.csv + printf "3,2.5,0.08\n" >> data1.csv + printf "4,3.5,0.13\n" >> data1.csv + + printf "time[seconds],parent[kBq/cc]\n" > correct_data1.csv + printf "0.5,0.04\n" >> correct_data1.csv + printf "1.5,0.02\n" >> correct_data1.csv + printf "2.5,0.08\n" >> correct_data1.csv + printf "3.5,0.13\n" >> correct_data1.csv +fi + +if [ ! -f data2.csv ] || [ ! -f correct_data2a.csv ] || [ ! -f correct_data2b.csv ]; then + printf "time[seconds],tac1[kBq/cc],tac2\n" > data2.csv + printf "0.5,0.04,0.14\n" >> data2.csv + printf "1.5,0.02,0.12\n" >> data2.csv + printf "2.5,0.08,0.18\n" >> data2.csv + printf "3.5,0.13,0.23\n" >> data2.csv + + printf "time[seconds],tac1[kBq/cc]\n" > correct_data2a.csv + printf "0.5,0.04\n" >> correct_data2a.csv + printf "1.5,0.02\n" >> correct_data2a.csv + printf "2.5,0.08\n" >> correct_data2a.csv + printf "3.5,0.13\n" >> correct_data2a.csv + + printf "time[seconds],tac2[kBq/cc]\n" > correct_data2b.csv + printf "0.5,0.14\n" >> correct_data2b.csv + printf "1.5,0.12\n" >> correct_data2b.csv + printf "2.5,0.18\n" >> correct_data2b.csv + printf "3.5,0.23\n" >> correct_data2b.csv +fi + + + +printf "\n\n" +printf "=====================================================================\n" +printf "testing %s\n" $PROGRAM +printf "=====================================================================\n" + + +printf "\n 1.0.0 \n" +printf " Test case: Remove first column from CSV file. \n" +printf " Expected result: Correct CSV saved. \n" + +rm -f output.csv + +$PROGRAM data1.csv 1 output.csv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n ok \n" +# cat output.csv +tacmatch correct_data1.csv output.csv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n passed. \n\n" + + +printf "\n 1.0.1 \n" +printf " Test case 1: Remove first column from TSV file. \n" +printf " Test case 2: Overwrite input data file. \n" +printf " Expected result: Correct TSV saved. \n" + +cp -f data1.tsv output.tsv + +$PROGRAM output.tsv 1 +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n ok \n" +# cat output.tsv +tacmatch correct_data1.csv output.tsv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n passed. \n\n" + +cp -f data1.tsv output.tsv + +$PROGRAM output.tsv 1 output.tsv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n ok \n" +# cat output.tsv +tacmatch correct_data1.csv output.tsv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n passed. \n\n" + + + +printf "\n 1.1.0 \n" +printf " Test case: Remove 3rd column from CSV file. \n" +printf " Expected result: Correct CSV saved. \n" + +rm -f output.csv + +$PROGRAM data2.csv 3 output.csv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n ok \n" +# cat output.csv +tacmatch correct_data2a.csv output.csv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n passed. \n\n" + +printf "\n 1.1.1 \n" +printf " Test case: Remove 2nd column from CSV file. \n" +printf " Expected result: Correct CSV saved. \n" + +rm -f output.csv + +$PROGRAM data2.csv 2 output.csv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n ok \n" +# cat output.csv +tacmatch correct_data2b.csv output.csv +if [ $? -ne 0 ] ; then printf "\nFailed!\n" ; exit 1 ; fi +printf "\n passed. \n\n" + + + +printf "=====================================================================\n" +printf " All passed!\n" +printf "=====================================================================\n" +exit 0