tests: Port avmplus as3 AMF test
This commit is contained in:
parent
5f200dc2a9
commit
fc54c111c3
|
@ -0,0 +1,846 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package {
|
||||
import flash.display.MovieClip; public class Test extends MovieClip {}
|
||||
}
|
||||
|
||||
import flash.net.IDynamicPropertyWriter;
|
||||
import flash.net.IDynamicPropertyOutput;
|
||||
import flash.utils.IExternalizable;
|
||||
import flash.utils.IDataInput;
|
||||
import flash.utils.IDataOutput;
|
||||
import flash.utils.ByteArray;
|
||||
import flash.utils.Dictionary;
|
||||
import flash.net.*;
|
||||
import flash.utils.ObjectEncoding;
|
||||
import avmplus.File
|
||||
import com.adobe.test.Assert;
|
||||
|
||||
// var SECTION = "AMFSerialization";
|
||||
// var VERSION = "as3";
|
||||
// var TITLE = "test AMF Serialization";
|
||||
|
||||
|
||||
class CustomDynamicPropertyWriter implements IDynamicPropertyWriter {
|
||||
|
||||
public function CustomDynamicPropertyWriter() {
|
||||
// constructor code
|
||||
}
|
||||
|
||||
public function writeDynamicProperties(obj:Object, output:IDynamicPropertyOutput):void
|
||||
{
|
||||
for(var prop:* in obj)
|
||||
{
|
||||
if(prop != "notforserializing") {
|
||||
output.writeDynamicProperty(prop, obj[prop]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class SimpleIExternalizable implements IExternalizable {
|
||||
|
||||
public var stringtest:String = "Sample";
|
||||
|
||||
public function writeExternal(output:IDataOutput):void {
|
||||
output.writeObject("IExternalizable String");
|
||||
}
|
||||
public function readExternal(input:IDataInput):void {
|
||||
stringtest = input.readObject();
|
||||
}
|
||||
}
|
||||
|
||||
dynamic class UDefDynClassWithDynamicAttrs {
|
||||
|
||||
public var obj_DynamicVar:Object;
|
||||
public function UDefDynClassWithDynamicAttrs() {
|
||||
// constructor code
|
||||
obj_DynamicVar = new Object();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class UserDefClassAllTypes {
|
||||
|
||||
//Null
|
||||
public var null_Obj;
|
||||
//Boolean - True
|
||||
public var bool_True_Obj:Boolean;
|
||||
//Boolean - False
|
||||
public var bool_False_Obj:Boolean;
|
||||
//Integer - Positive
|
||||
public var int_Positive_type:int;
|
||||
//Unsigned Integer - Value
|
||||
public var uint_Value_type:uint;
|
||||
//Number - Positive Value
|
||||
public var num_Positive_Obj:Number;
|
||||
//Number - Min Value
|
||||
public var num_Min_Obj:Number;
|
||||
//String - title case
|
||||
public var str_Title_Obj:String;
|
||||
//Date - 18/07/2011 9:10:01:10 AM
|
||||
public var dt_Fixed_Obj:Date;
|
||||
//Array - Index : int Value: String
|
||||
public var arr_IntStr_Obj:Array;
|
||||
//Array - Index : Mixed Value: Mixed
|
||||
public var arr_MixMix_Obj:Array;
|
||||
//XML
|
||||
public var xml_Obj:XML;
|
||||
//Vector int typed
|
||||
public var vct_int_Obj:Vector.<int>;
|
||||
//Vector object typed
|
||||
public var obj_Test3:Object;
|
||||
public var obj_Test4:Object;
|
||||
public var vct_obj_Obj:Vector.<Object>;
|
||||
public var dict_StrStr_Obj:Dictionary
|
||||
//ByteArray - Empty
|
||||
public var ba_Empty_Obj:ByteArray;
|
||||
//ByteArray - String
|
||||
public var ba_Str_Obj:ByteArray;
|
||||
|
||||
|
||||
public function UserDefClassAllTypes() {
|
||||
// constructor code
|
||||
}
|
||||
|
||||
public function Init():void {
|
||||
//Null
|
||||
null_Obj = null;
|
||||
//Boolean - True
|
||||
bool_True_Obj = true;
|
||||
//Boolean - False
|
||||
bool_False_Obj = false;
|
||||
//Integer - Positive
|
||||
int_Positive_type = 100;
|
||||
//Unsigned Integer - Value
|
||||
uint_Value_type = 2000;
|
||||
//Number - Positive Value
|
||||
num_Positive_Obj = new Number(100);
|
||||
//Number - Min Value
|
||||
num_Min_Obj = new Number(Number.MIN_VALUE);
|
||||
//String - title case
|
||||
str_Title_Obj = new String("A Quick Brown Fox Jumps Over A Lazy Dog");
|
||||
//Date - 18/07/2011 9:10:01:10 AM
|
||||
dt_Fixed_Obj = new Date(2011,07,18,9,10,01,10);
|
||||
//Array - Index : int Value: String
|
||||
arr_IntStr_Obj = new Array("TEST1", "TEST2", "TEST3", "TEST4");
|
||||
//Array - Index : Mixed Value: Mixed
|
||||
arr_MixMix_Obj = new Array();
|
||||
arr_MixMix_Obj["TEST1"] = 1;
|
||||
arr_MixMix_Obj[2] = "Search Engine 2";
|
||||
arr_MixMix_Obj[3] = "Search Engine 3";
|
||||
arr_MixMix_Obj["TEST2"] = 4;
|
||||
//XML
|
||||
xml_Obj = <employee><name>XANDER</name><id>xan007</id><address>#5, Salarpuria Infinity, Bannerghatta Road, Bangalore</address></employee>;
|
||||
//Vector int typed
|
||||
vct_int_Obj = new <int>[-1,100, 200, -200, 0, int.MIN_VALUE, int.MAX_VALUE];
|
||||
//Vector object typed
|
||||
obj_Test3 = new Object();
|
||||
obj_Test3.value = "VALUE 1";
|
||||
obj_Test4 = new Object();
|
||||
obj_Test4.value = "VALUE 2";
|
||||
vct_obj_Obj = new <Object>[obj_Test3, obj_Test4]
|
||||
//Vector object
|
||||
dict_StrStr_Obj= new Dictionary();
|
||||
dict_StrStr_Obj["key1"] = "value1";
|
||||
dict_StrStr_Obj["key2"] = "value2";
|
||||
//ByteArray - String
|
||||
ba_Str_Obj = new ByteArray();
|
||||
ba_Str_Obj.writeObject("BYTE ARRAY TEST");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dynamic class UserDefinedDynamicClass {
|
||||
|
||||
public var strPubString:String;
|
||||
private var strPrivString:String;
|
||||
protected var strProtString:String;
|
||||
public const strPubConstString:String = new String("User Defined Dynamic Class Public Constant Variable");
|
||||
|
||||
|
||||
public function UserDefinedDynamicClass() {
|
||||
strPubString = new String("User Defined Dynamic Class Public Variable");
|
||||
strPrivString = new String("User Defined Dynamic Class Private Variable");
|
||||
strProtString = new String("User Defined Dynamic Class Protected Variable");
|
||||
}
|
||||
|
||||
public function getPrivString()
|
||||
{
|
||||
return strPrivString;
|
||||
}
|
||||
|
||||
public function getProtString()
|
||||
{
|
||||
return strProtString;
|
||||
}
|
||||
|
||||
public function setPrivString(str:String)
|
||||
{
|
||||
strPrivString = str;
|
||||
}
|
||||
|
||||
public function setProtString(str:String)
|
||||
{
|
||||
strProtString = str;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
final class UserDefinedFinalClass {
|
||||
|
||||
public var strPubString:String;
|
||||
private var strPrivString:String;
|
||||
protected var strProtString:String;
|
||||
public const strPubConstString:String = new String("User Defined Final Class Public Constant Variable");
|
||||
|
||||
public function UserDefinedFinalClass() {
|
||||
// constructor code
|
||||
strPubString = new String("User Defined Final Class Public Variable");
|
||||
strPrivString = new String("User Defined Final Class Private Variable");
|
||||
strProtString = new String("User Defined Final Class Protected Variable");
|
||||
}
|
||||
|
||||
public function getPrivString()
|
||||
{
|
||||
return strPrivString;
|
||||
}
|
||||
|
||||
public function getProtString()
|
||||
{
|
||||
return strProtString;
|
||||
}
|
||||
|
||||
public function setPrivString(str:String)
|
||||
{
|
||||
strPrivString = str;
|
||||
}
|
||||
|
||||
public function setProtString(str:String)
|
||||
{
|
||||
strProtString = str;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Register User Defined Classes
|
||||
flash.net.registerClassAlias("UserDefClassAllTypes", UserDefClassAllTypes);
|
||||
flash.net.registerClassAlias("UserDefinedFinalClass", UserDefinedFinalClass);
|
||||
flash.net.registerClassAlias("UserDefinedDynamicClass", UserDefinedDynamicClass);
|
||||
flash.net.registerClassAlias("UDefDynClassWithDynamicAttrs", UDefDynClassWithDynamicAttrs);
|
||||
flash.net.registerClassAlias("SimpleIExternalizable", SimpleIExternalizable);
|
||||
|
||||
var userdef_Obj:UserDefClassAllTypes = new UserDefClassAllTypes();
|
||||
userdef_Obj.Init();
|
||||
|
||||
//Null
|
||||
var null_Obj = null;
|
||||
buildBAnCallAddTC("null test " , null_Obj);
|
||||
|
||||
//Boolean - True
|
||||
var bool_True_Obj:Boolean = true;
|
||||
buildBAnCallAddTC("bool true " , bool_True_Obj);
|
||||
|
||||
//Boolean - False
|
||||
var bool_False_Obj:Boolean = false;
|
||||
buildBAnCallAddTC("bool false " , bool_False_Obj);
|
||||
|
||||
//Integer - Positive
|
||||
var int_Positive_type:int = 1234567890;
|
||||
buildBAnCallAddTC("int positive" , int_Positive_type);
|
||||
//Integer - Negative
|
||||
var int_Negative_type:int = -1234567890;
|
||||
buildBAnCallAddTC("int negative" , int_Negative_type);
|
||||
//Unsigned Integer - Value
|
||||
var uint_Value_type:uint = 21234567890;
|
||||
buildBAnCallAddTC("uint value" , uint_Value_type);
|
||||
|
||||
//Number - Positive Value
|
||||
var num_Positive_Obj:Number = new Number(1234567890);
|
||||
buildBAnCallAddTC("Num Positive" , num_Positive_Obj);
|
||||
//Number - Negative Value
|
||||
var num_Negative_Obj:Number = new Number(-1234567890);
|
||||
buildBAnCallAddTC("Num Negative" , num_Negative_Obj);
|
||||
|
||||
//String - title case
|
||||
var str_Title_Obj:String = new String("A Quick Brown Fox Jumps Over A Lazy Dog");
|
||||
buildBAnCallAddTC("String Mixed case characters" , str_Title_Obj);
|
||||
|
||||
//Date - 18/07/2011 9:10:01:10 AM
|
||||
var dt_Obj:Date = new Date(2011,07,18,9,10,01,10);
|
||||
testDate("Date FIXED" , dt_Obj);
|
||||
|
||||
//Array - Index : Mixed Value: Mixed (WithObject)
|
||||
var arr_MixMixObj_Obj:Array = new Array();
|
||||
arr_MixMixObj_Obj["TRIANGLE"] = 1;
|
||||
arr_MixMixObj_Obj[0] = "Shape 2";
|
||||
arr_MixMixObj_Obj[1] = "Shape 3";
|
||||
arr_MixMixObj_Obj["HEXAGON"] = 4;
|
||||
arr_MixMixObj_Obj[2] = userdef_Obj;
|
||||
arr_MixMixObj_Obj[2.222] = 5.555;
|
||||
arr_MixMixObj_Obj[3.14] = "pi";
|
||||
testArrayTypes("Array Index:Mixed Value:Mixed" , arr_MixMixObj_Obj);
|
||||
|
||||
//XML With Comment and CDATA
|
||||
var xml_CmntCDATA_Obj:XML = <testfunc><![CDATA[function printAlert(a,b){alert "hello";}]]> <!-- name --> <name> SQUARE!!!!! </name></testfunc>
|
||||
testXMLTypes("XML with Comments and CDATA", xml_CmntCDATA_Obj);
|
||||
|
||||
//Vector int typed
|
||||
var vct_int_Obj:Vector.<int> = new <int>[-1,100, 200, -200, 0, int.MIN_VALUE, int.MAX_VALUE];
|
||||
testVectorTypesInt("Typed Vector type: Int", vct_int_Obj);
|
||||
|
||||
//Vector uint typed
|
||||
var vct_uint_Obj:Vector.<uint> = new <uint>[100, 200, 0, uint.MIN_VALUE, uint.MAX_VALUE];
|
||||
testVectorTypesUInt("Typed Vector type: Uint", vct_uint_Obj);
|
||||
|
||||
//Vector double typed
|
||||
var vct_double_Obj:Vector.<Number> = new <Number>[-1, 100, 200, -200, 0, Number.MAX_VALUE, Number.MIN_VALUE, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY];
|
||||
testVectorTypesNumber("Typed Vector type: Double", vct_double_Obj);
|
||||
|
||||
//Vector object typed
|
||||
var obj_Test3:Object = new Object();
|
||||
obj_Test3.value = "VALUE 1";
|
||||
var obj_Test4:Object = new Object();
|
||||
obj_Test4.value = "VALUE 2";
|
||||
var vct_obj_Obj:Vector.<Object> = new <Object>[obj_Test3, obj_Test4, "Test Value", 11];
|
||||
testVectorTypesObject("Typed Vector type: Object", vct_obj_Obj);
|
||||
|
||||
//Dictionary Key: String - Value: String
|
||||
var dict_StrStr_Obj:Dictionary = new Dictionary();
|
||||
dict_StrStr_Obj["key1"] = "value1";
|
||||
dict_StrStr_Obj["key2"] = "value2";
|
||||
dict_StrStr_Obj[3] = "value3";
|
||||
dict_StrStr_Obj[4] = "value4";
|
||||
testDictionaryTypes("Dictionary Value: String", dict_StrStr_Obj);
|
||||
|
||||
//ByteArray - String
|
||||
var ba_Str_Obj:ByteArray = new ByteArray();
|
||||
ba_Str_Obj.writeObject("BYTE ARRAY TEST");
|
||||
testByteArrayTypes(" Byte Array : String ", ba_Str_Obj);
|
||||
|
||||
//User Defined Final Class
|
||||
var udfc_Obj:UserDefinedFinalClass = new UserDefinedFinalClass();
|
||||
udfc_Obj.setPrivString("My private string");
|
||||
udfc_Obj.setProtString("My protected string");
|
||||
//Testing User Defined Final Class - Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(udfc_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
var udfc_Read_Obj:UserDefinedFinalClass = ba_TestObject.readObject();
|
||||
Assert.expectEq("User Defined Final Class - Const ", udfc_Obj.strPubConstString, udfc_Read_Obj.strPubConstString);
|
||||
Assert.expectEq("User Defined Final Class - Public String ", udfc_Obj.strPubString, udfc_Read_Obj.strPubString);
|
||||
Assert.expectEq("User Defined Final Class - Private String", "User Defined Final Class Private Variable", udfc_Read_Obj.getPrivString());
|
||||
Assert.expectEq("User Defined Final Class - Protected String", "User Defined Final Class Protected Variable", udfc_Read_Obj.getProtString());
|
||||
//Testing User Defined Final Class - Ends
|
||||
|
||||
//User Defined Dynamic Class
|
||||
var uddc_Obj:UserDefinedDynamicClass = new UserDefinedDynamicClass();
|
||||
uddc_Obj.setPrivString("My private string");
|
||||
uddc_Obj.setProtString("My protected string");
|
||||
//Testing User Defined Dynamic Class - Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(uddc_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
var uddc_Read_Obj:UserDefinedDynamicClass = ba_TestObject.readObject();
|
||||
Assert.expectEq("User Defined Dynamic Class - Const ", uddc_Obj.strPubConstString, uddc_Read_Obj.strPubConstString);
|
||||
Assert.expectEq("User Defined Dynamic Class - Public String ", uddc_Obj.strPubString, uddc_Read_Obj.strPubString);
|
||||
Assert.expectEq("User Defined Dynamic Class - Private String ", "User Defined Dynamic Class Private Variable", uddc_Read_Obj.getPrivString());
|
||||
Assert.expectEq("User Defined Dynamic Class - Protected String ", "User Defined Dynamic Class Protected Variable", uddc_Read_Obj.getProtString());
|
||||
//Testing User Defined Dynamic Class - Ends
|
||||
|
||||
//User Defined Dynamic Class with Dynamic Member
|
||||
uddc_Obj.testvalue = "TEST VALUE";
|
||||
//Testing User Defined Dynamic Class With Dynamic Member- Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(uddc_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
uddc_Read_Obj = ba_TestObject.readObject();
|
||||
Assert.expectEq("User Defined Dynamic Class With Dynamic Member - Dynamic Member", uddc_Obj.testvalue, uddc_Read_Obj.testvalue);
|
||||
|
||||
//User Defined Dynamic Class with Dynamic Members having Dynamic Members
|
||||
var uddcwd_Obj:UDefDynClassWithDynamicAttrs = new UDefDynClassWithDynamicAttrs();
|
||||
uddcwd_Obj.obj_DynamicVar.testvalue = "TEST VALUE";
|
||||
//Testing User Defined Dynamic Class with Dynamic Members having Dynamic Members - Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(uddcwd_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
var uddcwd_Read_Obj:UDefDynClassWithDynamicAttrs = ba_TestObject.readObject();
|
||||
Assert.expectEq("User Defined Dynamic Class with Dynamic Members having Dynamic Members", uddcwd_Obj.obj_DynamicVar.testvalue, uddcwd_Read_Obj.obj_DynamicVar.testvalue);
|
||||
//Testing User Defined Dynamic Class with Dynamic Members having Dynamic Members - Ends
|
||||
|
||||
//Objects with Circular Reference
|
||||
var obj_drcheck_Obj:Object = new Object();
|
||||
var obj_drcheck1_Obj:Object = new Object();
|
||||
obj_drcheck_Obj.refobject = obj_drcheck1_Obj;
|
||||
obj_drcheck_Obj.othervalue = 5;
|
||||
obj_drcheck1_Obj.refobject = obj_drcheck_Obj;
|
||||
obj_drcheck1_Obj.othervalue = "TEST VALUE";
|
||||
//Testing Objects with Circular Reference - Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(obj_drcheck_Obj);
|
||||
ba_TestObject.writeObject(obj_drcheck1_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
var obj_drcheck_Read_Obj:Object = ba_TestObject.readObject();
|
||||
var obj_drcheck1_Read_Obj:Object = ba_TestObject.readObject();
|
||||
Assert.expectEq("Object with Circular Reference A to B", obj_drcheck_Obj.refobject.othervalue, obj_drcheck_Read_Obj.refobject.othervalue);
|
||||
Assert.expectEq("Object with Circular Reference B to A", obj_drcheck1_Obj.refobject.othervalue, obj_drcheck1_Read_Obj.refobject.othervalue);
|
||||
//Testing Objects with Circular Reference - Ends
|
||||
|
||||
//Object with dynamic properties
|
||||
var obj_dyn_Obj:Object = new Object();
|
||||
var obj_level2_Obj:Object = new Object();
|
||||
obj_level2_Obj.testvalue = " TEST VALUE";
|
||||
obj_dyn_Obj.testvalue1="TEST VALUE 1";
|
||||
obj_dyn_Obj.testvalue2="TEST VALUE 2";
|
||||
obj_dyn_Obj.testvalue3= obj_level2_Obj;
|
||||
obj_dyn_Obj.testvalue4="TEST VALUE 3";
|
||||
//Testing Objects with Dynamic Properties- Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(obj_dyn_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
var obj_Read_dyn_Obj:Object = ba_TestObject.readObject();
|
||||
Assert.expectEq("Object with Dynamic Properties: Prop 1", obj_dyn_Obj.testvalue1, obj_Read_dyn_Obj.testvalue1);
|
||||
Assert.expectEq("Object with Dynamic Properties : Prop 2", obj_dyn_Obj.testvalue2, obj_Read_dyn_Obj.testvalue2);
|
||||
Assert.expectEq("Object with Dynamic Properties : Prop 3", obj_dyn_Obj.testvalue4, obj_Read_dyn_Obj.testvalue4);
|
||||
Assert.expectEq("Object with Dynamic Properties : Prop 3 (1)", obj_dyn_Obj.testvalue3.testvalue, obj_Read_dyn_Obj.testvalue3.testvalue);
|
||||
//Testing Objects with Dynamic Properties- Ends
|
||||
|
||||
//Undefined Value
|
||||
var obj_Undefined = undefined;
|
||||
//Testing Undefined - Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(obj_Undefined);
|
||||
ba_TestObject.position = 0;
|
||||
Assert.expectEq("Undefined", obj_Undefined, ba_TestObject.readObject());
|
||||
//Testing Undefined - Ends
|
||||
|
||||
//Custom Dynamic Property Writer
|
||||
ObjectEncoding.dynamicPropertyWriter = new CustomDynamicPropertyWriter();
|
||||
var obj_dyn_Custom_Obj:Object = new Object();
|
||||
obj_dyn_Custom_Obj.notforserializing = "Don't Serialize";
|
||||
obj_dyn_Custom_Obj.testvalue = "TEST VALUE";
|
||||
//Testing Custom Dynamic Property Writer - Starts
|
||||
var ba_TestObject3:ByteArray = new ByteArray();
|
||||
ba_TestObject3.writeObject(obj_dyn_Custom_Obj);
|
||||
ba_TestObject3.position = 0;
|
||||
var obj_Read_dyn_Custom_Obj:Object= ba_TestObject3.readObject();
|
||||
Assert.expectEq("Custom Encoding: Prop notforserialzing", undefined, obj_Read_dyn_Custom_Obj.notforserializing);
|
||||
Assert.expectEq("Custom Encoding: Prop testvalue", obj_dyn_Custom_Obj.testvalue, obj_Read_dyn_Custom_Obj.testvalue);
|
||||
ObjectEncoding.dynamicPropertyWriter=null;
|
||||
//Testing Custom Dynamic Property Writer - Ends
|
||||
|
||||
//IExternalizable
|
||||
var obj_sie:SimpleIExternalizable = new SimpleIExternalizable();
|
||||
//Testing IExternalizable - Starts
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(obj_sie);
|
||||
ba_TestObject.position = 0;
|
||||
var obj_sie1:SimpleIExternalizable = ba_TestObject.readObject();
|
||||
Assert.expectEq("IExternalizable", "IExternalizable String", obj_sie1.stringtest);
|
||||
//Testing IExternalizable - Ends
|
||||
|
||||
//Testing String Reference Tables
|
||||
var arr_Rednt_Obj:Array = new Array("Adobe", "Adobe", "Test Adobe", "Test Adobe");
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(arr_Rednt_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
compareArrays("Array: Redundant Values" , arr_Rednt_Obj, ba_TestObject.readObject());
|
||||
var vct_Rednt:Vector.<Object> = new <Object>["Adobe", "Adobe", "Test Adobe", "Test Adobe"];
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(vct_Rednt);
|
||||
ba_TestObject.position = 0;
|
||||
compareVectorsObject("Vector: Redundant Values" , vct_Rednt, ba_TestObject.readObject());
|
||||
var dict_Rednt:Dictionary = new Dictionary();
|
||||
dict_Rednt["key1"] = "Adobe";
|
||||
dict_Rednt["key2"] = "Adobe";
|
||||
dict_Rednt["key3"] = "Adobe";
|
||||
dict_Rednt["Adobe"] = "key2";
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(dict_Rednt);
|
||||
ba_TestObject.position = 0;
|
||||
compareDictionary("Dictionary: Redundant Values" , dict_Rednt, ba_TestObject.readObject());
|
||||
var obj_Rednt:Object = new Dictionary();
|
||||
obj_Rednt.testvalue = "TEST VALUE";
|
||||
obj_Rednt.testvalue1 = "TEST VALUE";
|
||||
obj_Rednt.testvalue2 = "TEST VALUE";
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(obj_Rednt);
|
||||
ba_TestObject.position = 0;
|
||||
compareObjects("Objects: Redundant Values" , obj_Rednt, ba_TestObject.readObject());
|
||||
//Checking User Defined Object
|
||||
ba_TestObject = new ByteArray();
|
||||
ba_TestObject.writeObject(userdef_Obj);
|
||||
ba_TestObject.position = 0;
|
||||
compareUserDefTypes("User Defined Class", userdef_Obj, ba_TestObject.readObject());
|
||||
|
||||
|
||||
function buildBAnCallAddTC(strTitle:String, input:*)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
Assert.expectEq(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function testNaN(strTitle:String, input:Number)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
|
||||
Assert.expectEq(strTitle, isNaN(input), isNaN(ba_test_Obj.readObject()));
|
||||
}
|
||||
|
||||
function testDate(strTitle:String, input:Date)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareDates(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareDates(strTitle:String, input:Date, actual:Date)
|
||||
{
|
||||
Assert.expectEq(strTitle, input.getTime(), actual.getTime());
|
||||
}
|
||||
|
||||
function testArrayTypes(strTitle:String, input:Array)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
var actual:Array = ba_test_Obj.readObject();
|
||||
compareArrays(strTitle, input, actual);
|
||||
}
|
||||
|
||||
function compareArrays(strTitle:String, input:Array, actual:Array)
|
||||
{
|
||||
var propInput:Array = new Array();
|
||||
for (var p:* in input) {
|
||||
propInput.push(p);
|
||||
}
|
||||
propInput = propInput.sort();
|
||||
|
||||
|
||||
var propActual:Array = new Array();
|
||||
for (var p1:* in input) {
|
||||
propActual.push(p1);
|
||||
}
|
||||
propActual = propActual.sort();
|
||||
|
||||
|
||||
for each (var prop:* in propInput)
|
||||
{
|
||||
if(input[prop] is UserDefClassAllTypes && actual[prop] is UserDefClassAllTypes)
|
||||
{
|
||||
compareUserDefTypes(strTitle, input[prop], actual[prop]);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.expectEq(strTitle + " value check EXP vs ACT: " + prop, input[prop], actual[prop]);
|
||||
}
|
||||
}
|
||||
for each (var prop1:* in propActual)
|
||||
{
|
||||
if(input[prop1] is UserDefClassAllTypes && actual[prop1] is UserDefClassAllTypes)
|
||||
{
|
||||
compareUserDefTypes(strTitle, input[prop1], actual[prop1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.expectEq(strTitle + " value check ACT vs EXP: " + prop1, actual[prop1], input[prop1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function testXMLTypes(strTitle:String, input:XML)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareXMLS(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareXMLS(strTitle:String, input:XML, actual:XML)
|
||||
{
|
||||
Assert.expectEq(strTitle, input.toString(), actual.toString());
|
||||
}
|
||||
|
||||
function compareObjects(strTitle:String, input:Object, actual:Object)
|
||||
{
|
||||
var propInput:Array = new Array();
|
||||
var propActual:Array = new Array();
|
||||
for (var p:* in input)
|
||||
{
|
||||
propInput.push(p);
|
||||
}
|
||||
|
||||
propInput = propInput.sort();
|
||||
|
||||
for (var p1:* in actual)
|
||||
{
|
||||
propActual.push(p1);
|
||||
}
|
||||
|
||||
propActual = propActual.sort();
|
||||
|
||||
for each (var prop:* in propInput)
|
||||
{
|
||||
Assert.expectEq(strTitle, input[prop], actual[prop]);
|
||||
}
|
||||
for each (var prop1:* in propActual)
|
||||
{
|
||||
Assert.expectEq(strTitle, actual[prop1], input[prop1]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function testVectorTypesInt(strTitle:String, input:Vector.<int>)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareVectorsInt(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareVectorsInt(strTitle:String, input:Vector.<int>, actual:Vector.<int>)
|
||||
{
|
||||
var inputlen:int = input.length;
|
||||
var actuallen:int = actual.length;
|
||||
|
||||
Assert.expectEq(strTitle + " Vector Len ", inputlen, actuallen);
|
||||
if(inputlen == actuallen)
|
||||
{
|
||||
for (var i:int; i < inputlen; i++)
|
||||
{
|
||||
Assert.expectEq(strTitle, input[i], actual[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function testVectorTypesUInt(strTitle:String, input:Vector.<uint>)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareVectorsUInt(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareVectorsUInt(strTitle:String, input:Vector.<uint>, actual:Vector.<uint>)
|
||||
{
|
||||
var inputlen:int = input.length;
|
||||
var actuallen:int = actual.length;
|
||||
|
||||
Assert.expectEq(strTitle + " Vector Len ", inputlen, actuallen);
|
||||
if(inputlen == actuallen)
|
||||
{
|
||||
for (var i:int; i < inputlen; i++)
|
||||
{
|
||||
Assert.expectEq(strTitle, input[i], actual[i]);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function testVectorTypesNumber(strTitle:String, input:Vector.<Number>)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareVectorsNumber(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareVectorsNumber(strTitle:String, input:Vector.<Number>, actual:Vector.<Number>)
|
||||
{
|
||||
var inputlen:int = input.length;
|
||||
var actuallen:int = actual.length;
|
||||
|
||||
Assert.expectEq(strTitle + " Vector Len ", inputlen, actuallen);
|
||||
if(inputlen == actuallen)
|
||||
{
|
||||
for (var i:int; i < inputlen; i++)
|
||||
{
|
||||
Assert.expectEq(strTitle, input[i], actual[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function testVectorTypesObject(strTitle:String, input:Vector.<Object>)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareVectorsObject(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareVectorsObject(strTitle:String, input:Vector.<Object>, actual:Vector.<Object>)
|
||||
{
|
||||
var inputlen:int = input.length;
|
||||
var actuallen:int = actual.length;
|
||||
|
||||
Assert.expectEq(strTitle + " Vector Len ", inputlen, actuallen);
|
||||
if(inputlen == actuallen)
|
||||
{
|
||||
for (var i:int; i < inputlen; i++)
|
||||
{
|
||||
if (input[i] is String && actual[i] is String)
|
||||
{
|
||||
Assert.expectEq(strTitle, input[i], actual[i]);
|
||||
}
|
||||
else if (input[i] is int && actual[i] is int)
|
||||
{
|
||||
Assert.expectEq(strTitle, input[i], actual[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
compareObjects(strTitle, input[i], actual[i]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function testVectorTypesUDef(strTitle:String, input:Vector.<UserDefClassAllTypes>)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareVectorsUDef(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareVectorsUDef(strTitle:String, input:Vector.<UserDefClassAllTypes>, actual:Vector.<UserDefClassAllTypes>)
|
||||
{
|
||||
var inputlen:int = input.length;
|
||||
var actuallen:int = actual.length;
|
||||
Assert.expectEq(strTitle + " Vector Len ", inputlen, actuallen);
|
||||
if(inputlen == actuallen)
|
||||
{
|
||||
for (var i:int; i < inputlen; i++)
|
||||
{
|
||||
compareUserDefTypes(strTitle, input[i], actual[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function testByteArrayTypes(strTitle:String, input:ByteArray)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareByteArray(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareByteArray(strTitle:String, input:ByteArray, actual:ByteArray)
|
||||
{
|
||||
input.position = 0;
|
||||
actual.position = 0;
|
||||
Assert.expectEq(strTitle, input.readObject(), actual.readObject());
|
||||
}
|
||||
|
||||
function testDictionaryTypes(strTitle:String, input:Dictionary)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareDictionary(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareDictionary(strTitle:String, input:Dictionary, actual:Dictionary)
|
||||
{
|
||||
|
||||
var propInput:Array = new Array();
|
||||
for (var p:* in input)
|
||||
{
|
||||
propInput.push(p);
|
||||
}
|
||||
|
||||
propInput = propInput.sort();
|
||||
|
||||
for each (var prop:* in propInput)
|
||||
{
|
||||
if ( input[prop] is UserDefClassAllTypes)
|
||||
{
|
||||
compareUserDefTypes(strTitle + " User Defined ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input [prop] is Array)
|
||||
{
|
||||
compareArrays(strTitle + " Array ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is Vector.<Number>)
|
||||
{
|
||||
compareVectorsNumber(strTitle + " Vector ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is XML)
|
||||
{
|
||||
compareXMLS(strTitle + " XML ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is Date)
|
||||
{
|
||||
compareDates(strTitle + " Dates ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is Boolean)
|
||||
{
|
||||
Assert.expectEq(strTitle + " Boolean ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is String)
|
||||
{
|
||||
Assert.expectEq(strTitle + " String ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is int)
|
||||
{
|
||||
Assert.expectEq(strTitle + " int ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is uint)
|
||||
{
|
||||
Assert.expectEq(strTitle + " uint ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is Number)
|
||||
{
|
||||
Assert.expectEq(strTitle + " Number ", input[prop], actual[prop]);
|
||||
}
|
||||
else if (input[prop] is ByteArray)
|
||||
{
|
||||
compareByteArray(strTitle + " Byte Array ", input[prop], actual[prop]);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.expectEq(strTitle + " Object ", input[prop], actual[prop]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function testUserDefTypes(strTitle:String, input:UserDefClassAllTypes)
|
||||
{
|
||||
var ba_test_Obj:ByteArray = new ByteArray();
|
||||
ba_test_Obj.writeObject(input);
|
||||
ba_test_Obj.position = 0;
|
||||
compareUserDefTypes(strTitle, input, ba_test_Obj.readObject());
|
||||
}
|
||||
|
||||
function compareUserDefTypes(strTitle:String, input:UserDefClassAllTypes, actual:UserDefClassAllTypes)
|
||||
{
|
||||
Assert.expectEq(strTitle + " User Defined null ", input.null_Obj, actual.null_Obj);
|
||||
Assert.expectEq(strTitle + " User Defined boolean True ", input.bool_True_Obj, actual.bool_True_Obj);
|
||||
Assert.expectEq(strTitle + " User Defined boolean False " , input.bool_False_Obj, actual.bool_False_Obj);
|
||||
Assert.expectEq(strTitle + " User Defined int" , input.int_Positive_type, actual.int_Positive_type);
|
||||
Assert.expectEq(strTitle + " User Defined uint" , input.uint_Value_type, actual.uint_Value_type);
|
||||
Assert.expectEq(strTitle + " User Defined Number min" , input.num_Min_Obj, actual.num_Min_Obj);
|
||||
Assert.expectEq(strTitle + " User Defined Number Positive" , input.num_Positive_Obj, actual.num_Positive_Obj);
|
||||
Assert.expectEq(strTitle + " User Defined Number Positive" , input.num_Positive_Obj, actual.num_Positive_Obj);
|
||||
Assert.expectEq(strTitle + " User Defined String " , input.str_Title_Obj, actual.str_Title_Obj);
|
||||
compareDates(strTitle + " User Defined Date " , input.dt_Fixed_Obj, actual.dt_Fixed_Obj);
|
||||
compareArrays(strTitle + " User Defined Array Index:Int Value:String", input.arr_IntStr_Obj, actual.arr_IntStr_Obj);
|
||||
compareArrays(strTitle + " User Defined Array Index:Mixed Value:Mixed", input.arr_MixMix_Obj, actual.arr_MixMix_Obj);
|
||||
compareObjects(strTitle + " User Defined Object " , input.obj_Test3, actual.obj_Test3);
|
||||
compareObjects(strTitle + " User Defined Object " , input.obj_Test4, actual.obj_Test4);
|
||||
compareVectorsInt(strTitle + " User Defined Vector ", input.vct_int_Obj, actual.vct_int_Obj);
|
||||
compareDictionary(strTitle + " User Defined Dictionary", input.dict_StrStr_Obj, actual.dict_StrStr_Obj);
|
||||
compareByteArray(strTitle + " User Defined ByteArray (String)", input.ba_Str_Obj, actual.ba_Str_Obj);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<flex-config>
|
||||
<compiler>
|
||||
<source-path>
|
||||
<path-element>.</path-element>
|
||||
<path-element>../../../lib</path-element>
|
||||
</source-path>
|
||||
<debug>false</debug>
|
||||
<omit-trace-statements>false</omit-trace-statements>
|
||||
<show-actionscript-warnings>false</show-actionscript-warnings>
|
||||
<strict>false</strict>
|
||||
</compiler>
|
||||
<output>test.swf</output>
|
||||
</flex-config>
|
|
@ -0,0 +1,225 @@
|
|||
null test PASSED!
|
||||
bool true PASSED!
|
||||
bool false PASSED!
|
||||
int positive PASSED!
|
||||
int negative PASSED!
|
||||
uint value PASSED!
|
||||
Num Positive PASSED!
|
||||
Num Negative PASSED!
|
||||
String Mixed case characters PASSED!
|
||||
Date FIXED PASSED!
|
||||
Array Index:Mixed Value:Mixed value check EXP vs ACT: 0 PASSED!
|
||||
Array Index:Mixed Value:Mixed value check EXP vs ACT: 1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined null PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined boolean True PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined boolean False PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined int PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined uint PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Number min PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Number Positive PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Number Positive PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined String PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Date PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 0 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 0 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: TEST1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: TEST2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: TEST1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: TEST2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector Vector Len PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Dictionary String PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Dictionary String PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined ByteArray (String) PASSED!
|
||||
Array Index:Mixed Value:Mixed value check EXP vs ACT: 2.222 PASSED!
|
||||
Array Index:Mixed Value:Mixed value check EXP vs ACT: 3.14 PASSED!
|
||||
Array Index:Mixed Value:Mixed value check EXP vs ACT: HEXAGON PASSED!
|
||||
Array Index:Mixed Value:Mixed value check EXP vs ACT: TRIANGLE PASSED!
|
||||
Array Index:Mixed Value:Mixed value check ACT vs EXP: 0 PASSED!
|
||||
Array Index:Mixed Value:Mixed value check ACT vs EXP: 1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined null PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined boolean True PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined boolean False PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined int PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined uint PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Number min PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Number Positive PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Number Positive PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined String PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Date PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 0 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check EXP vs ACT: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 0 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Int Value:String value check ACT vs EXP: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: TEST1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: TEST2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: 2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: 3 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: TEST1 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: TEST2 PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Object PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector Vector Len PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Vector PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Dictionary String PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined Dictionary String PASSED!
|
||||
Array Index:Mixed Value:Mixed User Defined ByteArray (String) PASSED!
|
||||
Array Index:Mixed Value:Mixed value check ACT vs EXP: 2.222 PASSED!
|
||||
Array Index:Mixed Value:Mixed value check ACT vs EXP: 3.14 PASSED!
|
||||
Array Index:Mixed Value:Mixed value check ACT vs EXP: HEXAGON PASSED!
|
||||
Array Index:Mixed Value:Mixed value check ACT vs EXP: TRIANGLE PASSED!
|
||||
XML with Comments and CDATA PASSED!
|
||||
Typed Vector type: Int Vector Len PASSED!
|
||||
Typed Vector type: Int PASSED!
|
||||
Typed Vector type: Int PASSED!
|
||||
Typed Vector type: Int PASSED!
|
||||
Typed Vector type: Int PASSED!
|
||||
Typed Vector type: Int PASSED!
|
||||
Typed Vector type: Int PASSED!
|
||||
Typed Vector type: Int PASSED!
|
||||
Typed Vector type: Uint Vector Len PASSED!
|
||||
Typed Vector type: Uint PASSED!
|
||||
Typed Vector type: Uint PASSED!
|
||||
Typed Vector type: Uint PASSED!
|
||||
Typed Vector type: Uint PASSED!
|
||||
Typed Vector type: Uint PASSED!
|
||||
Typed Vector type: Double Vector Len PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Double PASSED!
|
||||
Typed Vector type: Object Vector Len PASSED!
|
||||
Typed Vector type: Object PASSED!
|
||||
Typed Vector type: Object PASSED!
|
||||
Typed Vector type: Object PASSED!
|
||||
Typed Vector type: Object PASSED!
|
||||
Typed Vector type: Object PASSED!
|
||||
Typed Vector type: Object PASSED!
|
||||
Dictionary Value: String String PASSED!
|
||||
Dictionary Value: String String PASSED!
|
||||
Dictionary Value: String String PASSED!
|
||||
Dictionary Value: String String PASSED!
|
||||
Byte Array : String PASSED!
|
||||
User Defined Final Class - Const PASSED!
|
||||
User Defined Final Class - Public String PASSED!
|
||||
User Defined Final Class - Private String PASSED!
|
||||
User Defined Final Class - Protected String PASSED!
|
||||
User Defined Dynamic Class - Const PASSED!
|
||||
User Defined Dynamic Class - Public String PASSED!
|
||||
User Defined Dynamic Class - Private String PASSED!
|
||||
User Defined Dynamic Class - Protected String PASSED!
|
||||
User Defined Dynamic Class With Dynamic Member - Dynamic Member PASSED!
|
||||
User Defined Dynamic Class with Dynamic Members having Dynamic Members PASSED!
|
||||
Object with Circular Reference A to B PASSED!
|
||||
Object with Circular Reference B to A PASSED!
|
||||
Object with Dynamic Properties: Prop 1 PASSED!
|
||||
Object with Dynamic Properties : Prop 2 PASSED!
|
||||
Object with Dynamic Properties : Prop 3 PASSED!
|
||||
Object with Dynamic Properties : Prop 3 (1) PASSED!
|
||||
Undefined PASSED!
|
||||
Custom Encoding: Prop notforserialzing PASSED!
|
||||
Custom Encoding: Prop testvalue PASSED!
|
||||
IExternalizable PASSED!
|
||||
Array: Redundant Values value check EXP vs ACT: 0 PASSED!
|
||||
Array: Redundant Values value check EXP vs ACT: 1 PASSED!
|
||||
Array: Redundant Values value check EXP vs ACT: 2 PASSED!
|
||||
Array: Redundant Values value check EXP vs ACT: 3 PASSED!
|
||||
Array: Redundant Values value check ACT vs EXP: 0 PASSED!
|
||||
Array: Redundant Values value check ACT vs EXP: 1 PASSED!
|
||||
Array: Redundant Values value check ACT vs EXP: 2 PASSED!
|
||||
Array: Redundant Values value check ACT vs EXP: 3 PASSED!
|
||||
Vector: Redundant Values Vector Len PASSED!
|
||||
Vector: Redundant Values PASSED!
|
||||
Vector: Redundant Values PASSED!
|
||||
Vector: Redundant Values PASSED!
|
||||
Vector: Redundant Values PASSED!
|
||||
Dictionary: Redundant Values String PASSED!
|
||||
Dictionary: Redundant Values String PASSED!
|
||||
Dictionary: Redundant Values String PASSED!
|
||||
Dictionary: Redundant Values String PASSED!
|
||||
Objects: Redundant Values PASSED!
|
||||
Objects: Redundant Values PASSED!
|
||||
Objects: Redundant Values PASSED!
|
||||
Objects: Redundant Values PASSED!
|
||||
Objects: Redundant Values PASSED!
|
||||
Objects: Redundant Values PASSED!
|
||||
User Defined Class User Defined null PASSED!
|
||||
User Defined Class User Defined boolean True PASSED!
|
||||
User Defined Class User Defined boolean False PASSED!
|
||||
User Defined Class User Defined int PASSED!
|
||||
User Defined Class User Defined uint PASSED!
|
||||
User Defined Class User Defined Number min PASSED!
|
||||
User Defined Class User Defined Number Positive PASSED!
|
||||
User Defined Class User Defined Number Positive PASSED!
|
||||
User Defined Class User Defined String PASSED!
|
||||
User Defined Class User Defined Date PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check EXP vs ACT: 0 PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check EXP vs ACT: 1 PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check EXP vs ACT: 2 PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check EXP vs ACT: 3 PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check ACT vs EXP: 0 PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check ACT vs EXP: 1 PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check ACT vs EXP: 2 PASSED!
|
||||
User Defined Class User Defined Array Index:Int Value:String value check ACT vs EXP: 3 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: 2 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: 3 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: TEST1 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check EXP vs ACT: TEST2 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: 2 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: 3 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: TEST1 PASSED!
|
||||
User Defined Class User Defined Array Index:Mixed Value:Mixed value check ACT vs EXP: TEST2 PASSED!
|
||||
User Defined Class User Defined Object PASSED!
|
||||
User Defined Class User Defined Object PASSED!
|
||||
User Defined Class User Defined Object PASSED!
|
||||
User Defined Class User Defined Object PASSED!
|
||||
User Defined Class User Defined Vector Vector Len PASSED!
|
||||
User Defined Class User Defined Vector PASSED!
|
||||
User Defined Class User Defined Vector PASSED!
|
||||
User Defined Class User Defined Vector PASSED!
|
||||
User Defined Class User Defined Vector PASSED!
|
||||
User Defined Class User Defined Vector PASSED!
|
||||
User Defined Class User Defined Vector PASSED!
|
||||
User Defined Class User Defined Vector PASSED!
|
||||
User Defined Class User Defined Dictionary String PASSED!
|
||||
User Defined Class User Defined Dictionary String PASSED!
|
||||
User Defined Class User Defined ByteArray (String) PASSED!
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
num_ticks = 1
|
||||
known_failure = true
|
Loading…
Reference in New Issue