#! /bin/sh
# This script tests: pnmpsnr
# Also requires: pbmmake


tmpdir=${tmpdir:-/tmp}

w_pbm=${tmpdir}/w.pbm
b_pbm=${tmpdir}/b.pbm

pbmmake -w 10 10 > ${w_pbm}
pbmmake -b 10 10 > ${b_pbm}

echo "Test 1"

pnmpsnr  ${w_pbm}  ${b_pbm} -machine
pnmpsnr  ${w_pbm}  ${w_pbm} -machine
pnmpsnr  ${w_pbm}  ${w_pbm} -machine -max=1000
pnmpsnr  ${w_pbm}  ${w_pbm} -target=1000

echo "Test 2"

pnmpsnr  testimg.ppm  testimg.ppm -machine -max=300
pnmpsnr  testimg.ppm  testimg.ppm -target=1000
pnmpsnr  testimg.ppm  testimg.ppm -target1=1000 -target2=1000 -target3=1000


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

pnmpsnr ${b_pbm} ${w_pbm} ${b_pbm}     > ${test_out} || \
  echo -n "Expected failure 1"
  test -s ${test_out}; echo " "$?
  rm -f ${test_out}

pnmpsnr ${b_pbm}                       > ${test_out} || \
  echo -n "Expected failure 2"
  test -s ${test_out}; echo " "$?
  rm -f ${test_out}

pnmpsnr ${b_pbm} ${w_pbm} -target1=100 > ${test_out} || \
  echo -n "Expected failure 3"
  test -s ${test_out}; echo " "$?
  rm -f ${test_out}

pnmpsnr                   -machine     > ${test_out} || \
  echo -n "Expected failure 4"
  test -s ${test_out}; echo " "$?
  rm -f ${test_out}

rm ${b_pbm} ${w_pbm}
