The object-driven testing (ODT) functionality is deprecated. Do not use it to create new tests. It will be removed from the product in one of the future releases. As an alternative, you can create custom classes in your scripts. For more information, see Alternatives to the ODT functionality.
Description
Use the ArrayObject.ClassRef
property to get a reference to the ArrayType
object on which ArrayObject is based.
Declaration
ArrayObjectObj.ClassRef
Read-Only Property | An ArrayType object |
ArrayObjectObj | An expression, variable or parameter that specifies a reference to an ArrayObject object |
Applies To
The property is applied to the following object:
Property Value
A reference to the ArrayType
object.
Example
The code below creates a new class and adds the MyProperty property to it. Then the routine creates a data object that belongs to the created class and changes the value of the MyProperty property. After that, the code compares the value of the property stored in the data object with the value of the same property stored in the parent class and checks whether the value has changed.
JavaScript
function ClassRef()
{
// Declares a class and adds a new property to it
let ObjNew = ODT.Classes.Declare("TestClass");
let Prop1 = ObjNew.AddProperty("MyProperty", 123);
// Specifies the object that belongs to the created class
let Data = ODT.Data.AddGroup("TestData").AddVarOfClassType("MyVariable", "TestClass");
// Changes the value of the MyProperty property
Data.$set("Properties", 0, 124);
// Checks whether the property's value has changed
if ( equal(Data.Properties(0).Value, Data.ClassRef.Properties(0)) )
Log.Message("The value of the MyProperty property was not changed.");
else
Log.Message("The value of the MyProperty property was changed.");
}
JScript
function ClassRef()
{
// Declares a class and adds a new property to it
var ObjNew = ODT.Classes.Declare("TestClass");
var Prop1 = ObjNew.AddProperty("MyProperty", 123);
// Specifies the object that belongs to the created class
var Data = ODT.Data.AddGroup("TestData").AddVarOfClassType("MyVariable", "TestClass");
// Changes the value of the MyProperty property
Data.Properties(0) = 124;
// Checks whether the property's value has changed
if ( Data.Properties(0).Value == Data.ClassRef.Properties(0) )
Log.Message("The value of the MyProperty property was not changed.")
else
Log.Message("The value of the MyProperty property was changed.");
}
VBScript
Sub ClassRef
' Declares a class and adds a new property to it
Set ObjNew = ODT.Classes.Declare("TestClass")
Set Prop1 = ObjNew.AddProperty("MyProperty", 123)
' Specifies the object that belongs to the created class
Set Data = ODT.Data.AddGroup("TestData").AddVarOfClassType("MyVariable", "TestClass")
' Changes the value of the MyProperty property
Data.Properties(0) = 124
' Checks whether the property's value has changed
If Data.Properties(0).Value = Data.ClassRef.Properties(0) Then
Log.Message("The value of the MyProperty property was not changed.")
Else
Log.Message("The value of the MyProperty property was changed.")
End If
End Sub
DelphiScript
function ClassRef;
var ObjNew, Prop1, Data;
begin
// Declares a class and adds a new property to it
ObjNew := ODT.Classes.Declare('TestClass');
Prop1 := ObjNew.AddProperty('MyProperty', 123);
// Specifies the object that belongs to the created class
Data := ODT.Data.AddGroup('TestData').AddVarOfClassType('MyVariable', 'TestClass');
// Changes the value of the MyProperty property
Data.Properties(0) := 124;
// Checks whether the property's value has changed
if ( Data.Properties(0).Value = Data.ClassRef.Properties(0) ) then
Log.Message('The value of the MyProperty property was not changed.')
else
Log.Message('The value of the MyProperty property was changed.');
end;
C++Script, C#Script
function ClassRef()
{
// Declares a class and adds a new property to it
var ObjNew = ODT["Classes"]["Declare"]("TestClass");
var Prop1 = ObjNew["AddProperty"]("MyProperty", 123);
// Specifies the object that belongs to the created class
var Data = ODT["Data"]["AddGroup"]("TestData")["AddVarOfClassType"]("MyVariable", "TestClass");
// Changes the value of the MyProperty property
Data["Properties"](0) = 124;
// Checks whether the property's value has changed
if ( Data["Properties"](0)["Value"] == Data["ClassRef"]["Properties"](0) )
Log["Message"]("The value of the MyProperty property was not changed.")
else
Log["Message"]("The value of the MyProperty property was changed.");
}