Amministrazione avanzata > Adattamento di business object > Amministrazione delle regole di inizializzazione degli oggetti > Utilizzo delle regole di inizializzazione oggetto > Algoritmi delle regole > Algoritmi di logica condizionale > Algoritmi di test
  
Algoritmi di test
Di seguito sono descritti gli algoritmi di test predefiniti.
Algoritmo
Descrizione
wt.rule.algorithm.EqualsTest
Dati due oggetti, ne determina l'eguaglianza. Viene utilizzato per eseguire un confronto tra oggetti.
Restituisce TRUE se esiste una corrispondenza, altrimenti restituisce FALSE.
wt.rule.algorithm.StringEqualsTest
Dato un attributo e un valore, ne determina l'eguaglianza. L'algoritmo forza ogni valore come stringa utilizzando toString( ) prima del confronto. Nella stringa utilizzata per il confronto tra stringhe non viene applicata la distinzione tra maiuscole e minuscole.
Restituisce TRUE se esiste una corrispondenza, altrimenti restituisce FALSE.
wt.rule.algorithm.StringRegExEqualsTest
Dati un attributo e un valore, con \u201c*\u201d nel valore, ne determina l'eguaglianza utilizzando i normali concetti correlati alle espressioni. L'algoritmo utilizza l'implementazione java.util.regex della normale corrispondenza tra espressioni. L'algoritmo forza il valore del primo tag Arg su una stringa mediante toString( ) prima di eseguire il confronto.
Restituisce TRUE se trova una corrispondenza e la corrispondenza è l'intero argomento stringa.
wt.rule.algorithm.IfNullTest
Dato il valore di un attributo, stabilisce se il valore è nullo.
Restituisce TRUE se il primo argomento è un valore nullo, altrimenti restituisce FALSE.
Per restituire un valore nullo, utilizzare l'algoritmo wt.rule.algorithm.GetNullValue.
wt.rule.algorithm.IfNotNullTest
Dato il valore di un attributo, determina se il valore non è nullo.
Restituisce TRUE se il primo argomento non è un valore nullo, altrimenti restituisce FALSE.
Per restituire un valore nullo, utilizzare l'algoritmo wt.rule.algorithm.GetNullValue.
com.ptc.core.rule.server.impl.IfContainerTypeEqualsProjectTest
Dato il contesto in cui risiede l'oggetto, determina se il contesto è un contesto wt.projmgmt.admin.Project2.
Restituisce TRUE se il contesto è un'istanza della classe o della sottoclasse wt.projmgmt.admin.Project2 o un sottotipo della classe Project2, altrimenti restituisce FALSE.
L'algoritmo restituisce TRUE se il contesto è un contesto di progetto o programma.
wt.rule.algorithm.AndTest
Dati due o più confronti, restituisce TRUE se tutti i confronti restituiscono TRUE, altrimenti restituisce FALSE.
wt.rule.algorithm.OrTest
Dati due o più confronti, restituisce TRUE se uno dei confronti restituisce TRUE, altrimenti restituisce FALSE.
wt.rule.algorithm.StringInListTest
Dato un elenco di valori, verifica se il primo valore definito in un tag Attr è uguale a una delle altre voci dell'elenco definite nei tag Arg. L'algoritmo forza ogni valore come stringa utilizzando toString() prima del confronto.
Restituisce TRUE se esiste una corrispondenza, altrimenti restituisce FALSE.
com.ptc.windchill.enterprise.impl.OrgNameEqualsTest
Dati il nome di un partecipante dell'organizzazione proprietaria (ovvero il valore memorizzato nell'attributo organization.id) e una stringa di denominazione di un'organizzazione, restituisce TRUE se il valore dell'attributo organization.id è lo stesso della stringa. Altrimenti, restituisce FALSE. Per ulteriori informazioni, vedere Partecipanti dell'organizzazione proprietaria.
La sintassi generale per l'utilizzo degli algoritmi EqualsTest, StringEqualsTest e StringRegExEqualsTest è la seguente:
<Value algorithm="wt.rule.algorithm.xxxEqualsTest">
<Attr id="aaa"/>
<Arg>bbb</Arg>
</Value>
In questa sintassi, l'attributo da valutare è specificato nel tag Attr e il suo valore stringa è nel tag Arg. In questa sintassi e in altre descritte di seguito, il valore non deve essere necessariamente una stringa. Può essere generato tramite un altro algoritmo. L'istruzione XML riportata di seguito, ad esempio, può essere utilizzata per verificare un valore nullo.
<Value algorithm="wt.rule.algorithm.EqualsTest">
<Attr id="name"/>
<Value algorithm="wt.rule.algorithm.GetNullValue"/>
</Value>
La sintassi generale dell'algoritmo StringInList è basata sulla sintassi precedente:
<Value algorithm="wt.rule.algorithm.StringInList">
<Attr id="aaa"/>
<Arg>bbb</Arg>
<Arg>ccc</Arg>
<Arg>ddd</Arg>
<Arg>eee</Arg>
:
</Value>
Utilizzando questa sintassi come guida, specificare un tag Arg per ogni voce dell'elenco successiva alla prima definita nel tag Attr.
La sintassi dell'algoritmo AndTest è costituita da più tag Value nidificati, dove ciascun tag Value è valutato e tutte le valutazioni devono essere TRUE affinché AndTest restituisca TRUE.
La sintassi dell'algoritmo OrTest è costituita da più tag Value nidificati, dove ciascun tag Value è valutato e almeno una delle valutazioni deve essere TRUE affinché OrTest restituisca TRUE.
In genere i tag Value utilizzati all'interno di un algoritmo AndTest o OrTest contengono a loro volta altri algoritmi di logica condizionale.