#!/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='testMemory'

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

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

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

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

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List
TestObject a end
TestObject b end
TestObject c end
TestObject d end
TestObject e end
end

List 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
