#! /bin/bash
# This script tests: pnmtile
# Also requires: pamcat


# Test 1.  Should print 4228632379 259
pnmtile 40 50 testgrid.pbm | cksum

tmpdir=${tmpdir:-/tmp}

# Test 2.  Compare 2x2 tile images produced by pnmtile and pamcat
# Should print 0
testimg2_ppm=${tmpdir}/testimg2.ppm
testimg4_ppm=${tmpdir}/testimg4.ppm

pnmtile 454 298 testimg.ppm > ${testimg4_ppm} &&
pamcat -lr testimg.ppm testimg.ppm > ${testimg2_ppm} &&
pamcat -tb ${testimg2_ppm} ${testimg2_ppm} | pamtopnm --assume |\
cmp -s - ${testimg4_ppm}
echo ${PIPESTATUS[@]} ":" $?

rm ${testimg2_ppm} ${testimg4_ppm}

test_out=${tmpdir}/test_out

echo 1>&2
echo "Invalid command-line argument combinations." 1>&2
echo "Error messages should appear below the line." 1>&2
echo "-----------------------------------------------------------" 1>&2

pnmtile 100 testgrid.pbm > ${test_out} || \
  printf "Expected failure 1 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pnmtile 100 0 testgrid.pbm > ${test_out} || \
  printf "Expected failure 2 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pnmtile 0 100 testgrid.pbm > ${test_out} || \
  printf "Expected failure 3 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pnmtile 100 100 100 testgrid.pbm > ${test_out} || \
  printf "Expected failure 4 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}
