検証クラス

検証クラスを使用すると、異なるタイプのビジネス・ルールを適用できます。汎用的に使用できる検証クラスと、特定の目的に使用する検証クラスがあります。既存の検証クラスのセットから、検証を作成できます。ノードに対するビジネス・ルールの多くは、そのロジックへの問合せを使用する検証クラスで適用できます。そのため、分析の目的で作成されている問合せを検証で利用し、データ整合性を管理することも可能です。バージョンおよび階層、またはノードの特殊ケースに関するルールは、他の検証クラスを使用して実行できます。検証クラスの一部は、製品テストの目的にのみ使用され、本番環境では使用されません。

表10-1 検証クラス

検証クラス レベル 説明 パラメータ

BoolNodeInHier

ノード

指定された階層で、指定されたブール・プロパティの値がTrueであることを検証します。

プロパティ、階層

ContainAllProp

グローバル・ノード

指定された階層に、指定されたプロパティがTrueであるノードがすべて含まれることを検証します。

階層、プロパティ

ContainAllWith

グローバル・ノード

指定された階層に、指定されたプロパティが指定された値であるノードがすべて含まれることを検証します。

階層、プロパティ、値

CustPropQuery

ノード

事前定義済問合せと予測される結果を使用して検証します。

ローカル・プロパティ問合せのみを使用できます。

プロパティ問合せ名、失敗値

DateRangeCheck

ノード

「開始日」が「終了日」より前であることを検証します。

開始日プロパティ、終了日プロパティ

Formula

ノード

式で表されるビジネス・ロジックを使用してノードを検証します。式の結果がFalseの場合は検証が失敗します。

Formula

GlobalPropQuery

グローバル・ノード

事前定義済問合せと予測される結果を使用して検証します。

プロパティ問合せ名、失敗値

HierContainsRef

ノード

ブール・プロパティがTrueの場合、またはノードがリーフで3番目のブール・プロパティがTrueの場合は、階層にノードへの参照が含まれます。

階層名、すべてのノードのブール・プロパティ、リーフ・ノードのブール・プロパティ

HierFail

階層

テストのために、階層レベルで自動的に失敗します。

なし

InvalidNameLength

ノード

ノード名が指定された長さに等しくないことを検証します。

長さ

MaxChildren

バージョン

ノード当たりの子の数が指定の制限を超えていないことを検証します。

子の最大数

MaxHierNodes

階層

階層内のノード数が指定の制限を超えていないことを検証します。

ノードの最大数

MaxVersionNodes

バージョン

バージョン内のノード数が指定の制限を超えていないことを検証します。

ノードの最大数

MergeEquiv

マージ

影響されるノードとマージ・ノードで、指定されたプロパティの値が同じであることを検証します。

グローバル・ノード・プロパティ

MergePropSet

マージ

影響されるノードのプロパティ値が設定(上書き)されている場合に、指定されたプロパティに対してマージ・ノードのプロパティ値が指定されていることを検証します(プロパティ値が同じである必要はありません)。

プロパティ

MixedKids

ノード

リムおよびリーフの両方の子があるノードをチェックします。

なし

NoBoolBranch

ノード

指定されたブール・プロパティが、指定された分岐で少なくとも1回はTrueに設定されていることを検証します。

プロパティ

NodeFail

グローバル・ノード

テストのために、バージョン・レベルのノードが自動的に失敗します。

なし

NodeFailRandom

ノード

テストのために、指定された割合のノードで自動的に失敗します。

失敗の割合

NoDefaults

ノード

指定されたプロパティでデフォルト値が使用されないことを検証します。

プロパティ

NoPropBranch

ノード

指定されたプロパティが、指定された分岐で少なくとも1回指定されていることを検証します。

プロパティ

PropEquivBool

ノード

3番目のブール・プロパティ値がTrueの場合のプロパティ同等性。

評価するブール・プロパティ、1番目のプロパティ、2番目のプロパティ

PropLength

ノード

指定されたプロパティが最小の長さ以上、かつ最大の長さ以下であることを検証します。

プロパティ、最小長、最大長

PropRemove

除去

(prop1、prop2、prop3のパラメータで)指定されたプロパティが指定された値(値1、値2、値3のパラメータ)に等しい場合にノードが除去されないようにします。

プロパティ1、プロパティ2、プロパティ3、値1、値2、値3

RequiredField

ノード

指定されたプロパティが指定された値を持つすべてのノードについて、必須リストの各プロパティが値を持つことを検証します。

  • 「デフォルトのレコードを拒否」フラグがTrueの場合は、必須リストの各プロパティがデフォルト以外の値を持つ必要があります。

  • 「デフォルトのレコードを拒否」フラグがFalseの場合は、デフォルト値が受け入れられます。

プロパティ、値、デフォルトのレコードを拒否、必須プロパティ

Script

ノード、階層、バージョン、マージ、グローバル・ノード、移動、除去、マージ

動的スクリプトを使用してデータを検証します。戻り値がTrueの場合は検証が成功します。戻り値がFalseの場合は検証が失敗します。

Script

SingleBoolBranch

ノード

指定されたブール・プロパティが、分岐ごとに1回のみTrueに設定されていることを検証します。

プロパティ

SinglePropBranch

ノード

指定されたプロパティが、分岐ごとに1回のみ設定されていることを検証します。

プロパティ

StrandedParent

ノード

すべてのリム・ノードに子があることを検証します。

なし

StrPropEqual

ノード

指定されたプロパティが指定された値に等しいノードのすべてで失敗します。

プロパティ、値

UniqueProp

ノード

指定されたプロパティの値が、階層内で重複していないことを検証します

「デフォルトを含む」が「False」の場合、デフォルト値のノードは含まれません。

共有を除外が「True」の場合、プロパティ値の一意性のチェック時に共有ノードは考慮されません。

プロパティ、デフォルトを含む、共有を除外

UniqueProp検証では、インデックス付きプロパティを使用することをお薦めします。

UniquePropBranch

ノード

指定されたプロパティの値が、分岐内で一意であることを検証します。

プロパティ

VersionFail

バージョン

テストのために、バージョン・レベルで自動的に失敗します。

なし

VersionUnique2Prop

グローバル・ノード

指定されたプロパティの値が、バージョン内で重複していないことを検証します

「デフォルトを含む」が「False」の場合、デフォルト値のノードは含まれません。

共有を除外が「True」の場合、プロパティ値の一意性のチェック時に共有ノードは考慮されません。

第1プロパティ、第2プロパティ、デフォルトを含む、共有を除外

VersionUniqueProp

グローバル・ノード

指定されたプロパティの値が、バージョン内で重複していないことを検証します

「デフォルトを含む」が「False」の場合、デフォルト値のノードは含まれません。

共有を除外が「True」の場合、プロパティ値の一意性のチェック時に共有ノードは考慮されません。

プロパティ、デフォルトを含む、共有を除外