Administración especializada > Adecuación de los objetos de negocio > Administración de reglas de inicialización de objetos > Uso de reglas de inicialización de objetos > Algoritmos de reglas > Algoritmos de lógica condicional > Algoritmos de prueba
  
Algoritmos de prueba
Los algoritmos de prueba estándar se describen de la siguiente manera:
Algoritmo
Descripción
wt.rule.algorithm.EqualsTest
Dados dos objetos, determina la igualdad. Esta es una comparación de objeto a objeto.
Devuelve VERDADERO si hay una coincidencia; de lo contrario, devuelve FALSO.
wt.rule.algorithm.StringEqualsTest
Dados un atributo y un valor, determina la igualdad. El algoritmo fuerza todo para que se convierta en una cadena utilizando toString( ) antes de la comparación. Esta comparación de cadena a cadena distingue entre mayúsculas y minúsculas.
Devuelve VERDADERO si hay una coincidencia; de lo contrario, devuelve FALSO.
wt.rule.algorithm.StringRegExEqualsTest
Dados un atributo y un valor, con \u201c*\u201d en el valor, determina la igualdad utilizando conceptos regulares relacionados con la expresión. Este algoritmo utiliza la implementación java.util.regex de coincidencia de expresión estándar. El algoritmo obliga a que el valor de la primera etiqueta Arg sea una cadena que utiliza toString( ) antes de realizar la comparación.
El resultado es VERDADERO si encuentra una coincidencia y ésta es el argumento completo de la cadena.
wt.rule.algorithm.IfNullTest
Dado el valor de un atributo, determina si es un valor nulo.
Devuelve VERDADERO si el primer argumento es un valor nulo; de lo contrario, devuelve FALSO.
Para introducir un valor nulo, utilice el algoritmo wt.rule.algorithm.GetNullValue.
wt.rule.algorithm.IfNotNullTest
Dado el valor de un atributo, determina si no es un valor nulo.
Devuelve VERDADERO si el primer argumento no es un valor nulo; de lo contrario, devuelve FALSO.
Para introducir un valor nulo, utilice el algoritmo wt.rule.algorithm.GetNullValue.
com.ptc.core.rule.server.impl.IfContainerTypeEqualsProjectTest
Dado el contexto en el que reside el objeto, determina si el contexto es un contexto wt.projmgmt.admin.Project2.
Devuelve VERDADERO si el contexto es una instancia de la clase wt.projmgmt.admin.Project2 o una subclase o subtipo de la clase Project2; de lo contrario, devuelve FALSO.
El algoritmo es VERDADERO si el contexto es un proyecto o un contexto de programa.
wt.rule.algorithm.AndTest
Dadas una o más comparaciones, devuelve VERDADERO si todas las comparaciones son verdaderas; de lo contrario, devuelve FALSO.
wt.rule.algorithm.OrTest
Dadas una o más comparaciones, devuelve VERDADERO si alguna comparación es verdadera; de lo contrario, devuelve FALSO.
wt.rule.algorithm.StringInListTest
Toma una lista de valores y comprueba si el primer valor definido en una etiqueta Attr es igual a cualquiera de los otros elementos de la lista definidos en las etiquetas Arg. El algoritmo obliga a que todo sea una cadena utilizando toString() antes de realizar la comparación.
Devuelve VERDADERO si hay una coincidencia; de lo contrario, devuelve FALSO.
com.ptc.windchill.enterprise.impl.OrgNameEqualsTest
Dado el nombre del participante de una organización propietaria (que es el valor almacenado en el atributo organization.id) y una cadena que nombre una organización, devuelve VERDADERO si el valor del atributo organization.id es el mismo que el de la cadena; de lo contrario, devuelve FALSO. Para obtener más información, consulte Participantes de la organización propietaria.
La sintaxis general para utilizar los algoritmos EqualsTest, StringEqualsTest y StringRegExEqualsTest es:
<Value algorithm="wt.rule.algorithm.xxxEqualsTest">
<Attr id="aaa"/>
<Arg>bbb</Arg>
</Value>
En esta sintaxis, el atributo que se está evaluando se especifica en la etiqueta Attr y su valor de cadena, en la etiqueta Arg. En esta sintaxis y en otras descritas posteriormente, el valor no necesita ser una cadena; puede generarse utilizando otro algoritmo. Por ejemplo, el XML siguiente podría utilizarse como prueba para un valor nulo:
<Value algorithm="wt.rule.algorithm.EqualsTest">
<Attr id="name"/>
<Value algorithm="wt.rule.algorithm.GetNullValue"/>
</Value>
La sintaxis general del algoritmo StringInList se genera a partir de la sintaxis previa:
<Value algorithm="wt.rule.algorithm.StringInList">
<Attr id="aaa"/>
<Arg>bbb</Arg>
<Arg>ccc</Arg>
<Arg>ddd</Arg>
<Arg>eee</Arg>
:
</Value>
Utilice esta sintaxis como guía para especificar una etiqueta Arg para cada elemento de la lista que aparezca después del primer elemento, que se define en la etiqueta Attr.
La sintaxis del algoritmo AndTest consiste en varias etiquetas Value anidadas, donde cada etiqueta Value se evalúa y todas las evaluaciones deben ser verdaderas para que el resultado de AndTest sea VERDADERO.
La sintaxis del algoritmo OrTest consiste en varias etiquetas Value anidadas, donde cada etiqueta Value se evalúa y al menos una debe ser verdadera para que el resultado del algoritmo OrTest sea VERDADERO.
Por lo general, las etiquetas Value usadas en un algoritmo AndTest u OrTest contienen otros algoritmos de lógica condicional.