#!/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
bab : (0,1) (2,1)
bab : (2,1) (0,1)
bab : (1,0) (1,2)
bab : (1,2) (1,0)
bab : (0,0) (2,2)
bab : (2,2) (0,0)
bab : (2,0) (0,2)
bab : (0,2) (2,0)
EOF

tmpfiles="$tmpfiles searchsolve-test.search"
cat <<EOF > searchsolve-test.search
3 3
bbb
bab
bbb
EOF

tmpfiles="$tmpfiles searchsolve-test.words"
cat <<EOF > searchsolve-test.words
1
bab
EOF

tmpfiles="$tmpfiles searchsolve-test.out"
: ${SEARCHSOLVE=searchsolve}
${SEARCHSOLVE} 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/searchsolve-3) then
    mkdir log/searchsolve-3
fi

cp searchsolve-test.search log/searchsolve-3/searchsolve-3.search
cp searchsolve-test.words log/searchsolve-3/searchsolve-3.words
cp searchsolve-test.ok log/searchsolve-3/searchsolve-3.ok
cp searchsolve-test.out log/searchsolve-3/searchsolve-3.out

rm -fr $tmpfiles


exit $result
