when 構造を使用したモデルのシミュレーションの検証
Test Assessment ブロックで、when 構造シーケンスを使用して、verify ステートメントを含むステップを有効にするシミュレーション条件を定義できます。when 構造シーケンスでは、定義したシミュレーション条件に基づいてステップが有効になります。when 構造シーケンスの詳細については、テスト シーケンスの基礎を参照してください。
verify ステートメントは論理式を評価し、各タイム ステップとシミュレーション全体について、pass、fail、または untested の結果を返します。いずれかのタイム ステップで結果が fail になると、シミュレーション全体の結果が fail になります。失敗になる結果が 1 つもない場合、いずれかのタイム ステップで pass になると、シミュレーション全体の結果が pass になります。それ以外の場合、全体の結果は untested になります。その後、テスト マネージャーまたはシミュレーション データ インスペクター (テスト ケースなしでシミュレーションを実行する場合) でテスト結果を確認できます。テストされた verify ステートメントの結果のみをログに記録して、pass と fail のステートメントのみを表示するように選択できます。verify ステートメントの作成の詳細については、verify を参照してください。
verify ステートメントは when 構造で次のように作成できます。
モデルで Test Sequence ブロックをソースとして使用しない場合、またはテスト シーケンス ステップが検証する条件と対応しない場合。この状況では、それぞれの
verifyステートメントを信号条件を使用して有効にできます。モデルで Test Sequence ブロックをソースとして使用する場合。この状況では、Test Assessment ブロックの
verifyステートメントを Test Sequence ブロックのアクティブなステップを使用して有効にできます。アクティブなステップの出力を別のブロックへの入力として使用を参照してください。
信号条件を使用した verify ステートメントの有効化
この例では、Test Assessment ブロックの when 構造で verify ステートメントを使用してテスト ハーネスの評価を作成する方法を示します。
このモデルは、オフ、低速、クイックの 3 つのモードで動作するシンプルな信号トラッカーを実装します。

出力と誤差の信号を確認するには、モデルをシミュレートします。

テスト ハーネスを開く
SimpleTracker サブシステムには、Test Assessment ブロックを含むテスト ハーネスが含まれています。

Test Assessment ブロックでは、when 構造の verify ステートメントを使用して SimpleTracker サブシステムの動作を評価します。

CheckError ステップに 3 つのサブステップをもつ when 構造があります。
modeの値が0の場合、OffModeがアクティブになります。modeの値が1の場合、SlowModeがアクティブになります。modeの値がそれ以外の場合、いずれもQuickModeがアクティブになります。
モデルの評価の実行
評価を実行するには、テスト ハーネスをシミュレートします。シミュレーション データ インスペクターを開いて結果を検証します。


テストされた verify の結果のみのログ記録
pass と fail の結果のみをログに記録して表示するには、[ハーネス] タブで [Suppress Untested Results] をクリックします。テスト ハーネスをシミュレートし、シミュレーション データ インスペクターを開きます。シミュレーション データ インスペクターに untested の結果は表示されません。

テスト シーケンス ステップを使用した verify ステートメントの有効化
モデルで Test Sequence をブロック ソースとして使用する場合、Test Sequence ブロックと Test Assessment ブロックを Test Sequence ブロックからのアクティブなステップ信号を使用して接続できます。Test Assessment ブロックで when 構造を作成して verify ステートメントを定義し、モデルのシミュレーションを評価できます。
たとえば、Harness1_TestSeqAndTestAssessment ハーネスには Test Sequence ブロックと Test Assessment ブロックが含まれています。ブロックは Active_Step 信号で接続されています。

Test Assessment ブロックに 4 つのサブステップをもつ when 構造シーケンスが含まれています。各サブステップに、2 つの論理式を評価する verify ステートメントが含まれています。各 verify ステートメントは、Test Sequence ブロックの異なるステップで有効になります。
この例の Else ステップにはアクションはなく、前の when 条件のいずれにも一致しないシミュレーション条件を処理します。このステップに when 条件を含めることはできません。

Test Assessment の verify ステートメントを Test Sequence ブロックのアクティブなステップを使用して有効にするには、Test Sequence ブロックのアクティブなステップのデータ出力を作成します。Test Sequence ブロックを選択し、プロパティ インスペクターで [アクティブなステップの監視用データを作成] を選択して [データ型] を Enum に設定します。[Enum 名] に名前を入力します。

次に、Test Assessment ブロックの入力データを作成します。Test Assessment ブロックを開き、[シンボル] ペインで [入力] をポイントして [データの追加]
をクリックし、入力に名前を付けます。Test Sequence ブロックの出力を Test Assessment ブロックの入力に接続します。
Test Assessment ブロックで when 構造を作成します。Test Assessment ブロックには、既定で when 構造シーケンスがあります。標準のシーケンスと when 分解構造シーケンスを切り替えるには、親ステップを右クリックして [when 分解構造] を選択します。それぞれの when 構造ステップについて、アクティブなステップの列挙データを使用してそのステップがアクティブになるタイミングを定義します。
VerifyBoth when TSActiveStepIN == ... TSActiveStepEnum.PressBothButtons
参考
Test Sequence エディター | Test Sequence | Test Assessment | verify | sltest.testmanager.Assessment | sltest.testmanager.AssessmentSymbol | sltest.testmanager.TestCase