# this test creates a random input and run it
# it runs once, then create a serialized quadtree then rerun from the serialization
# if no crashes, the test is ok
set -e

TMPINFILE=$(mktemp -t libhypersmooth.XXXXXX)
for i in `seq 1 10000`
do
cat >> $TMPINFILE << EOF
$(($RANDOM % 90)).$(($RANDOM)) $(($RANDOM % 90)).$(($RANDOM))  $(($RANDOM % 200)).$(($RANDOM)) 
EOF
done

ulimit -c unlimited

TMPFILE1=$(mktemp -t libhypersmooth.XXXXXX)
TMPFILE2=$(mktemp -t libhypersmooth.XXXXXX)
TMPDUMPFILE=$(mktemp -t libhypersmooth.XXXXXX)
../bin/hyantesite -w 0,0,90,90 -f disk -r 100 -s 100x100 -i $TMPINFILE -o $TMPFILE1
../bin/hyantesite -w 0,0,90,90 -f disk -r 100 -s 100x100 -i $TMPINFILE -d -o $TMPDUMPFILE
../bin/hyantesite -w 0,0,90,90 -f disk -r 100 -s 100x100 -i $TMPDUMPFILE -o $TMPFILE2 -p
if diff $TMPFILE1 $TMPFILE2
then
    rm -f $TMPFILE1 $TMPFILE2 $TMPDUMPFILE
    exit 0
else
    exit 1
fi

