#!/bin/sh
################################################################
#
#  [# Edit, Date, User, Module #]
#
#  test-script for monopoly-template
#
here=`pwd`
if test $? -ne 0 ; then exit 1; fi
tmp=/tmp/$$
mkdir $tmp
if test $? -ne 0 ; then exit 1; fi
cd $tmp
if test $? -ne 0 ; then exit 1; fi

fail()
{
	echo FAILED 1>&2
	cd $here
	chmod u+w `find $tmp -type d -print`
	rm -rf $tmp
	exit 1
}

pass()
{
	cd $here
	chmod u+w `find $tmp -type d -print`
	rm -rf $tmp
	exit 0
}

trap 'fail' 1 2 3 15

###  Enter argument list for `monopoly' here ###
arglist='testKey'

/public/public/monopoly/diffpp > test.in 2>/dev/null << 'endOfSampleInput'

Key alpha end
Key beta end

Key gamma end
Key delta end

Key epsilon end
Key epsilon end

Key alpha end
Key beta end

Key gamma end
Key delta end

Key epsilon end
Key epsilon end

Key alpha end
Key beta end

Key gamma end
Key delta end

Key epsilon end
Key epsilon end

Key alpha end
Key beta end

endOfSampleInput
if test $? -ne 0 ; then fail; fi

/public/public/monopoly/diffpp > test.ok 2>/dev/null << 'endOfExpectedOutput'

Key alpha end
a == b ? no
Key beta end

Key gamma end
a == b ? no
Key delta end

Key epsilon end
a == b ? yes
Key epsilon end

Key alpha end
a == b ? no
Key beta end

Key gamma end
a == b ? no
Key delta end

Key epsilon end
a == b ? yes
Key epsilon end

Key alpha end
a == b ? no
Key beta end

Key gamma end
a == b ? no
Key delta end

Key epsilon end
a == b ? yes
Key epsilon end

Key alpha end
a == b ? no
Key beta end

endOfExpectedOutput
if test $? -ne 0 ; then fail; fi

$here/monopoly $arglist < test.in | /public/public/monopoly/diffpp > test.out 2>/dev/null
if test $? -ne 0 ; then fail; fi

diff test.ok test.out
if test $? -ne 0 ; then fail; fi

# it probably worked
pass
