| RoomModel VarargsTest { |
| |
| import room.basic.types.boolean |
| import room.basic.types.int32 |
| import room.basic.types.string |
| import room.basic.test.TestInstance |
| |
| ActorClass AVarargs { |
| @TestInstance |
| Structure { |
| Attribute caseId : int32 |
| |
| Port port: PVarargs |
| Attribute attr: DVarargs |
| Attribute text : string = "text" |
| } |
| Behavior { |
| |
| // varargs keyword is hidden in proposals -> internal use |
| Operation log(format: string, args: string varargs) '''''' |
| Operation single(args: string varargs) '''''' |
| Operation callTest() ''' |
| //log("text"); // does not work in C due varargs macro |
| log("text %d", "5"); |
| log("text %d, %s", "5", text); |
| //single(); // does not work in C due varargs macro |
| single("5"); |
| single("5", "txt"); |
| |
| port.callTest(); |
| |
| //port.log("text"); |
| port.log("text %d", "5"); |
| port.log("text %d, %s", "5", "txt"); |
| //port.single(); |
| port.single("5"); |
| port.single("5", "txt"); |
| |
| // not supported by translation |
| /* |
| //attr.callTest(); |
| //attr.log("text"); |
| attr.log("text %d", "5"); |
| attr.log("text %d, %s", "5", "txt"); |
| //attr.single(); |
| attr.single("5"); |
| attr.single("5", "txt"); |
| */ |
| ''' |
| |
| ctor ''' |
| caseId = etUnit_openAll("log", "VarargsTest", "org.eclipse.etrice.generator.common.tests.VarargsTest", "VarargsTest_case"); |
| ''' |
| dtor ''' |
| etUnit_closeAll(caseId); |
| ''' |
| StateMachine { |
| Transition init: initial -> finish |
| State finish { |
| entry ''' |
| callTest(); |
| etUnit_testFinished(caseId); |
| ''' |
| } |
| } |
| } |
| } |
| |
| ProtocolClass PVarargs { |
| incoming { |
| Message dummy() |
| } |
| regular PortClass |
| { |
| Operation log(format: string, args: string varargs) '''''' |
| Operation single(args: string varargs) '''''' |
| Operation callTest() ''' |
| //log("text"); |
| log("text %d", "5"); |
| log("text %d, %s", "5", "txt"); |
| //single(); |
| single("5"); |
| single("5", "txt"); |
| ''' |
| } |
| } |
| |
| DataClass DVarargs { |
| Attribute dummy: boolean |
| |
| // varargs keyword is hidden in proposals -> internal use |
| Operation log(format: string, args: string varargs) '''''' |
| Operation single(args: string varargs) '''''' |
| Operation callTest() ''' |
| //log("text"); |
| log("text %d", "5"); |
| log("text %d, %s", "5", "txt"); |
| //single(); |
| single("5"); |
| single("5", "txt"); |
| ''' |
| } |
| } |