Administration spécialisée > Personnalisation des objets métier > Administration des règles d'initialisation d'un objet > Utilisation des règles d'initialisation d'un objet > Algorithmes de règle > Algorithmes de logique conditionnelle > Algorithmes de test
  
Algorithmes de test
Les algorithmes de test fournis sont les suivants :
Algorithme
Description
wt.rule.algorithm.EqualsTest
Etant donné deux objets, permet de déterminer l'égalité. Il s'agit d'une comparaison d'objets.
Renvoie TRUE en cas de correspondance ; dans le cas contraire, renvoie FALSE.
wt.rule.algorithm.StringEqualsTest
Etant donné un attribut et une valeur, permet de déterminer l'égalité. L'algorithme force tout élément à devenir une chaîne à l'aide de toString() avant d'effectuer la comparaison. Cette comparaison de chaîne à chaîne est insensible à la casse.
Renvoie TRUE en cas de correspondance ; dans le cas contraire, renvoie FALSE.
wt.rule.algorithm.StringRegExEqualsTest
Etant donné un attribut et une valeur contenant \u201c*\u201d, déterminez l'égalité à l'aide des concepts liés aux expressions régulières. Cet algorithme utilise l'implémentation java.util.regex de la correspondance d'expression régulière. L'algorithme force la valeur de la première balise Arg à être une chaîne à l'aide de toString( ) avant d'effectuer la comparaison.
Renvoie TRUE si une correspondance est trouvée et si cette correspondance est l'argument de la chaîne complète.
wt.rule.algorithm.IfNullTest
Etant donné la valeur d'un attribut, permet de déterminer si la valeur est nulle.
Renvoie TRUE si le premier argument est une valeur nulle ; dans le cas contraire, renvoie FALSE.
Pour renvoyer une valeur nulle, utilisez l'algorithme wt.rule.algorithm.GetNullValue.
wt.rule.algorithm.IfNotNullTest
Etant donné la valeur d'un attribut, permet de déterminer si la valeur n'est pas nulle.
Renvoie TRUE si le premier argument n'est pas une valeur nulle ; dans le cas contraire, renvoie FALSE.
Pour renvoyer une valeur nulle, utilisez l'algorithme wt.rule.algorithm.GetNullValue.
com.ptc.core.rule.server.impl.IfContainerTypeEqualsProjectTest
Etant donné le contexte dans lequel réside l'objet, permet de déterminer s'il s'agit d'un contexte wt.projmgmt.admin.Project2.
Renvoie TRUE si le contexte est une instance de la classe, de la sous-classe ou du sous-type wt.projmgmt.admin.Project2 de la classe Project2 ; dans le cas contraire, renvoie FALSE.
L'algorithme renvoie TRUE s'il s'agit d'un contexte de projet ou de programme.
wt.rule.algorithm.AndTest
Renvoie TRUE si toutes les comparaisons renvoient true ; dans le cas contraire, renvoie FALSE.
wt.rule.algorithm.OrTest
Etant donné deux comparaisons ou plus, permet de renvoyer TRUE si l'une quelconque des comparaisons renvoie true ; dans le cas contraire, renvoie FALSE.
wt.rule.algorithm.StringInListTest
Prend une liste de valeurs et vérifie si la première valeur définie dans une balise Attr est égale à l'un des autres éléments de la liste définis dans des balises Arg. L'algorithme force tout élément à devenir une chaîne en utilisant toString() avant d'effectuer la comparaison.
Renvoie TRUE en cas de correspondance ; dans le cas contraire, renvoie FALSE.
com.ptc.windchill.enterprise.impl.OrgNameEqualsTest
Etant donné le nom d'un participant d'organisation propriétaire (valeur stockée dans l'attribut organization.id) et une chaîne nommant une organisation, renvoie TRUE si la valeur de l'attribut organization.id est identique à celle de la chaîne ; sinon, renvoie FALSE. Pour plus d'informations, consultez la section Participants d'organisations propriétaires.
La syntaxe générale d'utilisation des algorithmes EqualsTest, StringEqualsTest et StringRegExEqualsTest est la suivante :
<Value algorithm="wt.rule.algorithm.xxxEqualsTest">
<Attr id="aaa"/>
<Arg>bbb</Arg>
</Value>
Dans cette syntaxe, l'attribut évalué est spécifié dans la balise Attr et sa valeur texte se trouve dans la balise Arg. Dans cette syntaxe et celles qui sont décrites plus loin, il n'est pas nécessaire que la valeur soit une chaîne ; elle peut être générée avec un autre algorithme. Par exemple, le code XML suivant peut être utilisé pour tester la présence d'une valeur nulle :
<Value algorithm="wt.rule.algorithm.EqualsTest">
<Attr id="name"/>
<Value algorithm="wt.rule.algorithm.GetNullValue"/>
</Value>
La syntaxe générale de l'algorithme StringInList est construite à partir de la syntaxe précédente :
<Value algorithm="wt.rule.algorithm.StringInList">
<Attr id="aaa"/>
<Arg>bbb</Arg>
<Arg>ccc</Arg>
<Arg>ddd</Arg>
<Arg>eee</Arg>
:
</Value>
En vous servant de cette syntaxe comme d'un guide, indiquez une balise Arg pour chaque élément de la liste après le premier élément défini dans la balise Attr.
La syntaxe de l'algorithme AndTest est constituée de plusieurs balises Value imbriquées, dans lesquelles chaque balise Value est évaluée et toutes les évaluations doivent avoir la valeur true pour que le résultat d'AndTest soit TRUE.
La syntaxe de l'algorithme OrTest est constituée de plusieurs balises Value imbriquées, dans lesquelles chaque balise Value est évaluée, sachant qu'au moins l'une d'elles doit avoir la valeur true pour que le résultat de l'algorithme OrTest soit TRUE.
En général, les balises Value utilisées dans un algorithme AndTest ou OrTest contiennent d'autres algorithmes de logique conditionnelle.