init
	Test.init( ref args )
	Test.add_func( "/FunctionalTests/Genie/Functions/Parameters/Multiline/01", multiline1 )
	Test.add_func( "/FunctionalTests/Genie/Functions/Parameters/Multiline/02", multiline2 )
	Test.add_func( "/FunctionalTests/Genie/Functions/Parameters/Multiline/03", multiline3 )
	Test.add_func( "/FunctionalTests/Genie/Functions/Parameters/Multiline/04", multiline4 )
	Test.run()

// No whitespace between parens and parameters
def multiline1()
	result:int = multiple_parameters(1,
		2,
		3)
	assert( result == 6 )
	return

// Whitespace between opening parens and first parameter
def multiline2()
	result:int = multiple_parameters(
		1,
		2,
		3)
	assert( result == 6 )
	return

// Whitespace between closing parens and last parameter
def multiline3()
	result:int = multiple_parameters(1,
		2,
		3
		)
	assert( result == 6 )
	return

// Multiple line parameters with exception
def multiline4()
	result:int = 0
	try
		multiple_parameters_with_raises_error( 1,
			2,
			3,
			ref result
			)
	except
		pass
	assert( result == 6 )
	return

def multiple_parameters( a:int, b:int, c:int ):int
	return a + b + c

def multiple_parameters_with_raises_error( a:int, b:int, c:int, ref result:int ) raises TestError
	if a == 0
		raise new TestError.DUMMY( "First parameter is zero" )
	result = a + b + c

exception TestError
	DUMMY
