O = output

test:
	mkdir -p $O
	paraFlow arrayAppend.pf > $O/arrayAppend
	diff expected/arrayAppend $O/arrayAppend
	paraFlow assign.pf > $O/assign
	diff expected/assign $O/assign
	paraFlow case.pf > $O/case
	diff expected/case $O/case
	paraFlow classOfOne.pf > $O/classOfOne
	diff expected/classOfOne $O/classOfOne
	paraFlow cmp.pf > $O/cmp
	diff expected/cmp $O/cmp
	paraFlow comments.pf > $O/comments
	diff expected/comments $O/comments
	paraFlow compound.pf > $O/compound
	diff expected/compound $O/compound
	paraFlow constFold.pf > $O/constFold
	diff expected/constFold $O/constFold
	paraFlow defaultInit.pf > $O/defaultInit
	diff expected/defaultInit $O/defaultInit
	paraFlow defaultParam.pf > $O/defaultParam
	diff expected/defaultParam $O/defaultParam
	paraFlow emptyFlow.pf > $O/emptyFlow
	diff expected/emptyFlow $O/emptyFlow
	paraFlow emptyFunc.pf > $O/emptyFunc
	diff expected/emptyFunc $O/emptyFunc
	paraFlow fileTest.pf > $O/fileTest
	diff expected/fileTest $O/fileTest
	paraFlow foreach.pf > $O/foreach
	diff expected/foreach $O/foreach
	paraFlow functionPointer.pf > $O/functionPointer
	diff expected/functionPointer $O/functionPointer
	paraFlow genericSwap.pf > $O/genericSwap
	diff expected/genericSwap $O/genericSwap
	paraFlow hello.pf > $O/hello
	diff expected/hello $O/hello
	paraFlow if.pf > $O/if
	diff expected/if $O/if
	paraFlow impliedSelf.pf > $O/impliedSelf
	diff expected/impliedSelf $O/impliedSelf
	paraFlow initMethod.pf > $O/initMethod
	diff expected/initMethod $O/initMethod
	paraFlow initVars.pf > $O/initVars
	diff expected/initVars $O/initVars
	paraFlow keyVal.pf > $O/keyVal
	diff expected/keyVal $O/keyVal
	paraFlow localFlow.pf > $O/localFlow
	diff expected/localFlow $O/localFlow
	paraFlow memberForeach.pf > $O/memberForeach
	diff expected/memberForeach $O/memberForeach
	paraFlow mixedDeclare.pf > $O/mixedDeclare
	diff expected/mixedDeclare $O/mixedDeclare
	paraFlow multiAssign.pf > $O/multiAssign
	diff expected/multiAssign $O/multiAssign
	paraFlow neg.pf > $O/neg
	diff expected/neg $O/neg
	paraFlow numExp.pf > $O/numExp
	diff expected/numExp $O/numExp
	paraFlow oneObj.pf > $O/oneObj
	diff expected/oneObj $O/oneObj
	paraFlow oneParam.pf > $O/oneParam
	diff expected/oneParam $O/oneParam
	paraFlow oneVar.pf > $O/oneVar
	diff expected/oneVar $O/oneVar
	paraFlow paraAdd.pf > $O/paraAdd
	diff expected/paraAdd $O/paraAdd
	paraFlow paraArgMin.pf > $O/paraArgMin
	diff expected/paraArgMin $O/paraArgMin
	paraFlow paraDoMod.pf > $O/paraDoMod
	diff expected/paraDoMod $O/paraDoMod
	paraFlow paraFilterDir.pf > $O/paraFilterDir
	diff expected/paraFilterDir $O/paraFilterDir
	mkdir -p output
	paraFlow paraFilterOdd.pf > $O/paraFilterOdd
	diff expected/paraFilterOdd $O/paraFilterOdd
	paraFlow paraGetAa.pf > $O/paraGetAa
	diff expected/paraGetAa $O/paraGetAa
	paraFlow paraGetDir.pf > $O/paraGetDir
	diff expected/paraGetDir $O/paraGetDir
	paraFlow paraGetSame.pf > $O/paraGetSame
	diff expected/paraGetSame $O/paraGetSame
	paraFlow paraMax.pf > $O/paraMax
	diff expected/paraMax $O/paraMax
	paraFlow paraMin.pf > $O/paraMin
	diff expected/paraMin $O/paraMin
	paraFlow paraMultiply.pf > $O/paraMultiply
	diff expected/paraMultiply $O/paraMultiply
	paraFlow paraOnRange.pf > $O/paraOnRange
	diff expected/paraOnRange $O/paraOnRange
	paraFlow parenAndMinus.pf > $O/parenAndMinus
	diff expected/parenAndMinus $O/parenAndMinus
	paraFlow polymorphic.pf > $O/polymorphic
	diff expected/polymorphic $O/polymorphic
	paraFlow postInc.pf > $O/postInc
	diff expected/postInc $O/postInc
	paraFlow preInc.pf > $O/preInc
	diff expected/preInc $O/preInc
	paraFlow printFile.pf printFile.pf > $O/printFile
	diff expected/printFile $O/printFile
	paraFlow range.pf > $O/range
	diff expected/range $O/range
	paraFlow sort.pf > $O/sort
	diff expected/sort $O/sort
	paraFlow static.pf > $O/static
	diff expected/static $O/static
	paraFlow stringTest.pf > $O/stringTest
	diff expected/stringTest $O/stringTest
	paraFlow shift.pf > $O/shift
	diff expected/shift $O/shift
	paraFlow stringInit.pf > $O/stringInit
	diff expected/stringInit $O/stringInit
	paraFlow stringAppend.pf > $O/stringAppend
	diff expected/stringAppend $O/stringAppend
	paraFlow toInOut.pf > $O/toInOut
	diff expected/toInOut $O/toInOut
	paraFlow twoDee.pf > $O/twoDee
	diff expected/twoDee $O/twoDee
	paraFlow twoParam.pf > $O/twoParam
	diff expected/twoParam $O/twoParam
	paraFlow unitCircle.pf > $O/unitCircle
	diff expected/unitCircle $O/unitCircle
	paraFlow varType1.pf > $O/varType1
	diff expected/varType1 $O/varType1
	paraFlow varType2.pf > $O/varType2
	diff expected/varType2 $O/varType2
	paraFlow while.pf > $O/while
	diff expected/while $O/while
