package tests
{
import mx.rpc.remoting.RemoteObject;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
public class MultipleArgsTest
{
private var summaryObj:Array;
private var remoteObject:RemoteObject;
private var application:Object;
private var TEST_SIZE:Number = 2;
public function MultipleArgsTest(application:Object)
{
this.summaryObj = new Array();
this.application = application;
remoteObject = new RemoteObject();
remoteObject.destination = "MultipleArgsTest";
remoteObject.addEventListener("fault", onFault);
remoteObject.echoInts.addEventListener("result", echoInts_Result);
remoteObject.echoShorts.addEventListener("result", echoShorts_Result);
remoteObject.echoIntLongs.addEventListener("result", echoIntLongs_Result);
remoteObject.echoIntString.addEventListener("result", echoIntString_Result);
remoteObject.echoIntNullString.addEventListener("result", echoIntNullString_Result);
remoteObject.echoCharString.addEventListener("result", echoCharString_Result);
remoteObject.echoStringBuilderDouble.addEventListener("result", echoStringBuilderDouble_Result);
remoteObject.echoNullStringBuilderDouble.addEventListener("result", echoNullStringBuilderDouble_Result);
remoteObject.echoLotsOfArgs.addEventListener("result", echoLotsOfArgs_Result);
}
public function onFault (event:FaultEvent):void
{
Alert.show(event.fault.faultString, 'Error');
}
public function runMultipleArgsTests():void
{
summaryObj = new Array();
remoteObject.echoInts( 21, 0, -12312, 11111111 );
remoteObject.echoNullStringBuilderDouble( null, 21 );
var compArray:Array = ComplexType.getComplexArray( TEST_SIZE );
}
public function echoInts_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == 21 &&
event.result[ 1 ] == 0 &&
event.result[ 2 ] == -12312 &&
event.result[ 3 ] == 11111111 )
summaryObj.push( "success: multiple args test - echoInts" );
else
summaryObj.push( "failure: multiple args test - echoInts" );
}
private function echoShorts_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == 2 &&
event.result[ 1 ] == 222 &&
event.result[ 2 ] == -201 )
summaryObj.push( "success: multiple args test - echoShorts" );
else
summaryObj.push( "failure: multiple args test - echoShorts" );
}
private function echoIntLongs_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == 21 &&
event.result[ 1 ] == 21 )
summaryObj.push( "success: multiple args test - echoIntLongs" );
else
summaryObj.push( "failure: multiple args test - echoIntLongs" );
}
private function echoIntString_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == 21 &&
event.result[ 1 ] == "foobar" )
summaryObj.push( "success: multiple args test - echoIntString" );
else
summaryObj.push( "failure: multiple args test - echoIntString" );
}
public function echoIntNullString_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == 21 &&
event.result[ 1 ] == null )
summaryObj.push( "success: multiple args test - echoIntNullString" );
else
summaryObj.push( "failure: multiple args test - echoIntNullString" );
}
public function echoCharString_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == 'a' &&
event.result[ 1 ] == "s" )
summaryObj.push( "success: multiple args test - echoCharString" );
else
summaryObj.push( "failure: multiple args test - echoCharString" );
}
public function echoStringBuilderDouble_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == "flashorb rocks" &&
event.result[ 1 ] == 21 )
summaryObj.push( "success: multiple args test - echoStringBuilderDouble" );
else
summaryObj.push( "failure: multiple args test - echoStringBuilderDouble" );
}
public function echoNullStringBuilderDouble_Result( event:ResultEvent ):void
{
if( event.result[ 0 ] == null &&
event.result[ 1 ] == 21 )
summaryObj.push( "success: multiple args test - echoNullStringBuilderDouble" );
else
summaryObj.push( "failure: multiple args test - echoNullStringBuilderDouble" );
application.setSummary( summaryObj );
}
public function echoLotsOfArgs_Result( event:ResultEvent ):void
{
if( ObjectComparator.equals( ComplexType.getArray( TEST_SIZE ), event.result[ 0 ] ) &&
ObjectComparator.equals( ComplexType.getComplexArray( TEST_SIZE ), event.result[ 1 ] ) &&
ObjectComparator.equals( ComplexType.getMap( TEST_SIZE ), event.result[ 2 ] ) &&
ObjectComparator.equals( new ComplexType( TEST_SIZE ), event.result[ 3 ] ) &&
event.result[ 4 ] == 21 &&
event.result[ 5 ] == "21" &&
event.result[ 6 ] == null &&
event.result[ 7 ].getTime() == new Date( 2004, 1, 1, 1, 1, 1, 1 ).getTime() &&
event.result[ 8 ] == 'a' )
summaryObj.push( "success: multiple args test - echoLotsOfArgs" );
else
summaryObj.push( "failure: multiple args test - echoLotsOfArgs" );
application.setSummary( summaryObj );
}
}
}