Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorial:hybrid_model [2020/12/31 02:55]
admin [Generate Test Cases]
tutorial:hybrid_model [2021/01/05 03:00] (current)
Line 3: Line 3:
 Learning Objectives: Learning Objectives:
   * Differences between state model and combinatorial model   * Differences between state model and combinatorial model
-  * Hybrid model+  * Hybrid model (embedding combinatorial model in state model) 
  
  
Line 162: Line 163:
 To write a line of script in TRIGGER for transition "CheckOut", select script context menu for transition "CheckOut": To write a line of script in TRIGGER for transition "CheckOut", select script context menu for transition "CheckOut":
  
-{{wiki:overview:tut_DataSet_menuTransScript.png?200}}+{{wiki:overview:tut_DataSet_menuTransScript.png?250}}
  
 +IDE should navigate to //SCRIPT// tab.  Since the TRIGGER for transition "CheckOut" has not been created, you will be prompted to create it:
  
 +{{wiki:overview:tut_DataSet_ScriptAddDialog.png?500}}
 +
 +Click "OK" to create the skeleton TRIGGER script for the transition:
 +
 +{{wiki:overview:tut_DataSet_ScriptCheckOut.png?500}}
 +
 +Alternatively you can add the skeleton TRIGGER script for the transition by pressing Ctrl-I while your cursor is placed on a blank line in //SCRIPT// tab and select transition "CheckOut":
 +
 +{{wiki:overview:tut_DataSet_AddTrigger.png?100}}
 +
 +
 +
 +TRIGGER script is just a //groovy// function, go ahead and add two lines of scripts as show below:
 +
 +{{wiki:overview:tut_DataSet_TriggerCheckOut.png?500}}
 +
 +
 +The "log" scripts above prints the current row of the data set and "Payment Type" and "CardNum" to //Script Log//.
 +
 +Save the changes and run the model again. Examine //Script Log// (click on the script log button {{wiki:overview:tut_DataSet_ScriptLogBtn.png?50}} in //RESULT// tab):
 +
 +Below is the first few lines from the script log:
  
    C:\eclipse-workspace\TestOptimal_Dev\model\Demo_DataSet.fsm\temp\script.log    C:\eclipse-workspace\TestOptimal_Dev\model\Demo_DataSet.fsm\temp\script.log
Line 197: Line 221:
 ==== Loop through Data Set ==== ==== Loop through Data Set ====
  
 +The data set can also be looped programmatically by scripting as follows:
 +   dataset = $SYS.getDataSet('PaymentOptions');
 +   
 +   // rewind dataset to first row
 +   dataset.rewind();
 +   
 +   // retrieve data
 +   paymentType = dataset.getData('PaymentType');
 +   
 +   // advance to next row, if rowIdx == 0, all rows exhausted
 +   rowIdx = dataset.nextRow();
  
 +Please note that the data set being looped programmatically as above can not be attached to the transition at the same time.