2020-08-03 11:58:43 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# =============================== ENVIRONMENT ================================ #
|
|
|
|
|
|
|
|
if [[ ${1} ]]; then
|
2020-08-03 19:09:39 +02:00
|
|
|
cmd="${1}"
|
|
|
|
else
|
|
|
|
echo 1>&2 "execute tests.sh to run all tests"; exit 1
|
2020-08-03 11:58:43 +02:00
|
|
|
fi
|
2020-08-03 19:09:39 +02:00
|
|
|
#if [[ ${2} ]]; then
|
2020-08-04 13:50:56 +02:00
|
|
|
# version="${2}"
|
|
|
|
# majorversion="${2%%.*}"
|
2020-08-03 19:09:39 +02:00
|
|
|
#fi
|
2020-08-03 11:58:43 +02:00
|
|
|
|
2020-08-03 19:09:39 +02:00
|
|
|
t="$(basename "${BASH_SOURCE[0]}" .sh)"
|
2020-08-03 11:58:43 +02:00
|
|
|
cd "${BASH_SOURCE%/*}/" || exit 1
|
|
|
|
mkdir -p "tmp/${t}"
|
|
|
|
|
|
|
|
# =================================== DATA =================================== #
|
|
|
|
|
|
|
|
cat << "DATA" > "tmp/${t}/${t}.csv"
|
|
|
|
a,b,c
|
|
|
|
1,2,3
|
|
|
|
0,0,0
|
|
|
|
$,\,'
|
|
|
|
DATA
|
|
|
|
|
|
|
|
cat << "DATA" > "tmp/${t}/${t}.transform"
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"op": "core/column-addition",
|
|
|
|
"engineConfig": {
|
|
|
|
"mode": "row-based"
|
|
|
|
},
|
|
|
|
"newColumnName": "apply",
|
|
|
|
"columnInsertIndex": 2,
|
|
|
|
"baseColumnName": "b",
|
|
|
|
"expression": "grel:value.replace('2','TEST')",
|
|
|
|
"onError": "set-to-blank"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
DATA
|
|
|
|
|
|
|
|
# ================================= ASSERTION ================================ #
|
|
|
|
|
2020-08-04 13:50:56 +02:00
|
|
|
#if [[ "${version}" = "2.7" ]]; then
|
2020-08-03 11:58:43 +02:00
|
|
|
cat << "DATA" > "tmp/${t}/${t}.assert"
|
|
|
|
a b apply c
|
|
|
|
1 2 TEST 3
|
|
|
|
0 0 0 0
|
|
|
|
$ \ \ '
|
|
|
|
DATA
|
2020-08-03 19:09:39 +02:00
|
|
|
#else
|
|
|
|
#fi
|
2020-08-03 11:58:43 +02:00
|
|
|
|
|
|
|
# ================================== ACTION ================================== #
|
|
|
|
|
2020-08-03 19:09:39 +02:00
|
|
|
${cmd} --create "tmp/${t}/${t}.csv"
|
|
|
|
${cmd} --apply "tmp/${t}/${t}.transform" "${t}"
|
|
|
|
${cmd} --export "${t}" --output "tmp/${t}/${t}.output"
|
2020-08-03 11:58:43 +02:00
|
|
|
|
|
|
|
# =================================== TEST =================================== #
|
|
|
|
|
|
|
|
diff -u "tmp/${t}/${t}.assert" "tmp/${t}/${t}.output"
|