#! /bin/sh
# This script tests: pgmhist
# Also requires: pgmramp


# Ignore differences in spaces.

echo "Test 1"

pgmramp -maxval=8 -lr 8 2 | pgmhist | \
  sed -e 's/  */ /g' -e 's/ *$//'

pgmhist testgrid.pbm | \
  sed -e 's/  */ /g' -e 's/ *$//'

echo "Test 2"

pgmramp -lr 256 1 | pgmhist -machine -median   | \
  sed -e 's/  */ /g' -e 's/ *$//'

pgmramp -lr 256 1 | pgmhist -machine -quartile | \
  sed -e 's/  */ /g' -e 's/ *$//'

pgmramp -lr 256 1 | pgmhist -machine -decile   | \
  sed -e 's/  */ /g' -e 's/ *$//'

echo "Test Invalid"

tmpdir=${tmpdir:-/tmp}
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

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

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

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

pgmhist testimg.ppm > ${test_out} || \
  printf "Expected failure 4 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}
