#!/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

# find game file
gamefile=$here/game.data
if [ ! -r $gamefile ]; then
  gamefile=$here/baseline/game.data
  if [ ! -r $gamefile ]; then
    fail;
  fi
fi

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

cat > test.test 2>/dev/null << 'endOfSampleInput'

DeedSpace
 Key DeedSpace end
 DeedPtr Key Someplace end end
end
FreeSpace     Key FreeSpace end end
GotoJailSpace Key GotoJailSpace end end
JailSpace     Key JailSpace     end end
GoSpace       Key GoSpace       end 200 end
TaxSpace      Key TaxSpace      end 100 end
ChanceSpace   Key ChanceSpace   end end
ChestSpace    Key ChestSpace    end end

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

cat $gamefile test.test | /public/public/monopoly/diffpp > test.in
if test $? -ne 0 ; then fail; fi
  
/public/public/monopoly/diffpp > test.ok 2>/dev/null << 'endOfExpectedOutput'

DeedSpace
 Key DeedSpace end
 DeedPtr Key Someplace end end
end

FreeSpace     Key FreeSpace end end
GotoJailSpace Key GotoJailSpace end end
JailSpace     Key JailSpace     end end
GoSpace       Key GoSpace       end 200 end
TaxSpace      Key TaxSpace      end 100 end
ChanceSpace   Key ChanceSpace   end end
ChestSpace    Key ChestSpace    end 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
