| RoomModel StaticConfigTest { |
| |
| import room.basic.types.* from "../../../runtime/org.eclipse.etrice.modellib.java/model/Types.room" |
| import room.basic.service.timing.* from "../../../runtime/org.eclipse.etrice.modellib.java/model/TimingService.room" |
| |
| LogicalSystem System_StaticConfigTest { |
| SubSystemRef main : SubSystem_StaticConfigTest |
| } |
| |
| SubSystemClass SubSystem_StaticConfigTest { |
| LayerConnection ref top satisfied_by timer.timer |
| ActorRef top: Top_ac |
| ActorRef timer : ATimingService |
| } |
| |
| ActorClass Top_ac { |
| Structure { |
| LayerConnection ref testee_1 satisfied_by tester.spp |
| ActorRef testee_1: Testee_1_ac |
| ActorRef tester: Tester_ac |
| SAP timer : PTimer |
| } |
| Behavior { |
| ctor { |
| "etUnit_open(\"log\", \"StaticConfigTest\");" |
| "etUnit_openTestSuite(\"org.eclipse.etrice.generator.java.tests.StaticConfigTest\");" |
| } |
| dtor { |
| "etUnit_closeTestSuite();" |
| "etUnit_close();" |
| } |
| StateMachine { |
| Transition init: initial -> state0 { |
| action { |
| "timer.startTimeout(1000);" |
| } |
| } |
| Transition tr0: state0 -> state0 { |
| triggers { |
| <timeout: timer> |
| } |
| action { |
| "etUnit_testFinished(-1);" |
| } |
| } |
| State state0 |
| } |
| } |
| } |
| |
| ActorClass Tester_ac { |
| Interface { |
| SPP spp: TestProtocolWithDataClass |
| } |
| Structure { |
| ServiceImplementation of spp |
| ActorRef testee_super2: Testee_Super2_ac |
| Attribute caseId: int32 |
| |
| // none config test |
| Attribute data_3: Data_3_dc |
| } |
| Behavior { |
| StateMachine { |
| Transition init: initial -> s1 |
| State s1 { |
| entry { |
| "caseId = etUnit_openTestCase(\"AttrConfigTest_case_Tester_ac\");" |
| "data_3.varCheck3(caseId);" |
| "SubSystemClassBase subSystem = (SubSystemClassBase) RTServices.getInstance().getSubSystem();" |
| "Testee_Super2_ac testee_super2 = (Testee_Super2_ac) subSystem.getInstance(\"/System_StaticConfigTest/main/top/tester/testee_super2\");" |
| "int caseId_2 = etUnit_openTestCase(\"AttrConfigTest_case_Testee_Super2_ac\");" |
| "testee_super2.getReg_port().varCheck(caseId_2);" |
| "EXPECT_TRUE(caseId_2, \"Tester_ac:1\", testee_super2.getFloat64_super_r() == 1.1);" |
| "EXPECT_TRUE(caseId_2, \"Tester_ac:2\", testee_super2.getFloat64_super_c() == 2.2);" |
| "EXPECT_TRUE(caseId_2, \"Tester_ac:3\", testee_super2.getFloat64_super_i() == 3.3);" |
| "EXPECT_EQUAL_FLOAT32(caseId,\"Tester_ac:4\", 25.f, testee_super2.getReg_port().getFloat_i(), 0.1f);" |
| "etUnit_closeTestCase(caseId);" |
| "etUnit_closeTestCase(caseId_2);" |
| } |
| } |
| } |
| } |
| } |
| |
| ActorClass Testee_1_ac { |
| Interface { |
| conjugated Port conj_port: TestProtocolAttributes |
| } |
| Structure { |
| ActorRef testee_2: Testee_2_ac |
| Attribute caseId: int32 |
| Attribute data_1: Data_1_dc |
| Attribute enumval1: Enum_1 = "one" |
| Attribute enumval2: Enum_2 = "four" |
| external Port conj_port |
| } |
| Behavior { |
| StateMachine { |
| Transition init: initial -> s1 |
| State s1 { |
| entry { |
| "caseId = etUnit_openTestCase(\"AttrConfigTest_case_Testee_1_ac\");" |
| "conj_port.varCheck();" |
| "data_1.varCheck1(caseId);" |
| "EXPECT_FALSE(caseId,\"testee_1:data_1:1\", getData_1().getBool_c());" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:2\", getData_1().getInt8_c() == 24);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:3\", getData_1().getInt16_c() == 48);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:4\", getData_1().getInt32_c() == 96);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:5\", getData_1().getInt64_c() == 192);" |
| "EXPECT_EQUAL_FLOAT32(caseId,\"testee_1:data_1:6\", 9.6f, getData_1().getFloat32_c(), 0.1f);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:7\", getData_1().getFloat64_c() == 19.2);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:8\", getData_1().getChar_c() == \'C\');" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:9\", getData_1().getString_c().equals(\":)\"));" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:10\", getData_1().getBool_i());" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:11\", getData_1().getInt8_i() == 2);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:12\", getData_1().getInt16_i() == 4);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:13\", getData_1().getInt32_i() == 8);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:14\", getData_1().getInt64_i() == 16);" |
| "EXPECT_EQUAL_FLOAT32(caseId,\"testee_1:data_1:15\", 1.6f, getData_1().getFloat32_i(), 0.1f);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:16\", getData_1().getFloat64_i() == 3.2);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:17\", getData_1().getChar_i() == \'I\');" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:18\", getData_1().getString_i().equals(\":]\"));" |
| |
| // Array |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:19\", getData_1().getBool_array_c()[0] == true && getData_1().getBool_array_c()[1] == false);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:20\", getData_1().getInt8_array_c()[0] == 24 && getData_1().getInt8_array_c()[1] == 48);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:21\", getData_1().getInt16_array_c()[0] == 48 && getData_1().getInt16_array_c()[1] == 96);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:22\", getData_1().getInt32_array_c()[0] == 96 && getData_1().getInt32_array_c()[1] == 192);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:23\", getData_1().getInt64_array_c()[0] == 192 && getData_1().getInt64_array_c()[1] == 384);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:24\", getData_1().getFloat32_array_c()[0] == 9.6f && getData_1().getFloat32_array_c()[1] == 9.6f);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:25\", getData_1().getFloat64_array_c()[0] == 19.2 && getData_1().getFloat64_array_c()[1] == 19.2);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:26\", String.valueOf(getData_1().getChar_array_c()).equals(\"Claz\"));" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:27\", getData_1().getBool_array_i()[0] == true && getData_1().getBool_array_i()[1] == true);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:28\", getData_1().getInt8_array_i()[0] == 2 && getData_1().getInt8_array_i()[1] == 6);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:29\", getData_1().getInt16_array_i()[0] == 4 && getData_1().getInt16_array_i()[1] == 12);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:30\", getData_1().getInt32_array_i()[0] == 8 && getData_1().getInt32_array_i()[1] == 24);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:31\", getData_1().getInt64_array_i()[0] == 16 && getData_1().getInt64_array_i()[1] == 48);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:32\", getData_1().getFloat32_array_i()[0] == 1.6f && getData_1().getFloat32_array_i()[1] == 1.6f);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:33\", getData_1().getFloat64_array_i()[0] == 3.2 && getData_1().getFloat64_array_i()[1] == 3.2);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:34\", String.valueOf(getData_1().getChar_array_i()).equals(\"Inst\"));" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:35\", getData_1().getData_2().getInt32_c() == 42);" |
| "EXPECT_TRUE(caseId,\"testee_1:data_1:36\", getData_1().getData_2().getInt32_i() == 43);" |
| |
| // enums |
| "EXPECT_TRUE(caseId,\"testee_1:enumval1\", getEnumval1() == Enum_1.two);" |
| "EXPECT_TRUE(caseId,\"testee_1:enumval2\", getEnumval2() == Enum_2.three);" |
| "etUnit_closeTestCase(caseId);" |
| } |
| } |
| } |
| } |
| } |
| |
| ActorClass Testee_Super2_ac { |
| Interface { |
| Port reg_port: TestProtocolAttributes |
| } |
| Structure { |
| Attribute caseId: int32 |
| |
| // test |
| Attribute data_2: Data_2_dc |
| Attribute float64_super_r: float64 = "1.1" |
| Attribute float64_super_c: float64 = "1.1" |
| Attribute float64_super_i: float64 = "1.1" |
| external Port reg_port |
| } |
| } |
| |
| ActorClass Testee_2_ac extends Testee_Super2_ac { |
| Structure { |
| Attribute int32_own_r: int32 = "11" |
| Attribute int32_own_c: int32 = "11" |
| Attribute int32_own_i: int32 = "11" |
| SAP sap: TestProtocolWithDataClass |
| } |
| Behavior { |
| StateMachine { |
| Transition init: initial -> s1 |
| State s1 { |
| entry { |
| "caseId = etUnit_openTestCase(\"AttrConfigTest_case_Testee_2_ac\");" |
| "sap.varCheck(caseId);" |
| "reg_port.varCheck(caseId);" |
| "EXPECT_TRUE(caseId, \"Testee_2_ac:1\", float64_super_c == 2.2);" |
| "EXPECT_TRUE(caseId, \"Testee_2_ac:2\", float64_super_i == 4.4);" |
| "EXPECT_TRUE(caseId, \"Testee_2_ac:3\", int32_own_r == 11);" |
| "EXPECT_TRUE(caseId, \"Testee_2_ac:4\", int32_own_c == 12);" |
| "EXPECT_TRUE(caseId, \"Testee_2_ac:5\", int32_own_i == 13);" |
| "EXPECT_EQUAL_FLOAT32(caseId,\"Testee_2_ac:reg_port:6\", 50.f, reg_port.getFloat_i(), 0.1f);" |
| "etUnit_closeTestCase(caseId);" |
| } |
| } |
| } |
| } |
| } |
| |
| ProtocolClass TestProtocolAttributes { |
| incoming { |
| Message dummy() |
| } |
| regular PortClass |
| { |
| Operation varCheck(caseId: int32) { |
| "EXPECT_EQUAL_FLOAT32(caseId,\"TestProtocolAttributes:1\", 4.f, float_r, 0.1f);" |
| "EXPECT_EQUAL_FLOAT32(caseId,\"TestProtocolAttributes:2\", 3.f, float_c, 0.1f);" |
| } |
| Attribute float_r: float32 = "4" |
| Attribute float_c: float32 = "16" |
| Attribute float_i: float32 = "256" |
| } |
| conjugated PortClass |
| { |
| Operation varCheck() { |
| "int caseId = etUnit_openTestCase(\"ConfigTest_case_PortProtocol_conjugated\");" |
| "EXPECT_TRUE(caseId,\"array2_r[0]: <|MODEL_LOCATION|>\", array2_r[0] == 11);" |
| "EXPECT_TRUE(caseId,\"array2_r[1]: <|MODEL_LOCATION|>\", array2_r[1] == 22);" |
| "EXPECT_TRUE(caseId,\"array2_c[0]: <|MODEL_LOCATION|>\", array2_c[0] == 16);" |
| "EXPECT_TRUE(caseId,\"array2_c[1]: <|MODEL_LOCATION|>\", array2_c[1] == 32);" |
| "EXPECT_TRUE(caseId,\"array2_i[0]: <|MODEL_LOCATION|>\", array2_i[0] == 1);" |
| "EXPECT_TRUE(caseId,\"array2_i[1]: <|MODEL_LOCATION|>\", array2_i[1] == 2);" |
| "etUnit_closeTestCase(caseId);" |
| } |
| Attribute array2_r [ 2 ]: int64 = "{11,22}" |
| Attribute array2_c [ 2 ]: int64 = "{0,0}" |
| Attribute array2_i [ 2 ]: int64 = "{0,0}" |
| } |
| } |
| |
| ProtocolClass TestProtocolWithDataClass { |
| incoming { |
| Message dummy() |
| } |
| |
| //SAP |
| conjugated PortClass |
| { |
| Operation varCheck(caseId: int32) { |
| "sap_data_2.varCheck2(caseId);" |
| "sap_data_3.varCheck3(caseId);" |
| "EXPECT_TRUE(caseId, \"TestProtocolWithDataClass:1\", getSap_data_2().getInt32_c() == 2);" |
| "EXPECT_TRUE(caseId, \"TestProtocolWithDataClass:1\", getSap_data_2().getInt32_i() == 3);" |
| } |
| Attribute sap_data_2: Data_2_dc |
| |
| // none config test |
| Attribute sap_data_3: Data_3_dc |
| } |
| } |
| |
| DataClass Data_Super1_dc { |
| |
| // PrimitiveType |
| Attribute bool_r: boolean = "false" |
| Attribute bool_c: boolean = "false" |
| Attribute bool_i: boolean = "false" |
| Attribute int8_r: int8 = "8" |
| Attribute int8_c: int8 = "8" |
| Attribute int8_i: int8 = "8" |
| |
| // Array |
| Attribute bool_array_r [ 2 ]: boolean = "{ FALSE, false }" |
| Attribute bool_array_c [ 2 ]: boolean = "{ false, false }" |
| Attribute bool_array_i [ 2 ]: boolean = "{ false, false }" |
| Attribute int8_array_r [ 2 ]: int8 = "{ 8, 16 }" |
| Attribute int8_array_c [ 2 ]: int8 = "{ 8, 16 }" |
| Attribute int8_array_i [ 2 ]: int8 = "{ 8, 16 }" |
| } |
| |
| DataClass Data_1_dc extends Data_Super1_dc { |
| Operation varCheck1(caseId: int32) { |
| "data_2.varCheck2(caseId);" |
| |
| // PrimitiveType |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:1\", bool_r == false);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:2\", int8_r == 8);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:3\", int16_r == 16);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:4\", int32_r == 32);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:5\", int64_r == 64);" |
| "EXPECT_EQUAL_FLOAT32(caseId,\"Data_1_dc:varCheck:6\", 3.2f, float32_r, 0.1f);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:7\", float64_r == 6.4);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:8\", char_r == \'R\');" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:9\", string_r.equals(\":/\"));" |
| |
| // Array |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:10\", bool_array_r[0] == false && bool_array_r[1] == false);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:11\", int8_array_r[0] == 8 && int8_array_r[1] == 16);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:12\", int16_array_r[0] == 16 && int16_array_r[1] == 32);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:13\", int32_array_r[0] == 32 && int32_array_r[1] == 64);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:24\", int64_array_r[0] == 64 && int64_array_r[1] == 128);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:25\", float32_array_r[0] == 3.2f && float32_array_r[1] == 6.4f);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:26\", float64_array_r[0] == 6.4 && float64_array_r[1] == 12.8);" |
| "EXPECT_TRUE(caseId,\"Data_1_dc:varCheck:27\", String.valueOf(char_array_r).equals(\"ROOM\"));" |
| } |
| Attribute int16_r: int16 = "16" |
| Attribute int16_c: int16 = "16" |
| Attribute int16_i: int16 = "16" |
| Attribute int32_r: int32 = "32" |
| Attribute int32_c: int32 = "32" |
| Attribute int32_i: int32 = "32" |
| Attribute int64_r: int64 = "64" |
| Attribute int64_c: int64 = "64" |
| Attribute int64_i: int64 = "64" |
| Attribute float32_r: float32 = "3.2" |
| Attribute float32_c: float32 = "3.2" |
| Attribute float32_i: float32 = "3.2" |
| Attribute float64_r: float64 = "6.4" |
| Attribute float64_c: float64 = "6.4" |
| Attribute float64_i: float64 = "6.4" |
| Attribute char_r: char = "R" |
| Attribute char_c: char = 'R' |
| Attribute char_i: char = "R" |
| Attribute string_r: string = ":/" |
| Attribute string_c: string = ":/" |
| Attribute string_i: string = ":/" |
| |
| // Array |
| Attribute int16_array_r [ 2 ]: int16 = "{ 16, 32 }" |
| Attribute int16_array_c [ 2 ]: int16 = "{ 16, 32 }" |
| Attribute int16_array_i [ 2 ]: int16 = "{ 16, 32 }" |
| Attribute int32_array_r [ 2 ]: int32 = "{ 32, 64 }" |
| Attribute int32_array_c [ 2 ]: int32 = "{ 32, 64 }" |
| Attribute int32_array_i [ 2 ]: int32 = "{ 32, 64 }" |
| Attribute int64_array_r [ 2 ]: int64 = "{ 64, 128 }" |
| Attribute int64_array_c [ 2 ]: int64 = "{ 64, 128 }" |
| Attribute int64_array_i [ 2 ]: int64 = "{ 64, 128 }" |
| Attribute float32_array_r [ 2 ]: float32 = "{ 3.2, 6.4 }" |
| Attribute float32_array_c [ 2 ]: float32 = "{ 3.2, 6.4 }" |
| Attribute float32_array_i [ 2 ]: float32 = "{ 3.2, 6.4 }" |
| Attribute float64_array_r [ 2 ]: float64 = "{ 6.4, 12.8 }" |
| Attribute float64_array_c [ 2 ]: float64 = "{ 6.4, 12.8 }" |
| Attribute float64_array_i [ 2 ]: float64 = "{ 6.4, 12.8 }" |
| Attribute char_array_r [ 5 ]: char = "ROOM" |
| Attribute char_array_c [ 5 ]: char = "ROOM" |
| Attribute char_array_i [ 5 ]: char = "ROOM" |
| |
| // ComplexType |
| Attribute data_2: Data_2_dc |
| } |
| |
| DataClass Data_2_dc { |
| Operation varCheck2(caseId: int32) { |
| "EXPECT_TRUE(caseId, \"Data_2_dc:1\", int32_r == 1);" |
| } |
| Attribute int32_r: int32 = "1" |
| Attribute int32_c: int32 = "1" |
| Attribute int32_i: int32 = "1" |
| } |
| |
| DataClass Data_3_dc { |
| Operation varCheck3(caseId: int32) { |
| "EXPECT_TRUE(caseId, \"Data_3_dc:1\", dataClass_ref == null);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:2\", dataClass_array[0].getInt32_r() == 1);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:3\", dataClass_array[1].getInt32_c() == 1);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:4\", dataClass_ref_array[0] == null && dataClass_ref_array[1] == null);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:5\", ext_type instanceof External_Type_Test);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:6\", ext_type_array[0] instanceof External_Type_Test && ext_type_array[1] instanceof External_Type_Test);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:7\", ext_type_ref == null);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:8\", ext_type_ref_array[0] == null && ext_type_ref_array[1] == null);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:9\", primitive_array_ref instanceof byte[]);" |
| "EXPECT_TRUE(caseId, \"Data_3_dc:10\", string_ref == null);" |
| } |
| // none config test |
| Attribute dataClass_array [ 2 ]: Data_2_dc |
| Attribute dataClass_ref: Data_2_dc ref |
| Attribute dataClass_ref_array [ 2 ]: Data_2_dc ref |
| Attribute ext_type: extType |
| Attribute ext_type_array [ 2 ]: extType |
| Attribute ext_type_ref: extType ref |
| Attribute ext_type_ref_array [ 2 ]: extType ref |
| Attribute primitive_array_ref [ 2 ]: int8 ref |
| Attribute string_ref: string ref |
| |
| // no check at all |
| Attribute primitive1_ref: int8 ref |
| Attribute primitive3_ref: char ref |
| } |
| |
| ExternalType extType -> "External_Type_Test" |
| |
| Enumeration Enum_1 { |
| zero, |
| one, |
| two |
| } |
| |
| Enumeration Enum_2 of int16 { |
| three=3, |
| four |
| } |
| |
| } |