12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?xml version="1.0" ?>
- <diagram
- xmlns="msdl.uantwerpen.be/sccd"
- author="Joeri Exelmans"
- name="no_statechart" language="python">
- <description>
- Test to see what happens when a class with no statechart is defined.
- </description>
- <inport name="in"/>
- <outport name="out"/>
- <!-- POD -->
- <class name="my_struct">
- <attribute name="x"/>
- <attribute name="y"/>
- <constructor>
- <parameter name="x"/>
- <parameter name="y"/>
- <body>
- self.x = x
- self.y = y
- </body>
- </constructor>
- </class>
- <class name="my_class" default="true">
- <constructor>
- <body>
- self.data = SCCDClass_my_struct(0, 0)
- </body>
- </constructor>
- <scxml initial="a">
- <state id="a">
- <transition after="0.1" cond="self.data.x < 2" target="../b">
- <raise event="to_b" port="out">
- <parameter expr="self.data.x"/>
- </raise>
- <script>
- self.data.x += 1
- </script>
- </transition>
- </state>
- <state id="b">
- <transition after="0.1" cond="self.data.y < 2" target="../a">
- <script>
- self.data.y += 1
- </script>
- <raise event="to_a" port="out">
- <parameter expr="self.data.y"/>
- </raise>
- </transition>
- </state>
- </scxml>
- </class>
- <test>
- <expected>
- <slot>
- <!-- big step -->
- <event name="to_b" port="out">
- <parameter value="0"/>
- </event>
- </slot>
- <slot>
- <!-- big step -->
- <event name="to_a" port="out">
- <parameter value="1"/>
- </event>
- </slot>
- <slot>
- <!-- big step -->
- <event name="to_b" port="out">
- <parameter value="1"/>
- </event>
- </slot>
- <slot>
- <!-- big step -->
- <event name="to_a" port="out">
- <parameter value="2"/>
- </event>
- </slot>
- </expected>
- </test>
- </diagram>
|