#!/bin/sh
# Test searchsolve

trap 'rm -fr $tmpfiles' 1 2 3 15

LANGUAGE=
LC_ALL=
LC_MESSAGES=
LANG=
export LANGUAGE LC_ALL LC_MESSAGES LANG

# Push the expected data to a file...
tmpfiles="searchsolve-test.ok"
cat <<EOF > searchsolve-test.ok
rawr:
rawr***
rwar***
*******
rr*****
*aw****
**wa***
***rr**

bah:
****hb*
****aa*
****bh*
*******
*******
*******
*******

hah:
*******
*******
*****h*
****a**
***h***
*******
*******

EOF

tmpfiles="$tmpfiles searchsolve-test.search"
cat <<EOF > searchsolve-test.search
7 7
rawrhbz
rwaraaz
asfabhz
rreaafz
zawhfdz
zzwadfz
zzzrrdz
EOF

tmpfiles="$tmpfiles searchsolve-test.words"
cat <<EOF > searchsolve-test.words
3
rawr
bah
hah
EOF

tmpfiles="$tmpfiles searchsolve-test.out"
: ${SEARCHVIEW=searchview}
${SEARCHVIEW} searchsolve-test.search searchsolve-test.words | tr -d '\r' > searchsolve-test.out

: ${DIFF=diff}
${DIFF} searchsolve-test.ok searchsolve-test.out

result=$?

# Failure generally generates lame information
# To account for this, copy the files to a log
# Directory
if (test ! -d log) then
    mkdir log
fi
if (test ! -d log/searchview-1) then
    mkdir log/searchview-1
fi

cp searchsolve-test.search log/searchview-1/searchview-1.search
cp searchsolve-test.words log/searchview-1/searchview-1.words
cp searchsolve-test.ok log/searchview-1/searchview-1.ok
cp searchsolve-test.out log/searchview-1/searchview-1.out

rm -fr $tmpfiles


exit $result
