Spezielle Verwaltung > Geschäftsobjekte anpassen > Objektinitialisierungsregel-Verwaltung > Mit Objektinitialisierungsregeln arbeiten > Regelalgorithmen > Bedingungslogik-Algorithmen > Testalgorithmen
  
Testalgorithmen
Folgende vordefinierte Testalgorithmen stehen zur Verfügung:
Algorithmus
Beschreibung
wt.rule.algorithm.EqualsTest
Ermitteln die Gleichheit von zwei Objekten. Dabei handelt es sich um einen direkten Objektvergleich.
Gibt bei Übereinstimmung WAHR zurück, ansonsten FALSCH.
wt.rule.algorithm.StringEqualsTest
Ermittelt die Gleichheit anhand eines Attributs und Werts. Der Algorithmus konvertiert vor dem Vergleich mithilfe von toString() alles in eine Zeichenfolge. Bei diesem Zeichenfolgenvergleich wird die Groß-/Kleinschreibung nicht beachtet.
Gibt bei Übereinstimmung WAHR zurück, ansonsten FALSCH.
wt.rule.algorithm.StringRegExEqualsTest
Ermittelt bei einem Attribut und einem Wert mit \u201c*\u201d die Gleichheit mithilfe von Konzepten, die regulären Ausdrücken ähnlich sind. Dieser Algorithmus verwendet die java.util.regex-Implementierung für den Abgleich regulärer Ausdrücke. Der Algorithmus erzwingt als Wert des ersten Arg-Tags eine Zeichenfolge mit toString( ) vor dem Vergleich.
Bei einer Überstimmung mit dem ganzen Zeichenfolgenargument wird WAHR zurückgegeben.
wt.rule.algorithm.IfNullTest
Ermittelt anhand des Werts eines Attributs, ob der Wert ein Nullwert ist.
Gibt WAHR zurück, wenn das erste Argument ein Nullwert ist, ansonsten FALSCH.
Verwenden Sie zur Rückgabe eines Nullwerts den wt.rule.algorithm.GetNullValue-Algorithmus.
wt.rule.algorithm.IfNotNullTest
Ermittelt anhand des Werts eines Attributs, ob der Wert kein Nullwert ist.
Gibt WAHR zurück, wenn das erste Argument kein Nullwert ist, ansonsten FALSCH.
Verwenden Sie zur Rückgabe eines Nullwerts den wt.rule.algorithm.GetNullValue-Algorithmus.
com.ptc.core.rule.server.impl.IfContainerTypeEqualsProjectTest
Ermittelt anhand des Kontexts, in dem sich das Objekt befindet, ob der Kontext ein wt.projmgmt.admin.Project2-Kontext ist.
Gibt WAHR zurück, wenn der Kontext eine Instanz der wt.projmgmt.admin.Project2-Klasse oder -Unterklasse bzw. ein Untertyp der Project2-Klasse ist, ansonsten FALSCH.
Der Algorithmus gibt WAHR zurück, wenn der Kontext entweder ein Projekt- oder ein Programmkontext ist.
wt.rule.algorithm.AndTest
Gibt WAHR zurück, wenn zwei oder mehrere Vergleiche WAHR zurückgeben. Ansonsten wird FALSCH zurückgegeben.
wt.rule.algorithm.OrTest
Gibt WAHR zurück, wenn mindestens einer von zwei oder mehreren Vergleichen WAHR zurückgibt. Ansonsten wird FALSCH zurückgegeben.
wt.rule.algorithm.StringInListTest
Testet anhand einer Liste von Werten, ob der erste Wert, der in einem Attr-Tag definiert ist, gleich einem der anderen Elementen in der Liste ist, die in den Arg-Tags definiert sind. Der Algorithmus konvertiert vor dem Vergleich alles in eine Zeichenfolge mithilfe von toString().
Gibt bei Übereinstimmung WAHR zurück, ansonsten FALSCH.
com.ptc.windchill.enterprise.impl.OrgNameEqualsTest
Gibt WAHR zurück, wenn der Name eines Teilnehmers einer besitzenden Organisation (dies ist der im Attribut organization.id gespeicherte Wert) und eine Zeichenfolge, die eine Organisation benennt, angegeben sind und der Wert des Attributs organization.id gleich der Zeichenfolge ist. Ansonsten wird FALSCH zurückgegeben. Weitere Informationen finden Sie unter Teilnehmer der besitzenden Organisation.
Die Algorithmen EqualsTest, StringEqualsTest und StringRegExEqualsTest weisen folgende allgemeine Syntax auf:
<Value algorithm="wt.rule.algorithm.xxxEqualsTest">
<Attr id="aaa"/>
<Arg>bbb</Arg>
</Value>
Bei dieser Syntax wird das zu bewertende Attribut im Attr-Tag angegeben und sein Zeichenfolgenwert im Arg-Tag. In dieser Syntax und anderen, die weiter unten beschrieben werden, muss der Wert keine Zeichenfolge sein, sondern kann auch mithilfe eines anderen Algorithmus generiert werden. Der folgende XML-Code kann z.B. zum Testen eines Nullwerts verwendet werden:
<Value algorithm="wt.rule.algorithm.EqualsTest">
<Attr id="name"/>
<Value algorithm="wt.rule.algorithm.GetNullValue"/>
</Value>
Die allgemeine Syntax für den Algorithmus StringInList ist an die vorherige Syntax angelehnt:
<Value algorithm="wt.rule.algorithm.StringInList">
<Attr id="aaa"/>
<Arg>bbb</Arg>
<Arg>ccc</Arg>
<Arg>ddd</Arg>
<Arg>eee</Arg>
:
</Value>
Geben Sie in Anlehnung an diese Syntax einen Arg-Tag für jedes Element in der Liste nach dem ersten Element an, das im Attr-Tag definiert ist.
Die Syntax für den Algorithmus AndTest besteht aus mehreren verschachtelten Value-Tags, wobei jeder Value-Tag ausgewertet wird und alle Auswertungen WAHR sein müssen, damit auch das AndTest-Ergebnis WAHR ist.
Die Syntax für den Algorithmus OrTest besteht aus mehreren verschachtelten Value-Tags, wobei jeder Value-Tag ausgewertet wird und mindestens einer WAHR sein muss, damit auch das Ergebnis des OrTest-Algorithmus WAHR ist.
Allgemein enthalten die in den AndTest- oder OrTest-Algorithmen verwendeten Value-Tags andere Bedingungslogik-Algorithmen.