diff --git a/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/NegSem_190102_shorthand_increment.ttcn b/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/NegSem_190102_shorthand_increment.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2bb8fb86408cf16a4719f5db8ff3c550d82095aa --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/NegSem_190102_shorthand_increment.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 423 + ** @version 0.0.1 + ** @purpose 1:19.1.2, Ensure that the IUT properly evaluates shorthand assignment statements + ** @verdict pass reject + ***************************************************/ +module NegSem_190102_shorthand_increment { + +type component GeneralComp { +} + +testcase TC_NegSem_190102_shorthand_increment () runs on GeneralComp system GeneralComp { + var float v_f; + + v_f++; //ahorthand assignment of non-integer variable + +} + +control{ + + execute(TC_NegSem_190102_shorthand_increment()); + +} + +} diff --git a/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/Sem_190102_shorthand_decrement.ttcn b/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/Sem_190102_shorthand_decrement.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db9396b38e97cb3a8e6575219bbb3622b22a7b75 --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/Sem_190102_shorthand_decrement.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 423 + ** @version 0.0.1 + ** @purpose 1:19.1.2, Ensure that the IUT properly evaluates shorthand decrement assignment statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_190102_shorthand_decrement { + +type component GeneralComp { +} + +testcase TC_Sem_190102_shorthand_decrement () runs on GeneralComp system GeneralComp { + var integer v_i := 1; + v_i--; //use of shorthand decrement + + if ( v_i==0 ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + + +control{ + + execute(TC_Sem_190102_shorthand_decrement()); + +} + +} diff --git a/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/Sem_190102_shorthand_increment.ttcn b/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/Sem_190102_shorthand_increment.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1b457118acc46fdb5998c5a59048b6440d8176ae --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1901_assignments/190102_shorthand_assignments/Sem_190102_shorthand_increment.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 423 + ** @version 0.0.1 + ** @purpose 1:19.1.2, Ensure that the IUT properly evaluates shorthand increment assignment statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_190102_shorthand_increment { + +type component GeneralComp { +} + +testcase TC_Sem_190102_shorthand_increment () runs on GeneralComp system GeneralComp { + var integer v_i := 1; + v_i++; //use of shorthand increment + + if ( v_i==2 ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + + +control{ + + execute(TC_Sem_190102_shorthand_increment()); + +} + +} diff --git a/ATS/core_language/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_003.ttcn b/ATS/core_language/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..af338b9a0eb3eead7a4b3c96e5ac0828ce7ac3c4 --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_003.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author TTF T023 + ** @version 0.0.1 + ** @purpose 1:19.2, Ensure that the IUT properly evaluates init statement within conditions of if-else statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1902_if_else_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1902_if_else_statement_003 () runs on GeneralComp{ + + if (var integer v_i:=1; match(v_i, 2) ) { // use of init statement + setverdict(fail); + } + else if(match(v_i, 1)) { setverdict(pass) }; //else if shorthand notation +} + + +control{ + + execute(TC_Sem_1902_if_else_statement_003()); + +} + +} + diff --git a/ATS/core_language/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_union_statement_008.ttcn b/ATS/core_language/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_union_statement_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d4a9714aa718e73b0f1fee0aa356522a1bdc0ea7 --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_union_statement_008.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author TTF T023 + ** @version 0.0.1 + ** @purpose 1:19.3, Ensure that the IUT properly evaluates init statement within select-case statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_190301_select_case_statement_008 { + +type component GeneralComp { +} + +testcase TC_Sem_190301_select_case_statement_008 () runs on GeneralComp{ + + + select (var integer v_i:=2; v_i) { + case(1) { + setverdict(fail); + } + case(2) { + setverdict(pass); + } + case(3) { + setverdict(fail); + } + case else { + setverdict(fail); + } + } +} + + +control{ + + execute(TC_Sem_190301_select_case_statement_008()); + +} + +} + diff --git a/ATS/core_language/19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn b/ATS/core_language/19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..081dadeeda53567c21bc017fff7bb99ce4dfe6a0 --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author TTF T023 + ** @version 0.0.1 + ** @purpose 1:19.3.2, verify that it is possible to use a select union statement with init statement and with several branches + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The statement contains a header part and zero or more branches. + +module Sem_190302_select_union_statement_007 { + + type component GeneralComp { + } + + type union U { + integer intOption, + charstring strOption, + boolean boolOption + } + + testcase TC_Sem_190302_select_union_statement_007() runs on GeneralComp { + + select union (var U v_un := { strOption := "abc" }; v_un) { // use of init statement + case (intOption) { + setverdict(fail); + } case (strOption) { + setverdict(pass); + } case (boolOption) { + setverdict(fail); + } + } + } + + control { + execute(TC_Sem_190302_select_union_statement_007()); + } +} + diff --git a/ATS/core_language/19_basic_program_statements/1904_for_statement/190402_range_based_loop/Sem_190402_range_based_loop_001.ttcn b/ATS/core_language/19_basic_program_statements/1904_for_statement/190402_range_based_loop/Sem_190402_range_based_loop_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..53f65cd8661bec178321badef8f08f0dc77fb4f0 --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1904_for_statement/190402_range_based_loop/Sem_190402_range_based_loop_001.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 423 + ** @version 0.0.1 + ** @purpose 1:19.4.2, Ensure that the IUT properly evaluates range-based loop + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_190402_range_based_loop_001 { + +type component GeneralComp { +} + +testcase TC_Sem_190402_range_based_loop_001 () runs on GeneralComp system GeneralComp { + var integer v_i, v_e := 0; + + for (v_i in {1, 2, 3}) { + v_e := v_e + v_i; + } + + if ( v_i==6 ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + + +control{ + + execute(TC_Sem_190402_range_based_loop_001()); + +} + +} diff --git a/ATS/core_language/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_004.ttcn b/ATS/core_language/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7042a38a2e76c403ca3369fde84603fd4ed6212d --- /dev/null +++ b/ATS/core_language/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_004.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author TTF T023 + ** @version 0.0.1 + ** @purpose 1:19.5, Ensure that the IUT properly evaluates while statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1905_while_statement_004 { + +type component GeneralComp { +} + +testcase TC_Sem_1905_while_statement_004 () runs on GeneralComp{ + + while(var integer v_j:=1; v_j<10) { // use of init statement + v_j:=v_j+1; + } + + if( v_j==10 ) { setverdict(pass); } + else { setverdict(fail); } + +} + + +control{ + + execute(TC_Sem_1905_while_statement_004()); + +} + +} + diff --git a/ATS/core_language/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_005.ttcn b/ATS/core_language/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_005.ttcn index a6014fd0f43a07eeeedeff427c80e2f7c9879aed..3ba5e8889dd78aea87f6dc3aa68631a9f9be1f0d 100644 --- a/ATS/core_language/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_005.ttcn +++ b/ATS/core_language/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_005.ttcn @@ -24,4 +24,4 @@ module Syn_270101_ScopeOfAttributes_004 { with { display(field2.innerField1) "colour red"; } -} \ No newline at end of file +} diff --git a/ATS/core_language/A_BNF/.gitkeep b/ATS/core_language/A_BNF/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ATS/core_language/A_BNF/A0102_TrailingCommas/.gitkeep b/ATS/core_language/A_BNF/A0102_TrailingCommas/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ATS/core_language/A_BNF/A0102_TrailingCommas/Syn_A0102_TrailingCommas_001.ttcn b/ATS/core_language/A_BNF/A0102_TrailingCommas/Syn_A0102_TrailingCommas_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4c24b44109341dc982b66e7da0b073b296d6b98d --- /dev/null +++ b/ATS/core_language/A_BNF/A0102_TrailingCommas/Syn_A0102_TrailingCommas_001.ttcn @@ -0,0 +1,17 @@ +/*************************************************** + ** @author TTF T023 + ** @version 0.0.1 + ** @purpose 1:A.1.2a, Ensure that the IUT properly evaluates trailing commas + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_A0102_TrailingCommas_001 { + + type record MyRecord { + integer field1, + record { + integer innerField1, + boolean innerField2, // allow trailing comma + } field2, // allow trailing comma + } + +}