package tests
{
import mx.rpc.remoting.RemoteObject;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import weborb.tests.Employee;
import flash.net.registerClassAlias;
public class ComplexTypeTest
{
private var summaryObj:Array;
private var complexType:ComplexType;
private var remoteObject:RemoteObject;
private var application:Object;
private var testString:String = "Joe Orbman";
public function ComplexTypeTest(application:Object)
{
this.summaryObj = new Array();
this.application = application;
remoteObject = new RemoteObject();
remoteObject.destination = "ComplexTypesTest";
remoteObject.addEventListener("fault", onFault);
remoteObject.echoComplexType.addEventListener("result", echoComplexType_Result);
remoteObject.echoNullComplexType.addEventListener("result", echoNullComplexType_Result);
remoteObject.getEmployee.addEventListener("result", getEmployee_Result);
remoteObject.setEmployee.addEventListener("result", setEmployee_Result);
remoteObject.getEnumType.addEventListener("result", getEnumType_Result);
this.complexType = new ComplexType( 2 );
}
public function onFault (event:FaultEvent):void
{
Alert.show(event.fault.faultString, 'Error');
}
public function runComplexTypeTests():void
{
summaryObj = new Array();
remoteObject.echoComplexType( this.complexType );
remoteObject.echoNullComplexType( null );
remoteObject.getEmployee( testString );
var emp:Employee = new Employee();
emp.employeeName = testString;
remoteObject.setEmployee( emp );
}
private function echoComplexType_Result( event:ResultEvent ):void
{
if( complexType.equals( event.result ) )
summaryObj.push( "success: complex type test - echoComplexType" );
else
summaryObj.push( "failure: complex type test - echoComplexType" );
application.setSummary( summaryObj );
}
private function echoNullComplexType_Result( event:ResultEvent ):void
{
if( event.result == null )
summaryObj.push( "success: complex type test - echoNullComplexType" );
else
summaryObj.push( "failure: complex type test - echoNullComplexType" );
}
public function getEnumType_Result( event:ResultEvent ):void
{
Alert.show( event.result.toString() );
}
public function getEmployee_Result( event:ResultEvent ):void
{
if( event.result.employeeName == testString )
summaryObj.push( "success: complex type test - getEmployee" );
else
summaryObj.push( "failure: complex type test - getEmployee" );
application.setSummary( summaryObj );
}
private function setEmployee_Result( event:ResultEvent ):void
{
if( event.result )
summaryObj.push( "success: complex type test - setEmployee" );
else
summaryObj.push( "failure: complex type test - setEmployee" );
application.setSummary( summaryObj );
}
}
}