h1(#Test2). Yakindu SCT Testcase 11 - Operations |_. Nr |_. Testname |_. Test Instructions |_. Postconditions |_. Status| | 11.1 | Preparations | In the src folder, create a new Java source file Operations.java with following contents:
@import java.io.IOException;@
@public class Operations {@
@public long returnFive() {@
@return 5;@
@}@
@public long returnSum(long i, double d) {@
@return (long) (i + d);@
@}@
@public void throwUncheckedException() {@
@throw new RuntimeException("Runtime Exception in executed code");@
@}@
@public void throwCheckedException() throws IOException {@
@throw new IOException("IOException in executed code");@
@}@
@}@
Right click on Staircase.sct.
In the context menu, select *Run as... → Run Configurations*.
In the Staircase run configuration, enter Operations as operation class.
Click *Apply*.
Click *Close*.
Open Staircase.sct and add the following to the internal scope:
@operation returnFive():integer@
@operation returnSum(param1 : integer, param2 : real ):integer@
@operation throwUncheckedException(): void@
@operation throwCheckedException():void@
@operation unsupportedMethod():void@ | There are no error markers in the project. There are five warnings "Internal declaration is not used in statechart". | %{color:red}open% |
| 11.2 | Calling a valid operation during statechat execution | Open Staircase.sct.
Edit transition from LightOn to LightOff and change the expression to
"@after returnFive() s@".
Run simulation.
Click keypress to transition to state LightOn.
| After 5 seconds the state transitions from LightOn to LightOff. | %{color:red}open% | | 11.3 | CheckedException during execution | Open Staircase.sct.Edit state LightOn.
Change expression to
"@entry / throwCheckedException()@".
Run simulation.
Click keypress to transition to state LightOn.
| A popup method informs the user that a IOException has occurred in the executed code and offers to relaunch or terminate the simulation. | %{color:red}open% | | 11.4 | UncheckedException during execution | Open Staircase.sct.Edit state LightOn.
Change expression to
"@entry / throwUncheckedException()@".
Run simulation.
Click keypress to transition to state LightOn.
| A popup method informs the user that a RuntimeException has occurred in the executed code and offers to relaunch or terminate the simulation. | %{color:red}open% | | 11.5 | Calling invalid operation | Open Staircase.sct.Edit transition from LightOn to LightOff and change the expression to
"@after returnFive s@", i.e. without the brackets.
Run simulation.
Click keypress to transition to state LightOn.
| After 5 seconds the state transitions from LightOn to LightOff. | %{color:red}open% | | 11.6 | Calling another valid operation during statechat execution | Open Staircase.sct.Edit transition from LightOn to LightOff and change the expression to
"@after returnSum(1, 4.1) s@".
Run simulation.
Click keypress to transition to state LightOn.
| After 5 seconds the state transitions from LightOn to LightOff. | %{color:red}open% |