From 92f117c307e9a26bf64a44ca9a6bc1a1f58208ae Mon Sep 17 00:00:00 2001 From: Matthias Simon Date: Tue, 6 Sep 2022 21:45:35 +0200 Subject: [PATCH 1/3] Update core language tests --- .../NegSem_1400_procedure_signatures_003.ttcn | 6 ++--- .../Sem_1512_TheOmitOperation_001.ttcn | 14 ++++------ .../Sem_1512_TheOmitOperation_002.ttcn | 15 +++++------ .../Sem_1512_ThePresentOperation_001.ttcn | 27 ++++++++++--------- 4 files changed, 28 insertions(+), 34 deletions(-) diff --git a/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn b/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn index 1613faf8..b26bc20a 100644 --- a/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn +++ b/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn @@ -8,7 +8,7 @@ module NegSem_1400_procedure_signatures_003 { - signature p_Sig1_001(in integer p_par1, out integer p_par2, inout integer p_par3) return port // Not allowed: only data types are allowed + signature p_Sig1_001(in integer p_par1, out integer p_par2, inout integer p_par3) return verdicttype // Not allowed: only data types are allowed exception (charstring); //execption is a string @@ -47,7 +47,7 @@ module NegSem_1400_procedure_signatures_003 { } } - testcase TC_NegSem_1400_procedure_signatures_003() runs on GeneralComp system GeneralComp { + testcase TC_Sem_1400_procedure_signatures_001() runs on GeneralComp system GeneralComp { var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); @@ -73,7 +73,7 @@ module NegSem_1400_procedure_signatures_003 { } control{ - execute(TC_NegSem_1400_procedure_signatures_003()); + execute(TC_Sem_1400_procedure_signatures_001()); } } \ No newline at end of file diff --git a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn index 35c2738c..de96fec7 100644 --- a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn +++ b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn @@ -19,19 +19,15 @@ module Sem_1512_TheOmitOperation_001 { boolean b optional } - template ExampleType m_originalOmit := omit; - template(omit) ExampleType m_targetOmit := omit(m_originalOmit); - testcase TC_Sem_1512_TheOmitOperation_001() runs on GeneralComp { - var template(omit) ExampleType v_omit; - - v_omit := m_targetOmit; + template ExampleType m_originalOmit := omit; + template(omit) ExampleType m_targetOmit := omit(m_originalOmit); - if ( ispresent(v_omit) ) { - setverdict(fail); - } else { + if (match(m_targetOmit, m_originalOmit)) { setverdict(pass); + } else { + setverdict(fail); } } diff --git a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn index 561c1701..1de8b852 100644 --- a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn +++ b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn @@ -19,17 +19,13 @@ module Sem_1512_TheOmitOperation_002 { boolean b optional } - template ExampleType m_originalValue := {1, true}; - template(omit) ExampleType m_targetValue := omit(m_originalValue); - testcase TC_Sem_1512_TheOmitOperation_002() runs on GeneralComp { - var template(omit) ExampleType v_omit; - v_omit := m_targetValue; + template ExampleType m_originalValue := {1, true}; + + template(omit) ExampleType m_targetValue := omit(m_originalValue); - if (match(valueof(v_omit.a), 1) and - match(ispresent(v_omit.b), true ) - ) { + if (match(m_targetValue, m_originalValue)) { setverdict(pass); } else { setverdict(fail); @@ -39,4 +35,5 @@ module Sem_1512_TheOmitOperation_002 { control { execute(TC_Sem_1512_TheOmitOperation_002()); }; -} \ No newline at end of file +} + diff --git a/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn b/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn index 387dbd7a..ec1b0fde 100644 --- a/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn +++ b/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn @@ -1,31 +1,32 @@ /*************************************************** - * @author TTF 014 - * @version 0.0.1 - * @purpose 1:15.12, The present operation - * @verdict pass accept + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.12, The present operation + ** @verdict pass accept ***************************************************/ -/* The following requirements are tested: + + /* The following requirements are tested: * present restriction: * The present operatoion checks if a template instance fullfils conditions of the present template restriction. */ + module Sem_1512_ThePresentOperation_001 { + type component GeneralComp { - } + } type record ExampleType { integer a, boolean b optional } - template ExampleType m_originalValue := {1, true} - template(present) ExampleType m_targetValue := present(m_originalValue); + testcase TC_Sem_1512_ThePresentOperation_001() + runs on GeneralComp { - testcase TC_Sem_1512_ThePresentOperation_001() runs on GeneralComp { - var template(present) ExampleType v_present; + template ExampleType m_originalValue := {1, true} - v_present := m_targetValue; + template(present) ExampleType m_targetValue := present(m_originalValue); - if (match(valueof(v_present.a), 1) and - match(valueof(v_present.b), true)) { + if (match(m_targetValue, m_originalValue)) { setverdict(pass); } else { setverdict(fail); -- GitLab From 2069835b515a6772fc03e78375a9767240ef75ee Mon Sep 17 00:00:00 2001 From: Matthias Simon Date: Tue, 6 Sep 2022 21:46:03 +0200 Subject: [PATCH 2/3] Add core language tests --- ...or_field_types_0 \342\200\223 koopia.ttcn" | 29 +++++++++++++ ..._type_definitions_for_field_types_002.ttcn | 19 ++++++++ .../Sem_06021505_accessing_the_keys_003.ttcn | 31 +++++++++++++ ...Sem_06021506_accessing_the_values_003.ttcn | 30 +++++++++++++ ...ferencingIndividualStringElements_001.ttcn | 28 ++++++++++++ ...ferencingIndividualStringElements_002.ttcn | 29 +++++++++++++ ...ferencingIndividualStringElements_001.ttcn | 39 +++++++++++++++++ ...ferencingIndividualStringElements_002.ttcn | 28 ++++++++++++ ...ferencingIndividualStringElements_003.ttcn | 28 ++++++++++++ ...ferencingIndividualStringElements_004.ttcn | 29 +++++++++++++ ...ferencingIndividualStringElements_005.ttcn | 29 +++++++++++++ ...ferencingIndividualStringElements_006.ttcn | 27 ++++++++++++ .../NegSem_1508_TemplateRestrictions_055.ttcn | 40 +++++++++++++++++ .../NegSem_1508_TemplateRestrictions_056.ttcn | 40 +++++++++++++++++ .../NegSem_1508_TemplateRestrictions_057.ttcn | 40 +++++++++++++++++ .../NegSem_1508_TemplateRestrictions_058.ttcn | 40 +++++++++++++++++ .../NegSem_1508_TemplateRestrictions_059.ttcn | 40 +++++++++++++++++ .../NegSem_1508_TemplateRestrictions_060.ttcn | 40 +++++++++++++++++ .../NegSem_1508_TemplateRestrictions_061.ttcn | 40 +++++++++++++++++ ...egSem_150802_ImplicitRestrictions_001.ttcn | 36 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_002.ttcn | 39 +++++++++++++++++ ...egSem_150802_ImplicitRestrictions_003.ttcn | 39 +++++++++++++++++ ...egSem_150802_ImplicitRestrictions_004.ttcn | 39 +++++++++++++++++ ...egSem_150802_ImplicitRestrictions_005.ttcn | 37 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_006.ttcn | 38 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_007.ttcn | 37 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_008.ttcn | 38 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_009.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_010.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_011.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_012.ttcn | 34 +++++++++++++++ ...egSem_150802_ImplicitRestrictions_014.ttcn | 37 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_015.ttcn | 38 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_016.ttcn | 37 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_017.ttcn | 38 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_018.ttcn | 38 ++++++++++++++++ ...egSem_150802_ImplicitRestrictions_019.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_020.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_021.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_022.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_023.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_024.ttcn | 33 ++++++++++++++ ...egSem_150802_ImplicitRestrictions_025.ttcn | 34 +++++++++++++++ ...egSem_150802_ImplicitRestrictions_026.ttcn | 34 +++++++++++++++ .../Sem_150802_ImplicitRestrictions_001.ttcn | 40 +++++++++++++++++ .../Sem_150802_ImplicitRestrictions_002.ttcn | 43 +++++++++++++++++++ .../Sem_150802_ImplicitRestrictions_003.ttcn | 43 +++++++++++++++++++ .../Sem_150802_ImplicitRestrictions_004.ttcn | 43 +++++++++++++++++++ .../Sem_150802_ImplicitRestrictions_005.ttcn | 41 ++++++++++++++++++ .../Sem_150802_ImplicitRestrictions_006.ttcn | 42 ++++++++++++++++++ .../Sem_150802_ImplicitRestrictions_007.ttcn | 41 ++++++++++++++++++ .../Sem_150802_ImplicitRestrictions_008.ttcn | 42 ++++++++++++++++++ .../Sem_150802_ImplicitRestrictions_009.ttcn | 37 ++++++++++++++++ .../Sem_150802_ImplicitRestrictions_010.ttcn | 37 ++++++++++++++++ .../Sem_150802_ImplicitRestrictions_011.ttcn | 37 ++++++++++++++++ .../Sem_150802_ImplicitRestrictions_012.ttcn | 37 ++++++++++++++++ .../Sem_150802_ImplicitRestrictions_013.ttcn | 38 ++++++++++++++++ .../Sem_150802_ImplicitRestrictions_014.ttcn | 39 +++++++++++++++++ .../Sem_150802_ImplicitRestrictions_015.ttcn | 36 ++++++++++++++++ .../NegSem_1512_ThePresentOperation_003.ttcn | 35 +++++++++++++++ ...NegSem_1514_PresentnessConversion_001.ttcn | 33 ++++++++++++++ .../Sem_1514_PresentnessConversion_001.ttcn | 33 ++++++++++++++ .../NegSem_1515_ValueExtraction_001.ttcn | 27 ++++++++++++ .../Sem_1515_ValueExtraction_001.ttcn | 32 ++++++++++++++ .../Syn_1603_testcases_004.ttcn | 37 ++++++++++++++++ 65 files changed, 2309 insertions(+) create mode 100644 "ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" create mode 100644 ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_002.ttcn create mode 100644 ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn create mode 100644 ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_002.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_002.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_003.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn create mode 100644 ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn create mode 100644 ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_055.ttcn create mode 100644 ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_056.ttcn create mode 100644 ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_057.ttcn create mode 100644 ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_058.ttcn create mode 100644 ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_059.ttcn create mode 100644 ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_060.ttcn create mode 100644 ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_061.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_001.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_002.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_004.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_006.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_007.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_008.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_009.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_011.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_014.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_015.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_017.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_018.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_019.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_020.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_023.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_025.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_026.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_003.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_004.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_005.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_007.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_012.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_013.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_014.ttcn create mode 100644 ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_015.ttcn create mode 100644 ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn create mode 100644 ATS/core_language/15_templates/1514_presentness_conversion/NegSem_1514_PresentnessConversion_001.ttcn create mode 100644 ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn create mode 100644 ATS/core_language/15_templates/1515_value_extraction/NegSem_1515_ValueExtraction_001.ttcn create mode 100644 ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn create mode 100644 ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn diff --git "a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" "b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" new file mode 100644 index 00000000..c0ee7436 --- /dev/null +++ "b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" @@ -0,0 +1,29 @@ +/*************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:6.2.1.3, Verify that it is possible to use a nested structured type as a field of a record + ** @verdict pass accept, noexecution + ***************************************************/ + +// The following requirement is tested: +// TTCN 3 supports the definition of types for record fields nested within the record definition. +// ... the definition of new structured types (record, set, enumerated, set of, record of, and union +// and map) ... + +module Sem_06020103_nested_type_definitions_for_field_types_001 { + // Example from the specification, 1st part + type record MyNestedRecordType + { + record + { + integer nestedField1, + float nestedField2 + } outerField1, + enumerated { + nestedEnum1, + nestedEnum2 + } outerField2, + record of boolean outerField3, + map from charstring to charstring outerfield4 + }; +} diff --git a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_002.ttcn b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_002.ttcn new file mode 100644 index 00000000..0441d162 --- /dev/null +++ b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_002.ttcn @@ -0,0 +1,19 @@ +/*************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:6.2.1.3, Verify that it is possible to use a nested subtype constraints for record fields + ** @verdict pass accept, noexecution + ***************************************************/ + +// The following requirement is tested: +// TTCN 3 supports the definition of types for record fields nested within the record definition. +// ... the specification of subtype constraints [is] possible. + +module Sem_06020103_nested_type_definitions_for_field_types_002 { + // Example from the specification, 2nd part + type record MyRecordTypeWithSubtypedFields + { + integer field1 (1 .. 100), + charstring field2 length ( 2 .. 255 ) + } +} diff --git a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn new file mode 100644 index 00000000..ac85b98c --- /dev/null +++ b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:6.2.15.5, Verify that map keys are unique + ** @verdict pass accept, ttcn3result: pass + ***************************************************/ + +// The following requirement is tested: +// Since there is at most one value mapped to each key in a map value, the values in the set of keys +// will be unique. The length of the map value is equal to the length of the set of keys. + +module Sem_06021505_accessing_the_keys_003 { + type map from charstring to integer TMap1; + type component C {} + + testcase TC_Sem_06021505_accessing_the_keys_003() runs on C { + var TMap1 v_map; + v_map["test"] := 1; + v_map["xyz"] := 5; + v_map["test"] := 6; + if (match(v_map.from, { "test", "xyz" }) and lengthof(v_map.from == 2)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_06021505_accessing_the_keys_002()); + } +} diff --git a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn new file mode 100644 index 00000000..6217f53b --- /dev/null +++ b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:6.2.15.6, Verify that map values don't have to be unique + ** @verdict pass accept, ttcn3result: pass + ***************************************************/ + +// The following requirement is tested: +// Since two different keys might be mapped to the same value in a map value, the values in the set of +// values might not be unique. The set of values will contain one value for each key value pair in +// the map. The length of the map value is equal to the length of the set of values. + +module Sem_06021506_accessing_the_values_003 { + type map from charstring to integer MapValueType; + type component C {} + + testcase TC_Sem_06021506_accessing_the_values_003() runs on C { + var MapValueType v_map := { [“a”] := 0, [“b”] := 0, [“c”] := 1 }; + var MapValueType.to v_values := v_map.to; + if (match(v_values, {0,1,0})) { // yields true + setverdict(pass); + } else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_06021506_accessing_the_values_003()); + } +} diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn new file mode 100644 index 00000000..386c4ac9 --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the left hand side. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150601_ReferencingIndividualStringElements_001 { + +type component GeneralComp { } + +testcase TC_NegSem_150601_ReferencingIndividualStringElements_001() runs on GeneralComp { + var template charstring v_char1 := "abc"; + + v_char1[2] := "test"; // will produce an error as the character string contains more than one character + + if (v_char1.value == "abtest") { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_150601_ReferencingIndividualStringElements_001()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_002.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_002.ttcn new file mode 100644 index 00000000..97705adc --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_002.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the right hand side. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150601_ReferencingIndividualStringElements_002 { + +type component GeneralComp { } + +testcase TC_NegSem_150601_ReferencingIndividualStringElements_002() runs on GeneralComp { + var template octetstring v_oct1 := '01??AB*'O; + var template octetstring v_oct2; + + v_oct2 := v_oct1[10]; // will produce an error as the index is greater than the length of v_oct1 + + if (match(v_oct2, *) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_150601_ReferencingIndividualStringElements_002()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn new file mode 100644 index 00000000..1c94f0ef --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the right hand side. + ** @verdict pass accept + *****************************************************************/ + +module Sem_150601_ReferencingIndividualStringElements_001 { + +type component GeneralComp { } + +testcase TC_Sem_150601_ReferencingIndividualStringElements_001() runs on GeneralComp { + var template charstring v_char1 := "MYCHAR1"; + var template charstring v_char2; + var template charstring v_char3 := pattern "abc?[a-z]"; + + v_char2 := v_char1[1]; + + if (v_char2 == "Y") { + setverdict(pass); + } else { + setverdict(fail); + } + + v_char2 := v_char3[4]; // v_char2 will be equal to pattern "[a-z]" after the assignment + + if (match("a", v_char2) and match("z", v_char2) and not match("A", v_char2)) { //not matching all, just the boundaries and an outside value + setverdict(pass); + } else { + setverdict(fail); + } + +} + +control{ + execute(TC_Sem_150601_ReferencingIndividualStringElements_001()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_002.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_002.ttcn new file mode 100644 index 00000000..2a902a7e --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_002.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the left hand side. + ** @verdict pass accept + *****************************************************************/ + +module Sem_150601_ReferencingIndividualStringElements_002 { + +type component GeneralComp { } + +testcase TC_Sem_150601_ReferencingIndividualStringElements_002() runs on GeneralComp { + var template charstring v_char1 := pattern "abc?[a-z]"; + + v_char1[6] := pattern "x+"; // v_char1 will contain pattern "abc?[a-z]?x+" after the assignment + + if (v_char1.value == "abc?[a-z]?x+") { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150601_ReferencingIndividualStringElements_002()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_003.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_003.ttcn new file mode 100644 index 00000000..615db747 --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_003.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the left hand side. + ** @verdict pass accept + *****************************************************************/ + +module Sem_150601_ReferencingIndividualStringElements_003 { + +type component GeneralComp { } + +testcase TC_Sem_150601_ReferencingIndividualStringElements_003() runs on GeneralComp { + var template charstring v_char1 := "abc"; + + v_char1[4] := pattern "[a-f][g-k]"; // v_char1 will change to pattern "abc([a-f][g-k])" + + if (v_char1.value == "abc([a-f][g-k])") { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150601_ReferencingIndividualStringElements_003()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn new file mode 100644 index 00000000..6314a469 --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the right hand side. + ** @verdict pass accept + *****************************************************************/ + +module Sem_150601_ReferencingIndividualStringElements_004 { + +type component GeneralComp { } + +testcase TC_Sem_150601_ReferencingIndividualStringElements_004() runs on GeneralComp { + var template octetstring v_oct1 := '01234567890ABCDEF'O; + var template octetstring v_oct2; + + v_oct2 := v_oct1[1]; // v_oct2 will be equal to '23'O after the assignment + + if (v_oct2.value == '23'O) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150601_ReferencingIndividualStringElements_004()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn new file mode 100644 index 00000000..fa13cdab --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the right hand side. + ** @verdict pass accept + *****************************************************************/ + +module Sem_150601_ReferencingIndividualStringElements_005 { + +type component GeneralComp { } + +testcase TC_Sem_150601_ReferencingIndividualStringElements_005() runs on GeneralComp { + var template octetstring v_oct1 := '01??AB*'O; + var template octetstring v_oct2; + + v_oct2 := v_oct1[2]; // v_oct2 will be equal to '?'O after the assignment + + if (match('EF'O, v_oct2) { //It is quite impossible to check if v_oct2 contains the pattern '?'O indeed + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150601_ReferencingIndividualStringElements_005()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn new file mode 100644 index 00000000..266a2754 --- /dev/null +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is allowed on the left hand side. + ** @verdict pass accept + *****************************************************************/ + +module Sem_150601_ReferencingIndividualStringElements_006 { + +type component GeneralComp { } + +testcase TC_Sem_150601_ReferencingIndividualStringElements_006() runs on GeneralComp { + var template octetstring v_oct1 := '0123'O; + var template octetstring v_oct1[3] := 'FF'O; // v_oct3 will change to '0123FF'O + + if (v_oct1.value == '0123FF'O) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150601_ReferencingIndividualStringElements_006()); +} + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_055.ttcn b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_055.ttcn new file mode 100644 index 00000000..8dc16bb1 --- /dev/null +++ b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_055.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) base templates are not allowed to be modified to template(value) + ** @verdict pass reject + *****************************************************************/ +// The following requirement is tested: +// Restriction d: +// A modified template may have a less strict restriction than the base template according to table 13B. + +module NegSem_1508_TemplateRestrictions_055 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(omit) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(value) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_NegSem_1508_TemplateRestrictions_055() runs on GeneralComp { + if (match({ 21, true }, m_modifiedTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_055()); + } +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_056.ttcn b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_056.ttcn new file mode 100644 index 00000000..42e048cf --- /dev/null +++ b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_056.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) base templates are not allowed to be modfied to template(present) + ** @verdict pass reject + *****************************************************************/ +// The following requirement is tested: +// Restriction d: +// A modified template may have a less strict restriction than the base template according to table 13B. + +module NegSem_1508_TemplateRestrictions_056 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(omit) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(present) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_NegSem_1508_TemplateRestrictions_056() runs on GeneralComp { + if (match({ 21, true }, m_modifiedTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_056()); + } +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_057.ttcn b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_057.ttcn new file mode 100644 index 00000000..4cb12a53 --- /dev/null +++ b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_057.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) base templates are not allowed to be modified to template(omit) + ** @verdict pass reject + *****************************************************************/ +// The following requirement is tested: +// Restriction d: +// A modified template may have a less strict restriction than the base template according to table 13B. + +module NegSem_1508_TemplateRestrictions_057 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(omit) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_NegSem_1508_TemplateRestrictions_057() runs on GeneralComp { + if (match({ 21, true }, m_modifiedTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_057()); + } +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_058.ttcn b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_058.ttcn new file mode 100644 index 00000000..7b64430d --- /dev/null +++ b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_058.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) base templates are not allowed to be modfied to template(value) + ** @verdict pass reject + *****************************************************************/ +// The following requirement is tested: +// Restriction d: +// A modified template may have a less strict restriction than the base template according to table 13B. + +module NegSem_1508_TemplateRestrictions_058 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(value) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_NegSem_1508_TemplateRestrictions_058() runs on GeneralComp { + if (match({ 21, true }, m_modifiedTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_058()); + } +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_059.ttcn b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_059.ttcn new file mode 100644 index 00000000..18a3d3cf --- /dev/null +++ b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_059.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that unrestricted base templates are not allowed to be modified to template(omit) + ** @verdict pass reject + *****************************************************************/ +// The following requirement is tested: +// Restriction d: +// A modified template may have a less strict restriction than the base template according to table 13B. + +module NegSem_1508_TemplateRestrictions_059 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(omit) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_NegSem_1508_TemplateRestrictions_059() runs on GeneralComp { + if (match({ 21, true }, m_modifiedTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_059()); + } +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_060.ttcn b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_060.ttcn new file mode 100644 index 00000000..6155e3c1 --- /dev/null +++ b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_060.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that unrestricted base templates are not allowed to be modified to template(value) + ** @verdict pass reject + *****************************************************************/ +// The following requirement is tested: +// Restriction d: +// A modified template may have a less strict restriction than the base template according to table 13B. + +module NegSem_1508_TemplateRestrictions_060 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(value) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_NegSem_1508_TemplateRestrictions_060() runs on GeneralComp { + if (match({ 21, true }, m_modifiedTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_060()); + } +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_061.ttcn b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_061.ttcn new file mode 100644 index 00000000..dcd226d7 --- /dev/null +++ b/ATS/core_language/15_templates/150801_explicit_restrictions/NegSem_1508_TemplateRestrictions_061.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that unrestricted base templates are not allowed to be modified to template(present) + ** @verdict pass reject + *****************************************************************/ +// The following requirement is tested: +// Restriction d: +// A modified template may have a less strict restriction than the base template according to table 13B. + +module NegSem_1508_TemplateRestrictions_061 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(present) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_NegSem_1508_TemplateRestrictions_061() runs on GeneralComp { + if (match({ 21, true }, m_modifiedTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_061()); + } +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_001.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_001.ttcn new file mode 100644 index 00000000..52e0d355 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_001.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of template(omit) base templates are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_001 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmit := omit; + +testcase TC_NegSem_150802_ImplicitRestrictions_001() runs on GeneralComp { + + var template(omit) integer v_omit_a := exampleOmit.a; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_001()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_002.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_002.ttcn new file mode 100644 index 00000000..554081e5 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_002.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced optional fields of template(omit) base templates are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference optional field of a record of a template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_002 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + + +template(omit) ExampleType exampleOmit := {1, true}; + +testcase TC_NegSem_150802_ImplicitRestrictions_002() runs on GeneralComp { + + var template(value) boolean v_value_b := exampleOmit.b; //Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_002()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn new file mode 100644 index 00000000..96f2d81f --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of template(value) base templates are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_003 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +// parent templates +template(value) ExampleType exampleValue := {1, true}; + +testcase TC_NegSem_150802_ImplicitRestrictions_003() runs on GeneralComp { + + var template(omit) integer v_omit_a := exampleValue.a; //Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_003()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_004.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_004.ttcn new file mode 100644 index 00000000..93e02ccd --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_004.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced optional fields of template(value) base templates are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference optional field of a record of a template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ + + +module NegSem_150802_ImplicitRestrictions_004 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleValue := {1, true}; + +testcase TC_NegSem_150802_ImplicitRestrictions_004() runs on GeneralComp { + + var template(value) boolean v_value_b := exampleValue.b; // Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_004()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn new file mode 100644 index 00000000..cd3107bc --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of template(present) base templates are not allowed to implicite template without restriction + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_005 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, ?}; + +testcase TC_NegSem_150802_ImplicitRestrictions_005() runs on GeneralComp { + + var template integer v_a := examplePresent.a; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_005()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_006.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_006.ttcn new file mode 100644 index 00000000..61597f85 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_006.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced optional fields of template(value) base templates are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference optional field of a record of a template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_006 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, ?}; + +testcase TC_NegSem_150802_ImplicitRestrictions_006() runs on GeneralComp { + + var template(omit) boolean v_omit_b := examplePresent.b; //Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_006()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_007.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_007.ttcn new file mode 100644 index 00000000..9e60ba96 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_007.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of templates are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_007 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template ExampleType example := {1, ?}; + +testcase TC_NegSem_150802_ImplicitRestrictions_007() runs on GeneralComp { + + var template(value) integer v_value_a := example.a; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_007()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_008.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_008.ttcn new file mode 100644 index 00000000..7217d5ab --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_008.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced optional fields of templates are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference optional field of a record of a template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_008 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template ExampleType example := {1, ?}; + +testcase TC_NegSem_150802_ImplicitRestrictions_008() runs on GeneralComp { + + var template (omit) boolean v_omit_b := example.b; //Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_008()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_009.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_009.ttcn new file mode 100644 index 00000000..42ec5bf7 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_009.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(omit) are not allowed to implicite restrict to template(present) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'record of' template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_009 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_009() runs on GeneralComp { + + template (omit) RecordOfInt m_exampleOmit := omit; + + var template(present) integer v_present := m_exampleOmit[2]; //not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_009()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn new file mode 100644 index 00000000..41200865 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(value) are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'set of' template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_010 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_010() runs on GeneralComp { + + template (value) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template (omit) integer v_omit := m_exampleValue[2]; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_010()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_011.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_011.ttcn new file mode 100644 index 00000000..881776e3 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_011.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(present) are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'set of' template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_011 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_011() runs on GeneralComp { + + template (present) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template (omit) integer v_omit := m_exampleValue[2]; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_011()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn new file mode 100644 index 00000000..4ee0b9e6 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates are not allowed to implicite restrict to template + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'record of' template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_012 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_012() runs on GeneralComp { + + template RecordOfInt m_example := {1, 2, 3}; + + var template integer v_secondElem := m_example[2]; // Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_012()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_014.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_014.ttcn new file mode 100644 index 00000000..1523a0db --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_014.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of template(present) base templates are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_014 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, ?}; + +testcase TC_NegSem_150802_ImplicitRestrictions_014() runs on GeneralComp { + + var template (value) integer v_value_a := examplePresent.a; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_014()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_015.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_015.ttcn new file mode 100644 index 00000000..1ffe448d --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_015.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced optional fields of template(value) base templates are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference optional field of a record of a template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_015 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, ?}; + +testcase TC_NegSem_150802_ImplicitRestrictions_015() runs on GeneralComp { + + var template(value) boolean v_present_b := examplePresent.b; //Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_015()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn new file mode 100644 index 00000000..1f125596 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of templates are not allowed to implicite to template + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_016 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template ExampleType example := {1, ?}; + +testcase TC_NegSem_150802_ImplicitRestrictions_016() runs on GeneralComp { + + var template integer v_value_a := example.a; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_016()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_017.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_017.ttcn new file mode 100644 index 00000000..046508ee --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_017.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced optional fields of templates are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference optional field of a record of a template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_017 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template ExampleType example := {1, false}; + +testcase TC_NegSem_150802_ImplicitRestrictions_017() runs on GeneralComp { + + var template (value) boolean v_value_b := example.b; // Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_017()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_018.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_018.ttcn new file mode 100644 index 00000000..48851476 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_018.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced optional fields of templates are not allowed to implicite restrict to template(present) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference optional field of a record of a template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module NegSem_150802_ImplicitRestrictions_018 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template ExampleType example := {1, false}; + +testcase TC_NegSem_150802_ImplicitRestrictions_018() runs on GeneralComp { + + var template (present) boolean v_present_b := example.b; // Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_018()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_019.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_019.ttcn new file mode 100644 index 00000000..946096e3 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_019.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(omit) are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'record of' template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_019 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_019() runs on GeneralComp { + + template (omit) RecordOfInt m_exampleOmit := omit; + + var template(omit) integer v_omit := m_exampleOmit[2]; //not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_019()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_020.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_020.ttcn new file mode 100644 index 00000000..fcae9978 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_020.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(omit) are not allowed to implicite to template + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'record of' template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_020 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_020() runs on GeneralComp { + + template (omit) RecordOfInt m_exampleOmit := omit; + + var template integer v_int := m_exampleOmit[2]; //not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_020()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn new file mode 100644 index 00000000..7356271f --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(value) are not allowed to implicite restrict to template(present) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'set of' template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_021 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_Sem_150802_ImplicitRestrictions_021() runs on GeneralComp { + + template (value) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template (present) integer v_present := m_exampleValue[2]; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_021()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn new file mode 100644 index 00000000..0cb6a73a --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(value) are not allowed to implicite restrict to template(present) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'set of' template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_022 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_Sem_150802_ImplicitRestrictions_022() runs on GeneralComp { + + template (value) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template integer v_present := m_exampleValue[2]; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_022()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_023.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_023.ttcn new file mode 100644 index 00000000..17ebd501 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_023.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(present) are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'set of' template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_023 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_023() runs on GeneralComp { + + template (present) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template (value) integer v_value := m_exampleValue[2]; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_023()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn new file mode 100644 index 00000000..553f96f8 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates(present) are not allowed to implicite restrict to template + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'set of' template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_024 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_024() runs on GeneralComp { + + template (present) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template integer v_value := m_exampleValue[2]; //Not allowed + + setverdict(fail); +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_024()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_025.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_025.ttcn new file mode 100644 index 00000000..998684e3 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_025.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates are not allowed to implicite restrict to template(value) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'record of' template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_025 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_025() runs on GeneralComp { + + template RecordOfInt m_example := {1, 2, 3}; + + var template (value) integer v_value := m_example[2]; // Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_025()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_026.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_026.ttcn new file mode 100644 index 00000000..958f8670 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_026.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced element of templates are not allowed to implicite restrict to template(omit) + ** @verdict pass reject + *****************************************************************/ + +/* + * Reference element of a 'record of' template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module NegSem_150802_ImplicitRestrictions_026 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_NegSem_150802_ImplicitRestrictions_026() runs on GeneralComp { + + template RecordOfInt m_example := {1, 2, 3}; + + var template (omit) integer v_omit := m_example[2]; // Not allowed + + setverdict(fail); + +} + +control{ + execute(TC_NegSem_150802_ImplicitRestrictions_026()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn new file mode 100644 index 00000000..6c6d0c74 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_001 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmit := omit; + +testcase TC_Sem_150802_ImplicitRestrictions_001() runs on GeneralComp { + + var template(value) integer v_omit_a := exampleOmit.a; + + if ( isvalue(v_omit_a) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_001()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn new file mode 100644 index 00000000..01e05be0 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference optional field of a record of a template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module Sem_150802_ImplicitRestrictions_002 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + + +template(omit) ExampleType exampleOmit := omit; + +testcase TC_Sem_150802_ImplicitRestrictions_002() runs on GeneralComp { + + var template(omit) boolean v_omit_b := exampleOmit.b; + + if ( ispresent(v_omit_b) ) { + setverdict(fail); + } else { + setverdict(pass); + } + +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_002()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_003.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_003.ttcn new file mode 100644 index 00000000..415aede5 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_003.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module Sem_150802_ImplicitRestrictions_003 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +// parent templates +template(value) ExampleType exampleValue := {1, true}; + +testcase TC_Sem_150802_ImplicitRestrictions_003() runs on GeneralComp { + + var template(value) integer v_value_a := exampleValue.a; + + if ( isvalue(v_value_a) ) { + setverdict(pass); + } else { + setverdict(fail); + } + +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_003()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_004.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_004.ttcn new file mode 100644 index 00000000..ea5eba52 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_004.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference optional field of a record of a template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ + + +module Sem_150802_ImplicitRestrictions_004 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleValue := {1, true}; + +testcase TC_Sem_150802_ImplicitRestrictions_004() runs on GeneralComp { + + var template(omit) boolean v_value_b := exampleValue.b; + + if ( ispresent(v_value_b) ) { + setverdict(pass); + } else { + setverdict(fail); + } + +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_004()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_005.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_005.ttcn new file mode 100644 index 00000000..52b5cccd --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_005.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module Sem_150802_ImplicitRestrictions_005 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, ?}; + +testcase TC_Sem_150802_ImplicitRestrictions_005() runs on GeneralComp { + + var template(present) integer v_present_a := examplePresent.a; + + if ( isvalue(v_present_a) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_005()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn new file mode 100644 index 00000000..765deb6e --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference optional field of a record of a template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module Sem_150802_ImplicitRestrictions_006 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, ?}; + +testcase TC_Sem_150802_ImplicitRestrictions_006() runs on GeneralComp { + + var template boolean v_present_b := examplePresent.b; + + if ( ispresent(v_present_b) ) { + setverdict(fail); + } else { + setverdict(pass); + } + +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_006()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_007.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_007.ttcn new file mode 100644 index 00000000..9182501c --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_007.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference mandatory field of a record of a template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module Sem_150802_ImplicitRestrictions_007 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template ExampleType example := {1, ?}; + +testcase TC_Sem_150802_ImplicitRestrictions_007() runs on GeneralComp { + + var template(present) integer v_template_a := example.a; + + if ( isvalue(v_template_a) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_007()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn new file mode 100644 index 00000000..065fa48c --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference optional field of a record of a template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ + +module Sem_150802_ImplicitRestrictions_008 { + +type component GeneralComp { } + +type set ExampleType { + integer a, + boolean b optional +} + +template ExampleType example := {1, ?}; + +testcase TC_Sem_150802_ImplicitRestrictions_008() runs on GeneralComp { + + var template boolean v_template_b := example.b; + + if ( ispresent(v_template_b) ) { + setverdict(fail); + } else { + setverdict(pass); + } + +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_008()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn new file mode 100644 index 00000000..e3962fdb --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference element of a 'record of' template with omit restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_009 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_Sem_150802_ImplicitRestrictions_009() runs on GeneralComp { + + template (omit) RecordOfInt m_exampleOmit := omit; + + var template (value) integer v_omit := m_exampleOmit[2]; + + if (isvalue(v_omit)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_009()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn new file mode 100644 index 00000000..a7f8809b --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference element of a 'set of' template with value restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_010 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_Sem_150802_ImplicitRestrictions_010() runs on GeneralComp { + + template (value) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template (value) integer v_second := m_exampleValue[2]; + + if (match(v_second,2)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_010()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn new file mode 100644 index 00000000..d7b5d873 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference element of a 'set of' template with present restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_011 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_Sem_150802_ImplicitRestrictions_011() runs on GeneralComp { + + template (present) SetOfInt m_exampleValue := {1, 2} & {3, 4}; + + var template (present) integer v_secondElem := m_exampleValue[2]; + + if (match(v_secondElem,2)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_011()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_012.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_012.ttcn new file mode 100644 index 00000000..7ecd39cd --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_012.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference element of a 'record of' template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_012 { + +type component GeneralComp { } + +type record of integer RecordOfInt; + +testcase TC_Sem_150802_ImplicitRestrictions_012() runs on GeneralComp { + + template RecordOfInt m_example := {1, 2, 3}; + + var template (present) integer v_secondElem := m_example[2]; + + if (isvalue(v_secondElem)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_012()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_013.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_013.ttcn new file mode 100644 index 00000000..229662c3 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_013.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference element of a 'record of' template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_013{ + +type component GeneralComp { } + +const integer c_length := 5; +type integer ArrayOfInt[c_length]; + +testcase TC_Sem_150802_ImplicitRestrictions_013() runs on GeneralComp { + + template ArrayOfInt m_example := {1, 2, 3, 4, 5}; + + var template (present) integer v_elem := m_example[4]; + + if (ispresent(v_elem)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_013()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_014.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_014.ttcn new file mode 100644 index 00000000..7bb744d7 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_014.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference element of a 'union' template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_014{ + +type component GeneralComp { } + +type union U { + integer option1, + charstring option2 +} + +testcase TC_Sem_150802_ImplicitRestrictions_014() runs on GeneralComp { + var template U m_union := { option1 := 12345}; + + var template (present) integer v_int := m_union.option1; + + if (ispresent(v_int)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_014()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_015.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_015.ttcn new file mode 100644 index 00000000..a2f13791 --- /dev/null +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_015.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.8.2, Ensure that referenced item have implicit template restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +/* + * Reference element of a 'union' template without restriction. + * (see Table 13C: Implicit restrictions) + * + */ +module Sem_150802_ImplicitRestrictions_015{ + +type component GeneralComp { } + +type anytype A; + +testcase TC_Sem_150802_ImplicitRestrictions_015() runs on GeneralComp { + var template A m_anytype := { integer := 12345}; + + var template (present) integer v_int := m_anytype.integer; + + if (ispresent(v_int)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150802_ImplicitRestrictions_015()); +} + + +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn b/ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn new file mode 100644 index 00000000..e0ed117a --- /dev/null +++ b/ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.12, The present operation + ** @verdict pass reject + ***************************************************/ + +/* The following requirements are tested: + * present operation: + * A template with the present operationn shall cause an error if the operand not fulfils + * conditions of the prenent template restriction. + */ + +module NegSem_1512_ThePresentOperation_003 { + + type component GeneralComp {} + + type record ExampleType { + integer a, + boolean b optional + } + + testcase TC_NegSem_1512_ThePresentOperation_003() runs on GeneralComp { + + template ExampleType m_originalAny := ?; + + template(present) ExampleType m_targetAny := present(m_originalAny); // causes error + + setverdict(fail); + } + + control { + execute(TC_NegSem_1512_ThePresentOperation_003()); + }; +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1514_presentness_conversion/NegSem_1514_PresentnessConversion_001.ttcn b/ATS/core_language/15_templates/1514_presentness_conversion/NegSem_1514_PresentnessConversion_001.ttcn new file mode 100644 index 00000000..8dde69fc --- /dev/null +++ b/ATS/core_language/15_templates/1514_presentness_conversion/NegSem_1514_PresentnessConversion_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.14, Presentness conversion + ** @verdict pass reject + ***************************************************/ + + /* The following requirements are tested: + * presentness conversion: + * a. Applying the presentness conversion to a template that only matches the special value omit shall result in an error. + */ + +module NegSem_1514_PresentnessConversion_001 { + + type component GeneralComp {} + + testcase TC_NegSem_1514_PresentnessConversion_001() runs on GeneralComp { + + template boolean t_omit := omit + + var template(present) boolean v_present_omit := t_omit.present; //error + + if (match(v_present_omit, *)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control { + execute(TC_NegSem_1514_PresentnessConversion_001()); + }; +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn b/ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn new file mode 100644 index 00000000..92dd2adf --- /dev/null +++ b/ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.14, Presentness conversion + ** @verdict pass accept + ***************************************************/ + +module Sem_1514_PresentnessConversion_001 { + + type component GeneralComp {} + + type record ExampleType { + integer a, + boolean b optional + } + + testcase TC_Sem_1514_PresentnessConversion_001() runs on GeneralComp { + + template ExampleType m_example := { 1, *}; // unrestricted + + var template(present) boolean v_field := m_example.b.present; // m_field is converted to ? from * + + if (match(v_field, ?)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_1514_PresentnessConversion_001()); + }; +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1515_value_extraction/NegSem_1515_ValueExtraction_001.ttcn b/ATS/core_language/15_templates/1515_value_extraction/NegSem_1515_ValueExtraction_001.ttcn new file mode 100644 index 00000000..3c530800 --- /dev/null +++ b/ATS/core_language/15_templates/1515_value_extraction/NegSem_1515_ValueExtraction_001.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.15, Value extraction + ** @verdict pass reject + ***************************************************/ + +/* The following requirements are tested: + * Value extraction: + * a. Applying the value extraction to a template that contains neither a pattern nor a value template with an ifpresent matching attribute nor a value shall result in an error. + */ + +module NegSem_1515_ValueExtaction_001 { + + type component GeneralComp {} + + testcase TC_NegSem_1515_ValueExtaction_001 runs on GeneralComp { + + var template charstring v_any := ?; + var charstring v_cs := v_any.value; //shall result in an error + setverdict(pass); + } + + control { + execute(TC_NegSem_1515_ValueExtaction_001); + }; +} \ No newline at end of file diff --git a/ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn b/ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn new file mode 100644 index 00000000..d8d83470 --- /dev/null +++ b/ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author TTF 014 + ** @version 0.0.1 + ** @purpose 1:15.15, Value extraction + ** @verdict pass accept + ***************************************************/ + +module Sem_1515_ValueExtaction_001 { + + type component GeneralComp {} + + testcase TC_Sem_1515_ValueExtaction_001 runs on GeneralComp { + + var template charstring v_pattern := pattern "ab\?#(1,1)"; + if (v_pattern.value == "ab\?#(1,1)") { + setverdict pass; + } else { + setverdict(fail); + } + + var template charstring v_ifpresent := "abc" ifpresent; + if (v_ifpresent.value == "abc") { + setverdict pass; + } else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_1515_ValueExtaction_001); + }; +} \ No newline at end of file diff --git a/ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn new file mode 100644 index 00000000..2fe2eadc --- /dev/null +++ b/ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author TTF T014 + ** @version 0.0.1 + ** @purpose 1:16.3, Ensure that the IUT properly evaluates invocation of testcases without clause "runs on", but with clause "system" + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/** + * a) interface part (optional): denoted by the keyword runson which references the required component type for the MTC and makes the associated port names visible within the MTC behaviour. + * In case the runson clause is missing, the MTC created by the test case has no ports, and no component constants and variables; + */ +module Syn_1603_testcases_004 { + + type port loopbackPort message { + inout integer + } + + type component GeneralComp { + port loopbackPort messagePort; + const integer c_i := 2; + var integer v_i := 2; + } + + testcase TC_Syn_1603_testcases_004 () system GeneralComp { + // testcase without clause "runs on", but "system" clause is present + messagePort.send(c_i); + if(match(v_i, c_i)){ // constant and variables from GeneralComp + setverdict(pass); + }else{ + setverdict(fail, v_i, c_i); + } + } + + control{ + execute(TC_Syn_1603_testcases_004()); + } + +} -- GitLab From 45c0275f4ed19e76a140c8cc62dcb6eacfbfaecd Mon Sep 17 00:00:00 2001 From: Matthias Simon Date: Mon, 2 Jan 2023 10:53:23 +0100 Subject: [PATCH 3/3] Add suggested corrections for test suite validation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit provides the corrections provided by Tomáš Urban. Bellow you'll find his message: 1. NegSem_0503_Ordering_002 - old test, the declarations don't have to occur in the beginning of a block only. The test should be changed to a positive one. 2. NegSem_0503_Ordering_003 - old test, the declarations don't have to occur in the beginning of a block only. The test should be changed to a positive one. 3. NegSyn_05040102_parameters_of_kind_template_001 - old test, module parameters of template kind are allowed (see 8.2.1 for more details). The test should be changed to a positive one. Nevertheless, the mentioned restriction from 5.4.1.2 and the first paragraph should be changed. CR 8182 created. 4. The test on timer and port parameters should be moved to the section 5.4.1.1 and renamed. The folders 05040103_parameters_of_kind_timer and 05040104_parameters_of_kind_port deleted. The core language has been simplified and there are no specific rules for this kind of parameters any more. The following tests should be changed to positive ones: NegSyn_05040103_parameters_of_kind_timer_001 NegSem_05040104_parameters_of_kind_port_003 5. Sem_05040103_parameters_of_kind_timer_002 - old test, inout passing not possible in this case as the passed timer is not a variable. The test should be modified by adding a timer variable which could be safely passed. 6. Sem_05040104_parameters_of_kind_port_002 - old test, inout passing not possible in this case as the passed port is not a variable. The test should be modified by adding a port variable which could be safely passed. 7. There's a couple of test cases that were rendered invalid by recently added rules on implicit template restrictions (15.8.2). In order to correct them, the referenced field shall be changed to optional. The affected test case: Sem_05040101_parameters_of_kind_value_028 Sem_05040101_parameters_of_kind_value_032 Sem_05040102_parameters_of_kind_template_001 Sem_05040102_parameters_of_kind_template_002 Sem_05040102_parameters_of_kind_template_003 Sem_05040102_parameters_of_kind_template_004 Sem_05040102_parameters_of_kind_template_009 Sem_05040102_parameters_of_kind_template_010 Sem_05040102_parameters_of_kind_template_014 Sem_05040102_parameters_of_kind_template_015 Sem_05040102_parameters_of_kind_template_016 Sem_05040102_parameters_of_kind_template_030 Sem_05040102_parameters_of_kind_template_031 Sem_05040103_parameters_of_kind_timer_001 Sem_05040104_parameters_of_kind_port_001 Sem_050402_actual_parameters_002 Sem_050402_actual_parameters_117 Sem_050402_actual_parameters_118 Sem_050402_actual_parameters_123 Sem_050402_actual_parameters_124 Sem_050402_actual_parameters_129 Sem_050402_actual_parameters_130 Sem_050402_actual_parameters_152 Sem_050402_actual_parameters_188 8. The resolution of CR 8183 allows to use integer expressions in enumerated type definitions rendering the tests. The tests listed below should be changed to positive ones. Nevertheless, the change was not perfect as the BNF was not updated. A CR 8183 was created to fix this issue. NegSyn_060204_enumerated_type_and_values_001 NegSyn_060204_enumerated_type_and_values_002 9. Sem_06021505_accessing_the_keys_003 - new test, contains two errors: incorrect condition and wrong test case name 10. Sem_06021506_accessing_the_values_003 - new test, contains wrong double quote characters 11. The following old tests use "delta" as an identifier, which violates the rule on using keywords from extension packages (see A.1.5.0 for more details). A different identifier should be used. Sem_060301_non_structured_types_002 Sem_070101_ArithmeticOperators_019 Sem_070101_ArithmeticOperators_020 Sem_070101_ArithmeticOperators_021 Sem_070101_ArithmeticOperators_022 Sem_070101_ArithmeticOperators_023 Sem_160102_predefined_functions_001 12. NegSem_060302_structured_types_001 - old test, compatibility rules for enumerations have changed. The test should be changed to a positive one. 13. Sem_07010802_ischosen_operator_003 - old test, violation of implicit template restrictions, the m_u4 template should have the present restriction. 14. Sem_08020301_GeneralFormatOfImport_006 - old test for a deprecated feature that was withdrawn in 2019. The test should be either changed to a negative one or use a language string such as TTCN-3:2018 15. NegSem_1400_procedure_signatures_003 - new test and clearly invalid one, because verdicttype is a data type. It should be replaced e.g. with a component to make it valid. 16. NegSem_1503_GlobalAndLocalTemplates_008 - new test, the used templates do violate the mentioned condition, but fulfil another condition (all parameters initialized), thus the templates are valid. The test should contain a template without an abstract modifier that has a missing (or skipped) both an "in" and "out" parameter. It would be much better to have several tests trying various missing/skipped in/out/inout combinations to cover all cases. It is not necessary to include any communication operations. 17. Sem_1503_GlobalAndLocalTemplates_010 - new test, the test is a positive one and works as designed, but the expected result is incorrectly set as a negative one. It should be changed to positive. 18. NegSem_1505_ModifiedTemplates_009 - new test, contrary to the description, the base and modified templates have the same restriction. The test should be either removed, because 008 already tests this rule or it should be modified to test a different forbidden restriction combination than 008 19. Sem_150601_ReferencingIndividualStringElements_001 - new test, invalid use of a template in an equality operation, valueof operation or value extraction should be added in order to convert the template to a value. 20. Sem_150601_ReferencingIndividualStringElements_004 - new test, contains an odd number of hexadecimal digits in an octet string while an even number is required. 21. Sem_150601_ReferencingIndividualStringElements_005 - new test, syntax error in the if-condition (missing closing parenthesis). 22. Sem_150601_ReferencingIndividualStringElements_006 - new test, syntax error. The keywords "var template octetstring" should be removed from line 14. 23. NegSem_150802_ImplicitRestrictions_003 - new test. It is always safe to assign template(value) into template(omit). This should be a positive test. 24. NegSem_150802_ImplicitRestrictions_005 - new test. It is always safe to assign template(value) into an unrestricted template. This should be a positive test. 25. NegSem_150802_ImplicitRestrictions_010 - new test. It is always safe to assign template(value) into template(omit). This should be a positive test. 26. NegSem_150802_ImplicitRestrictions_012 - new test. It is always safe to assign template(value) into an unrestricted template. This should be a positive test. 27. NegSem_150802_ImplicitRestrictions_016 - new test. It is always safe to assign template(value) into template(omit). This should be a positive test. 28. NegSem_150802_ImplicitRestrictions_021 - new test. It is always safe to assign template(value) into template(present). This should be a positive test. 29. NegSem_150802_ImplicitRestrictions_022 - new test. It is always safe to assign template(present) into an unrestricted template. The test even doesn't match its description. This should be a positive test. 30. NegSem_150802_ImplicitRestrictions_024 - new test. It is always safe to assign template(present) into an unrestricted template. This should be a positive test. 31. Sem_150802_ImplicitRestrictions_001 - new test, it is not possible to access fields of an omitted record. The template should contain contain a record value. 32. Sem_150802_ImplicitRestrictions_002 - new test, it is not possible to access fields of an omitted record. The template should contain contain a record value. 33. Sem_150802_ImplicitRestrictions_006 - new test, generally okay, but the condition at the end is wrong producing a fail verdict. 34. Sem_150802_ImplicitRestrictions_008 - new test, generally okay, but the condition at the end is wrong producing a fail verdict. 35. Sem_150802_ImplicitRestrictions_009 - new test, it is not possible to access fields of an omitted record of. The template should contain contain a record of value. 36. Sem_150802_ImplicitRestrictions_010 - new test, wrong match operation on line 25. It should be match(3, v_second). 37. Sem_150802_ImplicitRestrictions_011 - new test, wrong match operation on line 25. It should be match(3, v_second). 38. Folder structure: 150801_explicit_restrictions and 150802_implicit_restrictions should be inside 1508_template_restrictions and the tests currently present under 1508_template_restrictions should be moved to 150801_explicit_restrictions and renamed accordingly. 39. Sem_1508_TemplateRestrictions_007 - old test, though the assigned content doesn't violate template restrictions, the restrictions themselves are not compatible. Content-based check was deprecated for a long period of time and completely withdrawn recently. The test should be changed to a negative one. 40. The following old tests violate the rules on changing restrictions during modification. They tested a deprecated feature that was later withdrawn. The tests should be changed to a negative ones. Sem_1508_TemplateRestrictions_016 Sem_1508_TemplateRestrictions_017 Sem_1508_TemplateRestrictions_018 Sem_1508_TemplateRestrictions_020 Sem_1508_TemplateRestrictions_022 Sem_1508_TemplateRestrictions_024 Sem_1508_TemplateRestrictions_025 Sem_1508_TemplateRestrictions_031 Sem_1508_TemplateRestrictions_032 Sem_1508_TemplateRestrictions_033 Sem_1508_TemplateRestrictions_034 Sem_1508_TemplateRestrictions_035 Sem_1508_TemplateRestrictions_036 41. Sem_1508_TemplateRestrictions_043 - old test, violates the rules on implicit restrictions. The ExampleType.a field should be changed to optional. 42. Sem_1508_TemplateRestrictions_044 - old test, violates the rules on implicit restrictions. The ExampleType.a field should be changed to optional. 43. Sem_1508_TemplateRestrictions_045 - old test, violates the rules on implicit restrictions. The test should be changed to negative one. 44. Sem_1512_TheOmitOperation_001 - new test, it is not allowed to match two templates. The condition at the line 27 should be changed to: istemplatekind(m_targetOmit, "omit") 45. Sem_1512_TheOmitOperation_002 - new test, it is not allowed to match two templates. Valueof operation or value extraction should be added to the first operand of the match operation at the line 28. 46. NegSem_1512_ThePresentOperation_003 - new test, the main issue is that conversion doesn't actually produce an error as ? fulfils the present restriction. The original template should be changed to * and the final operation to setverdict(pass). 47. Sem_1512_ThePresentOperation_001 - new test, it is not allowed to match two templates. Valueof operation or value extraction should be added to the first operand of the match operation at the line 29. 48. Sem_1514_PresentnessConversion_001 - new test, it is not allowed to match two templates. The condition at the line 23 should be changed to: istemplatekind(v_field, "?") 49. Sem_1515_ValueExtraction_001 - new test, several syntax errors (missing parentheses) 50. NegSem_160102_predefined_functions_029 - old test, this kind of qualified reference was not allowed in TTCN-3:2018 and older, but it is fine with the current standard. The test should be either removed or changed to a positive one. 51. NegSem_160102_predefined_functions_037 - old test, the rules for string indexing changed in the last standard and the substr function allows this kind of input now. The test should be changed to a positive one. 52. NegSem_160102_predefined_functions_062 and NegSem_160102_predefined_functions_063 - new tests which are essentially correct, but fail to notice one important thing: support for record of and set of hasn't been completely withdrawn and it is still present as a deprecated feature (G.4). The tests should stay in the list of unverified features and wait for G.4 withdrawal. 53. The following old tests contain a template parameter with an incompatible template restriction. The template variables passed as a parameter to predefined functions should have a value restriction. Sem_160102_predefined_functions_016 Sem_160102_predefined_functions_097 Sem_160102_predefined_functions_098 Sem_160102_predefined_functions_104 Sem_160102_predefined_functions_107 54. Sem_160102_predefined_functions_095 - old test, violation of implicit template restrictions, the m_u4 template should have the present restriction. 55. Sem_160102_predefined_functions_110 - old test. The test assumes that the supplied bitstring is encoded in a certain way. When a different codec is used, the test will fail. The test should be written in such a way that it is not dependent on a specific codec, e.g. by comparing a result of the encvalue_o function with a converted result of the encvalue_o function. 56. Sem_160102_predefined_functions_113 and Sem_160102_predefined_functions_114 - old tests, the rules for string indexing changed in the last standard and the substr function behaves differently now. The tests should be either rewritten or use a language clause "TTCN-3:2021" in its header. 57. Sem_160102_predefined_functions_116 - old test, it cannot work, because the operands of the match operation contain uninitialized values. The condition should be changed to reflect that. 58. NegSem_160103_external_functions_001 - old test, according to the current standard, templates can be returned by external functions. The test should be converted to a positive one. 59. Syn_1603_testcases_004 - new test. I wonder who wrote this one. The rule (which is even mentioned in this test) clearly states that a test case without a "runs on" clause executes on an MTC that has no ports and no variables. Yet the test assumes that the MTC uses ports and variables of the component type referenced in the system clause. The test should be either removed or rewritten. 60. NegSem_2004_InterleaveStatement_013 - old test, this kind of jump out of interleave is allowed now. The tests should be changed to a positive one. 61. The following old tests try to verify restrictions on local timer usage that were removed from the standard. The tests should be either converted to a positive ones or removed. NegSem_200502_the_activate_operation_002 NegSem_200502_the_activate_operation_006 NegSem_200502_the_activate_operation_007 62. Sem_210101_connect_and_map_operations_011 and Sem_210101_connect_and_map_operations_012 - old tests, they test a specific situation that was declared to be an error in TTCN-3:2018. The tests should converted to negative ones (if such test don't already exist). 63. Sem_B010303_permutation_006 and Sem_B010303_permutation_009 - old tests, violate rules on implicit template restrictions. The problematic templates should be defined with the present restriction. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch v14-unvalidated # Your branch is up to date with 'upstream/v14-unvalidated'. # # Changes to be committed: # modified: 05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn # modified: 05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_028.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_032.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSyn_05040102_parameters_of_kind_template_001.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_003.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_004.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_009.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_010.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_014.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_015.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_016.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_030.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_031.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn # modified: 05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_152.ttcn # modified: 05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_188.ttcn # deleted: "06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" # modified: 06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn # modified: 06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_002.ttcn # modified: 06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn # modified: 06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn # modified: 06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn # modified: 06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn # modified: 07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn # modified: 07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn # modified: 07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn # modified: 07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn # modified: 07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn # modified: 07_expressions/0701_operators/070108_presence_checking_operators/07010802_ischosen_operator/Sem_07010802_ischosen_operator_003.ttcn # modified: 08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn # modified: 14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn # modified: 15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_008.ttcn # modified: 15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_010.ttcn # modified: 15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_009.ttcn # modified: 15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn # modified: 15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn # modified: 15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn # modified: 15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn # modified: 15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn # modified: 15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn # modified: 15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn # modified: 15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn # modified: 15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn # modified: 15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn # modified: 15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn # modified: 15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn # modified: 15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn # modified: 15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn # modified: 15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn # modified: 15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn # modified: 15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn # modified: 15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn # modified: 15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_037.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_062.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_063.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_104.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_107.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_110.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_113.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_114.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_116.ttcn # modified: 16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn # modified: 16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn # modified: 20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_013.ttcn # modified: 20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn # modified: 20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_006.ttcn # modified: 20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_007.ttcn # modified: 21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_011.ttcn # modified: 21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_012.ttcn # modified: 22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn # modified: B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn # modified: B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_009.ttcn # # Untracked files: # foo.log # ../../build-aux/extract-operations # ../../standards/base/CR8113.docx # ../../standards/base/CR8156-3.docx # --- .../NegSem_0503_Ordering_002.ttcn | 2 +- .../NegSem_0503_Ordering_003.ttcn | 2 +- ...05040101_parameters_of_kind_value_028.ttcn | 2 +- ...05040101_parameters_of_kind_value_032.ttcn | 2 +- ...40102_parameters_of_kind_template_001.ttcn | 2 +- ...40102_parameters_of_kind_template_001.ttcn | 2 +- ...40102_parameters_of_kind_template_002.ttcn | 2 +- ...40102_parameters_of_kind_template_003.ttcn | 4 +-- ...40102_parameters_of_kind_template_004.ttcn | 4 +-- ...40102_parameters_of_kind_template_009.ttcn | 4 +-- ...40102_parameters_of_kind_template_010.ttcn | 4 +-- ...40102_parameters_of_kind_template_014.ttcn | 4 +-- ...40102_parameters_of_kind_template_015.ttcn | 2 +- ...40102_parameters_of_kind_template_016.ttcn | 2 +- ...40102_parameters_of_kind_template_030.ttcn | 2 +- ...40102_parameters_of_kind_template_031.ttcn | 2 +- ...05040103_parameters_of_kind_timer_001.ttcn | 2 +- ...05040103_parameters_of_kind_timer_001.ttcn | 2 +- ...05040103_parameters_of_kind_timer_002.ttcn | 3 +- ..._05040104_parameters_of_kind_port_003.ttcn | 2 +- ..._05040104_parameters_of_kind_port_001.ttcn | 2 +- ..._05040104_parameters_of_kind_port_002.ttcn | 3 +- .../Sem_050402_actual_parameters_001.ttcn | 2 +- .../Sem_050402_actual_parameters_002.ttcn | 2 +- .../Sem_050402_actual_parameters_117.ttcn | 2 +- .../Sem_050402_actual_parameters_118.ttcn | 2 +- .../Sem_050402_actual_parameters_123.ttcn | 2 +- .../Sem_050402_actual_parameters_124.ttcn | 2 +- .../Sem_050402_actual_parameters_129.ttcn | 2 +- .../Sem_050402_actual_parameters_130.ttcn | 2 +- .../Sem_050402_actual_parameters_152.ttcn | 2 +- .../Sem_050402_actual_parameters_188.ttcn | 2 +- ...or_field_types_0 \342\200\223 koopia.ttcn" | 29 ----------------- ...060204_enumerated_type_and_values_001.ttcn | 2 +- ...060204_enumerated_type_and_values_002.ttcn | 2 +- .../Sem_06021505_accessing_the_keys_003.ttcn | 6 ++-- ...Sem_06021506_accessing_the_values_003.ttcn | 4 +-- .../Sem_060301_non_structured_types_002.ttcn | 8 ++--- .../NegSem_060302_structured_types_001.ttcn | 4 +-- .../Sem_070101_ArithmeticOperators_019.ttcn | 8 ++--- .../Sem_070101_ArithmeticOperators_020.ttcn | 8 ++--- .../Sem_070101_ArithmeticOperators_021.ttcn | 8 ++--- .../Sem_070101_ArithmeticOperators_022.ttcn | 8 ++--- .../Sem_070101_ArithmeticOperators_023.ttcn | 8 ++--- .../Sem_07010802_ischosen_operator_003.ttcn | 2 +- ...em_08020301_GeneralFormatOfImport_006.ttcn | 6 ++-- .../NegSem_1400_procedure_signatures_003.ttcn | 2 +- ...gSem_1503_GlobalAndLocalTemplates_008.ttcn | 4 +-- .../Sem_1503_GlobalAndLocalTemplates_010.ttcn | 2 +- .../NegSem_1505_ModifiedTemplates_009.ttcn | 2 +- ...ferencingIndividualStringElements_001.ttcn | 2 +- ...ferencingIndividualStringElements_004.ttcn | 2 +- ...ferencingIndividualStringElements_005.ttcn | 2 +- ...ferencingIndividualStringElements_006.ttcn | 3 +- ...egSem_150802_ImplicitRestrictions_003.ttcn | 4 +-- ...egSem_150802_ImplicitRestrictions_005.ttcn | 4 +-- ...egSem_150802_ImplicitRestrictions_010.ttcn | 4 +-- ...egSem_150802_ImplicitRestrictions_012.ttcn | 4 +-- ...egSem_150802_ImplicitRestrictions_016.ttcn | 4 +-- ...egSem_150802_ImplicitRestrictions_021.ttcn | 4 +-- ...egSem_150802_ImplicitRestrictions_022.ttcn | 4 +-- ...egSem_150802_ImplicitRestrictions_024.ttcn | 4 +-- .../Sem_150802_ImplicitRestrictions_001.ttcn | 2 +- .../Sem_150802_ImplicitRestrictions_002.ttcn | 2 +- .../Sem_150802_ImplicitRestrictions_006.ttcn | 6 ++-- .../Sem_150802_ImplicitRestrictions_008.ttcn | 4 +-- .../Sem_150802_ImplicitRestrictions_009.ttcn | 2 +- .../Sem_150802_ImplicitRestrictions_010.ttcn | 2 +- .../Sem_150802_ImplicitRestrictions_011.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_007.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_016.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_017.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_018.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_020.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_022.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_024.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_025.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_031.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_032.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_033.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_034.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_035.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_036.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_043.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_044.ttcn | 2 +- .../Sem_1508_TemplateRestrictions_045.ttcn | 2 +- .../Sem_1512_TheOmitOperation_001.ttcn | 2 +- .../Sem_1512_TheOmitOperation_002.ttcn | 2 +- .../NegSem_1512_ThePresentOperation_003.ttcn | 4 +-- .../Sem_1512_ThePresentOperation_001.ttcn | 2 +- .../Sem_1514_PresentnessConversion_001.ttcn | 2 +- .../Sem_1515_ValueExtraction_001.ttcn | 8 ++--- ...egSem_160102_predefined_functions_029.ttcn | 4 +-- ...egSem_160102_predefined_functions_037.ttcn | 9 +++--- ...egSem_160102_predefined_functions_062.ttcn | 4 +-- ...egSem_160102_predefined_functions_063.ttcn | 4 +-- .../Sem_160102_predefined_functions_001.ttcn | 8 ++--- .../Sem_160102_predefined_functions_016.ttcn | 2 +- .../Sem_160102_predefined_functions_095.ttcn | 2 +- .../Sem_160102_predefined_functions_097.ttcn | 2 +- .../Sem_160102_predefined_functions_098.ttcn | 2 +- .../Sem_160102_predefined_functions_104.ttcn | 2 +- .../Sem_160102_predefined_functions_107.ttcn | 2 +- .../Sem_160102_predefined_functions_110.ttcn | 32 +++++++++---------- .../Sem_160102_predefined_functions_113.ttcn | 2 +- .../Sem_160102_predefined_functions_114.ttcn | 2 +- .../Sem_160102_predefined_functions_116.ttcn | 12 +++++-- .../NegSem_160103_external_functions_001.ttcn | 2 +- .../Syn_1603_testcases_004.ttcn | 22 +++++++++---- .../NegSem_2004_InterleaveStatement_013.ttcn | 8 ++--- ...Sem_200502_the_activate_operation_002.ttcn | 2 +- ...Sem_200502_the_activate_operation_006.ttcn | 2 +- ...Sem_200502_the_activate_operation_007.ttcn | 2 +- ...210101_connect_and_map_operations_011.ttcn | 2 +- ...210101_connect_and_map_operations_012.ttcn | 2 +- .../Sem_220303_ReplyOperation_005.ttcn | 2 +- .../Sem_B010303_permutation_006.ttcn | 12 +++---- .../Sem_B010303_permutation_009.ttcn | 2 +- 118 files changed, 218 insertions(+), 233 deletions(-) delete mode 100644 "ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" diff --git a/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn b/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn index 2ae3d844..d3343a86 100644 --- a/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn +++ b/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn @@ -3,7 +3,7 @@ ** @version 0.0.1 ** @desc Test cases for clause 5.2 Scope rules ** @purpose 1:5.3, Ensure that declarations are in the allowed ordering - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ module NegSem_0503_Ordering_002 { diff --git a/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn b/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn index 72876431..7ed21a70 100644 --- a/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn +++ b/ATS/core_language/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn @@ -3,7 +3,7 @@ ** @version 0.0.1 ** @desc Test cases for clause 5.2 Scope rules ** @purpose 1:5.3, Ensure that declarations are in the allowed ordering - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ module NegSem_0503_Ordering_003 { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_028.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_028.ttcn index 3f73483b..d36c0a23 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_028.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_028.ttcn @@ -14,7 +14,7 @@ module Sem_05040101_parameters_of_kind_value_028 { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } type port TestPort message { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_032.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_032.ttcn index db979d00..549cc575 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_032.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_032.ttcn @@ -15,7 +15,7 @@ type record MyRecord { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } type port TestPort message { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSyn_05040102_parameters_of_kind_template_001.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSyn_05040102_parameters_of_kind_template_001.ttcn index 14c646d0..cec76559 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSyn_05040102_parameters_of_kind_template_001.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSyn_05040102_parameters_of_kind_template_001.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:5.4.1.2, verify that module parameter of template kind is not allowed - ** @verdict pass reject + ** @verdict pass accept, noexecution ***************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn index 900c429d..561d7002 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn @@ -14,7 +14,7 @@ type record MyRecord { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } template MyRecord m_parametrizedTemplate diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn index 7a6dafc1..a49eff6b 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn @@ -14,7 +14,7 @@ type record MyRecord { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_003.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_003.ttcn index 009a4ae0..350e141e 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_003.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_003.ttcn @@ -22,8 +22,8 @@ module Sem_05040102_parameters_of_kind_template_003 { type record R { - integer field1, - integer field2 + integer field1 optional, + integer field2 optional } template R mw_t(template integer p_int1, in template integer p_int2) := { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_004.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_004.ttcn index 1f84c386..97346f1f 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_004.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_004.ttcn @@ -22,8 +22,8 @@ module Sem_05040102_parameters_of_kind_template_004 { type record R { - integer field1, - integer field2 + integer field1 optional, + integer field2 optional } testcase TC_Sem_05040102_parameters_of_kind_template_004() runs on GeneralComp { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_009.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_009.ttcn index 4152f7eb..eae5e158 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_009.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_009.ttcn @@ -16,8 +16,8 @@ module Sem_05040102_parameters_of_kind_template_009 { type record R { - integer field1, - integer field2 + integer field1 optional, + integer field2 optional } template R mw_t(template integer p_int1 := ?, in template integer p_int2 := (0..5)) := { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_010.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_010.ttcn index a1bc23b6..1239c61e 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_010.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_010.ttcn @@ -16,8 +16,8 @@ module Sem_05040102_parameters_of_kind_template_010 { type record R { - integer field1, - integer field2 + integer field1 optional, + integer field2 optional } function f() { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_014.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_014.ttcn index 458ed45b..de0eb242 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_014.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_014.ttcn @@ -17,8 +17,8 @@ module Sem_05040102_parameters_of_kind_template_014 { type record R { - integer field1, - integer field2 + integer field1 optional, + integer field2 optional } template R mw_t(template integer p_int1 := ?, in template integer p_int2 := (0..5)) := { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_015.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_015.ttcn index 19d93d03..4ea98593 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_015.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_015.ttcn @@ -17,7 +17,7 @@ module Sem_05040102_parameters_of_kind_template_015 { type record R { - integer field1, + integer field1 optional, integer field2 optional } diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_016.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_016.ttcn index 2d3a1a53..ff54e2d6 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_016.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_016.ttcn @@ -17,7 +17,7 @@ module Sem_05040102_parameters_of_kind_template_016 { type record R { - integer field1, + integer field1 optional, integer field2 optional } diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_030.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_030.ttcn index eff5951d..a714f0df 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_030.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_030.ttcn @@ -17,7 +17,7 @@ module Sem_05040102_parameters_of_kind_template_030 { type record R { - integer field1, + integer field1 optional, integer field2 optional } diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_031.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_031.ttcn index a9d1874b..109dc282 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_031.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_031.ttcn @@ -17,7 +17,7 @@ module Sem_05040102_parameters_of_kind_template_031 { type record R { - integer field1, + integer field1 optional, integer field2 optional } diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn index c774ec94..721cac3d 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn @@ -2,7 +2,7 @@ ** @author STF 521 ** @version 0.0.1 ** @purpose 1:5.4.1.3, Verify that in timer parameters are not allowed - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn index cda1d795..ff176c35 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn @@ -15,7 +15,7 @@ type record MyRecord { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } type port TestPort message { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn index 50b9f7ac..708d4c44 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn @@ -20,8 +20,9 @@ module Sem_05040103_parameters_of_kind_timer_002 { testcase TC_Sem_05040103_parameters_of_kind_timer_001() runs on C { timer t_tmr := 0.1; + var timer v_tmr := t_tmr; t_tmr.start; - f_test(t_tmr); + f_test(v_tmr); } control { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn index 91c9376a..55ce3bdc 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn @@ -2,7 +2,7 @@ ** @author STF 521 ** @version 0.0.1 ** @purpose 1:5.4.1.4, Verify that in port parameters are not allowed - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn index 10a4d2e6..2f8b3324 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn @@ -14,7 +14,7 @@ module Sem_05040104_parameters_of_kind_port_001 { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } type port TestPort message { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn index dcfe29d5..2de12b73 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn @@ -24,7 +24,8 @@ module Sem_05040104_parameters_of_kind_port_002 { } testcase TC_Sem_05040104_parameters_of_kind_port_002() runs on C { - f_test(p); + var P v_port := p; + f_test(v_port); } control { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn index f89eee94..b2b54428 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn @@ -14,7 +14,7 @@ type record MyRecord { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn index a1745d70..162f6db4 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn @@ -15,7 +15,7 @@ type record MyRecord { boolean field2, address field3, MyEnumeratedType field4, - integer field5 + integer field5 optional } template MyRecord m_parametrizedTemplate1 diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn index 7fe9ca22..ddbcdfe4 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn @@ -16,7 +16,7 @@ module Sem_050402_actual_parameters_117 { } type record R { - integer field1 + integer field1 optional } function f_test(out template integer p_val) { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn index 79db2238..93dd01a9 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn @@ -16,7 +16,7 @@ module Sem_050402_actual_parameters_118 { } type record R { - integer field1 + integer field1 optional } function f_test(out template integer p_val) { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn index d643d111..314a3ba9 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn @@ -17,7 +17,7 @@ module Sem_050402_actual_parameters_123 { } type record R { - integer field1 + integer field1 optional } altstep a_test(out template integer p_val) runs on GeneralComp { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn index 9038f5af..2beeeb45 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn @@ -17,7 +17,7 @@ module Sem_050402_actual_parameters_124 { } type record R { - integer field1 + integer field1 optional } altstep a_test(out template integer p_val) runs on GeneralComp { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn index 4e416538..4e0c1e12 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn @@ -16,7 +16,7 @@ module Sem_050402_actual_parameters_129 { } type record R { - integer field1 + integer field1 optional } testcase TC_Sem_050402_actual_parameters_129(out template integer p_val) runs on GeneralComp { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn index ed914d95..130577a0 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn @@ -16,7 +16,7 @@ module Sem_050402_actual_parameters_130 { } type record R { - integer field1 + integer field1 optional } testcase TC_Sem_050402_actual_parameters_130(out template integer p_val) runs on GeneralComp { diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_152.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_152.ttcn index e8673279..626ed95d 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_152.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_152.ttcn @@ -18,7 +18,7 @@ module Sem_050402_actual_parameters_152 { type record R { integer field1, record { - integer subfield1, + integer subfield1 optional, integer subfield2 } field2 optional } diff --git a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_188.ttcn b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_188.ttcn index d81031b8..f4e193f4 100644 --- a/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_188.ttcn +++ b/ATS/core_language/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_188.ttcn @@ -16,7 +16,7 @@ module Sem_050402_actual_parameters_188 { type record R { integer field1, - integer field2 + integer field2 optional } template integer mw_int (integer p_upper) := (0..p_upper); diff --git "a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" "b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" deleted file mode 100644 index c0ee7436..00000000 --- "a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020103_nested_type_definitions_for_field_types/Sem_06020103_nested_type_definitions_for_field_types_0 \342\200\223 koopia.ttcn" +++ /dev/null @@ -1,29 +0,0 @@ -/*************************************************** - ** @author TTF T014 - ** @version 0.0.1 - ** @purpose 1:6.2.1.3, Verify that it is possible to use a nested structured type as a field of a record - ** @verdict pass accept, noexecution - ***************************************************/ - -// The following requirement is tested: -// TTCN 3 supports the definition of types for record fields nested within the record definition. -// ... the definition of new structured types (record, set, enumerated, set of, record of, and union -// and map) ... - -module Sem_06020103_nested_type_definitions_for_field_types_001 { - // Example from the specification, 1st part - type record MyNestedRecordType - { - record - { - integer nestedField1, - float nestedField2 - } outerField1, - enumerated { - nestedEnum1, - nestedEnum2 - } outerField2, - record of boolean outerField3, - map from charstring to charstring outerfield4 - }; -} diff --git a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn index 2b49c841..f5e3d421 100644 --- a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn +++ b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:6.2.4, constant as user-assigned enumerated values - ** @verdict pass reject + ** @verdict pass accept, noexecution ***************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_002.ttcn b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_002.ttcn index 671a3481..75cc2494 100644 --- a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_002.ttcn +++ b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_002.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:6.2.4, expression as user-assigned enumerated value - ** @verdict pass reject + ** @verdict pass accept, noexecution ***************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn index ac85b98c..7050a381 100644 --- a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn +++ b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021505_accessing_the_keys/Sem_06021505_accessing_the_keys_003.ttcn @@ -2,7 +2,7 @@ ** @author TTF T014 ** @version 0.0.1 ** @purpose 1:6.2.15.5, Verify that map keys are unique - ** @verdict pass accept, ttcn3result: pass + ** @verdict pass accept, ttcn3verdict: pass ***************************************************/ // The following requirement is tested: @@ -18,7 +18,7 @@ module Sem_06021505_accessing_the_keys_003 { v_map["test"] := 1; v_map["xyz"] := 5; v_map["test"] := 6; - if (match(v_map.from, { "test", "xyz" }) and lengthof(v_map.from == 2)) { + if (match(v_map.from, { "test", "xyz" }) and lengthof(v_map.from) == 2) { setverdict(pass); } else { setverdict(fail); @@ -26,6 +26,6 @@ module Sem_06021505_accessing_the_keys_003 { } control { - execute(TC_Sem_06021505_accessing_the_keys_002()); + execute(TC_Sem_06021505_accessing_the_keys_003()); } } diff --git a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn index 6217f53b..c5cef1d6 100644 --- a/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn +++ b/ATS/core_language/06_types_and_values/0602_structured_types_and_values/060215_map_types/06021506_accessing_the_values/Sem_06021506_accessing_the_values_003.ttcn @@ -2,7 +2,7 @@ ** @author TTF T014 ** @version 0.0.1 ** @purpose 1:6.2.15.6, Verify that map values don't have to be unique - ** @verdict pass accept, ttcn3result: pass + ** @verdict pass accept, ttcn3verdict: pass ***************************************************/ // The following requirement is tested: @@ -15,7 +15,7 @@ module Sem_06021506_accessing_the_values_003 { type component C {} testcase TC_Sem_06021506_accessing_the_values_003() runs on C { - var MapValueType v_map := { [“a”] := 0, [“b”] := 0, [“c”] := 1 }; + var MapValueType v_map := { ["a"] := 0, ["b"] := 0, ["c"] := 1 }; var MapValueType.to v_values := v_map.to; if (match(v_values, {0,1,0})) { // yields true setverdict(pass); diff --git a/ATS/core_language/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn b/ATS/core_language/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn index 4fc0b3b4..95d66693 100644 --- a/ATS/core_language/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn +++ b/ATS/core_language/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn @@ -20,11 +20,11 @@ type component GeneralComp { * @return true if abs(f1 - f2) < 1.E-6 */ function f_isFloatNear(in float f1, in float f2) return boolean { - var float delta := f1-f2; - if (delta < 0.0) { - delta := 0.0 - delta; + var float diff := f1-f2; + if (diff < 0.0) { + diff := 0.0 - diff; } - return delta < 1E-6; + return diff < 1E-6; } testcase TC_Sem_060301_non_structured_types_002() runs on GeneralComp { diff --git a/ATS/core_language/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn b/ATS/core_language/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn index 0403c598..797d1fe1 100644 --- a/ATS/core_language/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn +++ b/ATS/core_language/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn @@ -2,7 +2,7 @@ ** @author STF 409 ** @version 0.0.1 ** @purpose 1:6.3.2.1, Reject assignment of other enumerated types since they are only compatible to synonym types - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ module NegSem_060302_structured_types_001 { @@ -20,7 +20,7 @@ testcase TC_NegSem_060302_structured_types_001() runs on GeneralComp { var EnumeratedType v_enum1:=e_black; var EnumeratedRedefinition v_enum2; - v_enum2:=v_enum1; // not a synonym type + v_enum2:=v_enum1; // compatible enumeration setverdict(pass); } diff --git a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn index f59d8be3..72315cfd 100644 --- a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn +++ b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn @@ -15,11 +15,11 @@ type component GeneralComp { * @return true if abs(f1 - f2) < 1.E-6 */ function f_isFloatNear(in float f1, in float f2) return boolean { - var float delta := f1-f2; - if (delta < 0.0) { - delta := 0.0 - delta; + var float diff := f1-f2; + if (diff < 0.0) { + diff := 0.0 - diff; } - return delta < 1E-6; + return diff < 1E-6; } testcase TC_Sem_070101_ArithmeticOperators_019() runs on GeneralComp { diff --git a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn index 027c3ac0..ac20ca00 100644 --- a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn +++ b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn @@ -15,11 +15,11 @@ type component GeneralComp { * @return true if abs(f1 - f2) < 1.E-6 */ function f_isFloatNear(in float f1, in float f2) return boolean { - var float delta := f1-f2; - if (delta < 0.0) { - delta := 0.0 - delta; + var float diff := f1-f2; + if (diff < 0.0) { + diff := 0.0 - diff; } - return delta < 1E-6; + return diff < 1E-6; } testcase TC_Sem_070101_ArithmeticOperators_020() runs on GeneralComp { diff --git a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn index d9216eef..a3da9551 100644 --- a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn +++ b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn @@ -15,11 +15,11 @@ type component GeneralComp { * @return true if abs(f1 - f2) < 1.E-6 */ function f_isFloatNear(in float f1, in float f2) return boolean { - var float delta := f1-f2; - if (delta < 0.0) { - delta := 0.0 - delta; + var float diff := f1-f2; + if (diff < 0.0) { + diff := 0.0 - diff; } - return delta < 1E-6; + return diff < 1E-6; } testcase TC_Sem_070101_ArithmeticOperators_021() runs on GeneralComp { diff --git a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn index 28c8b417..6b2f2b07 100644 --- a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn +++ b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn @@ -15,11 +15,11 @@ type component GeneralComp { * @return true if abs(f1 - f2) < 1.E-6 */ function f_isFloatNear(in float f1, in float f2) return boolean { - var float delta := f1-f2; - if (delta < 0.0) { - delta := 0.0 - delta; + var float diff := f1-f2; + if (diff < 0.0) { + diff := 0.0 - diff; } - return delta < 1E-6; + return diff < 1E-6; } testcase TC_Sem_070101_ArithmeticOperators_022() runs on GeneralComp { diff --git a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn index ab96edb0..3a73e31c 100644 --- a/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn +++ b/ATS/core_language/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn @@ -15,11 +15,11 @@ type component GeneralComp { * @return true if abs(f1 - f2) < 1.E-6 */ function f_isFloatNear(in float f1, in float f2) return boolean { - var float delta := f1-f2; - if (delta < 0.0) { - delta := 0.0 - delta; + var float diff := f1-f2; + if (diff < 0.0) { + diff := 0.0 - diff; } - return delta < 1E-6; + return diff < 1E-6; } testcase TC_Sem_070101_ArithmeticOperators_023() runs on GeneralComp { diff --git a/ATS/core_language/07_expressions/0701_operators/070108_presence_checking_operators/07010802_ischosen_operator/Sem_07010802_ischosen_operator_003.ttcn b/ATS/core_language/07_expressions/0701_operators/070108_presence_checking_operators/07010802_ischosen_operator/Sem_07010802_ischosen_operator_003.ttcn index 8e7f2763..a8a47228 100644 --- a/ATS/core_language/07_expressions/0701_operators/070108_presence_checking_operators/07010802_ischosen_operator/Sem_07010802_ischosen_operator_003.ttcn +++ b/ATS/core_language/07_expressions/0701_operators/070108_presence_checking_operators/07010802_ischosen_operator/Sem_07010802_ischosen_operator_003.ttcn @@ -14,7 +14,7 @@ type component GeneralComp { testcase TC_Sem_07010802_ischosen_operator_003 () runs on GeneralComp { - template U m_u4 := ({ f1 := 2 }, {f2 := 'AB'O }); + template(present) U m_u4 := ({ f1 := 2 }, {f2 := 'AB'O }); template anytype mw_anytype := { U := m_u4 } var boolean v_i; diff --git a/ATS/core_language/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn b/ATS/core_language/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn index b4e53ec3..5387b713 100644 --- a/ATS/core_language/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn +++ b/ATS/core_language/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn @@ -1,11 +1,11 @@ /***************************************************************** ** @author STF 470 ** @version 0.0.1 - ** @purpose 1:8.2.3.1, Make sure that it is possible to use module prefix for local definitions - ** @verdict pass accept, ttcn3verdict:pass + ** @purpose 1:8.2.3.1, Make sure that it is not possible to use module prefix for local definitions + ** @verdict pass reject *****************************************************************/ -// The following requirements are tested: +// This old rule was removed from the standard in 2019: // When the definition is referenced in the same module where it is defined, the // module identifier of the module (the current module) also may be used for prefixing // the identifier of the definition. diff --git a/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn b/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn index b26bc20a..de4ba723 100644 --- a/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn +++ b/ATS/core_language/14_procedure_signatures/NegSem_1400_procedure_signatures_003.ttcn @@ -8,7 +8,7 @@ module NegSem_1400_procedure_signatures_003 { - signature p_Sig1_001(in integer p_par1, out integer p_par2, inout integer p_par3) return verdicttype // Not allowed: only data types are allowed + signature p_Sig1_001(in integer p_par1, out integer p_par2, inout integer p_par3) return default // Not allowed: only data types are allowed exception (charstring); //execption is a string diff --git a/ATS/core_language/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_008.ttcn b/ATS/core_language/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_008.ttcn index f1af7d8d..c1515312 100644 --- a/ATS/core_language/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_008.ttcn +++ b/ATS/core_language/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_008.ttcn @@ -19,9 +19,9 @@ module NegSem_1503_GlobalAndLocalTemplates_008 { template p_NegSem_1503_GlobalAndLocalTemplates_008_SignatureTemplate s_notToUseInCallTemplate := { - p_in := 1, //NotUsedSymbol? + p_in := -, //NotUsedSymbol? p_inout := 2, - p_out := 3 + p_out := - } diff --git a/ATS/core_language/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_010.ttcn b/ATS/core_language/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_010.ttcn index d746faa3..eddf0ff1 100644 --- a/ATS/core_language/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_010.ttcn +++ b/ATS/core_language/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_010.ttcn @@ -2,7 +2,7 @@ * @author TTF 014 * @version 0.0.1 * @purpose 1:15.3, Ensure that signature templates with restriction e) are accepted. - * @verdict pass reject + * @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* The following requirements are tested: * Signature templates that do not contain the @abstract modifier and fulfil the following condition: diff --git a/ATS/core_language/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_009.ttcn b/ATS/core_language/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_009.ttcn index 8b19ae22..4b1c3075 100644 --- a/ATS/core_language/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_009.ttcn +++ b/ATS/core_language/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_009.ttcn @@ -20,7 +20,7 @@ module NegSem_1505_ModifiedTemplates_009 { boolean field3 } - template(value) MyRecordType m_myValueRecTemplate := + template(present) MyRecordType m_myValueRecTemplate := { field1 := 123, field2 := "A string", diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn index 1c94f0ef..33403600 100644 --- a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_001.ttcn @@ -16,7 +16,7 @@ testcase TC_Sem_150601_ReferencingIndividualStringElements_001() runs on General v_char2 := v_char1[1]; - if (v_char2 == "Y") { + if (valueof(v_char2) == "Y") { setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn index 6314a469..f84c00df 100644 --- a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_004.ttcn @@ -10,7 +10,7 @@ module Sem_150601_ReferencingIndividualStringElements_004 { type component GeneralComp { } testcase TC_Sem_150601_ReferencingIndividualStringElements_004() runs on GeneralComp { - var template octetstring v_oct1 := '01234567890ABCDEF'O; + var template octetstring v_oct1 := '0123456789ABCDEF'O; var template octetstring v_oct2; v_oct2 := v_oct1[1]; // v_oct2 will be equal to '23'O after the assignment diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn index fa13cdab..e82d0e86 100644 --- a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_005.ttcn @@ -15,7 +15,7 @@ testcase TC_Sem_150601_ReferencingIndividualStringElements_005() runs on General v_oct2 := v_oct1[2]; // v_oct2 will be equal to '?'O after the assignment - if (match('EF'O, v_oct2) { //It is quite impossible to check if v_oct2 contains the pattern '?'O indeed + if (match('EF'O, v_oct2)) { //It is quite impossible to check if v_oct2 contains the pattern '?'O indeed setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn index 266a2754..8a7677d7 100644 --- a/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn +++ b/ATS/core_language/15_templates/1506_referencing_elements_of_template_fields/150601_referencing_individual_string_elements/Sem_150601_ReferencingIndividualStringElements_006.ttcn @@ -11,8 +11,9 @@ type component GeneralComp { } testcase TC_Sem_150601_ReferencingIndividualStringElements_006() runs on GeneralComp { var template octetstring v_oct1 := '0123'O; - var template octetstring v_oct1[3] := 'FF'O; // v_oct3 will change to '0123FF'O + v_oct1[2] := 'FF'O; // v_oct3 will change to '0123FF'O + log(v_oct1); if (v_oct1.value == '0123FF'O) { setverdict(pass); } else { diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn index 96f2d81f..0eb06fcd 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_003.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of template(value) base templates are not allowed to implicite restrict to template(omit) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -27,7 +27,7 @@ testcase TC_NegSem_150802_ImplicitRestrictions_003() runs on GeneralComp { var template(omit) integer v_omit_a := exampleValue.a; //Not allowed - setverdict(fail); + setverdict(pass); } diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn index cd3107bc..be2095d5 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_005.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of template(present) base templates are not allowed to implicite template without restriction - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -26,7 +26,7 @@ testcase TC_NegSem_150802_ImplicitRestrictions_005() runs on GeneralComp { var template integer v_a := examplePresent.a; //Not allowed - setverdict(fail); + setverdict(pass); } control{ diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn index 41200865..f26c35a0 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_010.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced element of templates(value) are not allowed to implicite restrict to template(omit) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -22,7 +22,7 @@ testcase TC_NegSem_150802_ImplicitRestrictions_010() runs on GeneralComp { var template (omit) integer v_omit := m_exampleValue[2]; //Not allowed - setverdict(fail); + setverdict(pass); } control{ diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn index 4ee0b9e6..bd8b3914 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_012.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced element of templates are not allowed to implicite restrict to template - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -22,7 +22,7 @@ testcase TC_NegSem_150802_ImplicitRestrictions_012() runs on GeneralComp { var template integer v_secondElem := m_example[2]; // Not allowed - setverdict(fail); + setverdict(pass); } diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn index 1f125596..8edf5c22 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_016.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced mandatory fields of templates are not allowed to implicite to template - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -26,7 +26,7 @@ testcase TC_NegSem_150802_ImplicitRestrictions_016() runs on GeneralComp { var template integer v_value_a := example.a; //Not allowed - setverdict(fail); + setverdict(pass); } control{ diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn index 7356271f..945c4035 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_021.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced element of templates(value) are not allowed to implicite restrict to template(present) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -22,7 +22,7 @@ testcase TC_Sem_150802_ImplicitRestrictions_021() runs on GeneralComp { var template (present) integer v_present := m_exampleValue[2]; //Not allowed - setverdict(fail); + setverdict(pass); } control{ diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn index 0cb6a73a..71b4af72 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_022.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced element of templates(value) are not allowed to implicite restrict to template(present) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -22,7 +22,7 @@ testcase TC_Sem_150802_ImplicitRestrictions_022() runs on GeneralComp { var template integer v_present := m_exampleValue[2]; //Not allowed - setverdict(fail); + setverdict(pass); } control{ diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn index 553f96f8..d4c11705 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/NegSem_150802_ImplicitRestrictions_024.ttcn @@ -2,7 +2,7 @@ ** @author TTF 014 ** @version 0.0.1 ** @purpose 1:15.8.2, Ensure that referenced element of templates(present) are not allowed to implicite restrict to template - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ /* @@ -22,7 +22,7 @@ testcase TC_NegSem_150802_ImplicitRestrictions_024() runs on GeneralComp { var template integer v_value := m_exampleValue[2]; //Not allowed - setverdict(fail); + setverdict(pass); } control{ diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn index 6c6d0c74..1bf7cdfc 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_001.ttcn @@ -19,7 +19,7 @@ type record ExampleType { boolean b optional } -template(omit) ExampleType exampleOmit := omit; +template(omit) ExampleType exampleOmit := { a := 1, b := omit }; testcase TC_Sem_150802_ImplicitRestrictions_001() runs on GeneralComp { diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn index 01e05be0..16b0db5c 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_002.ttcn @@ -21,7 +21,7 @@ type record ExampleType { } -template(omit) ExampleType exampleOmit := omit; +template(omit) ExampleType exampleOmit := { a := 1, b := omit }; testcase TC_Sem_150802_ImplicitRestrictions_002() runs on GeneralComp { diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn index 765deb6e..52764240 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_006.ttcn @@ -26,10 +26,10 @@ testcase TC_Sem_150802_ImplicitRestrictions_006() runs on GeneralComp { var template boolean v_present_b := examplePresent.b; - if ( ispresent(v_present_b) ) { - setverdict(fail); - } else { + if (ispresent(v_present_b) ) { setverdict(pass); + } else { + setverdict(fail); } } diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn index 065fa48c..9e3d7cfd 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_008.ttcn @@ -27,9 +27,9 @@ testcase TC_Sem_150802_ImplicitRestrictions_008() runs on GeneralComp { var template boolean v_template_b := example.b; if ( ispresent(v_template_b) ) { - setverdict(fail); - } else { setverdict(pass); + } else { + setverdict(fail); } } diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn index e3962fdb..f8ae8d0c 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_009.ttcn @@ -18,7 +18,7 @@ type record of integer RecordOfInt; testcase TC_Sem_150802_ImplicitRestrictions_009() runs on GeneralComp { - template (omit) RecordOfInt m_exampleOmit := omit; + template (omit) RecordOfInt m_exampleOmit := { 1, 2, 3, 4 }; var template (value) integer v_omit := m_exampleOmit[2]; diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn index a7f8809b..12444479 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_010.ttcn @@ -22,7 +22,7 @@ testcase TC_Sem_150802_ImplicitRestrictions_010() runs on GeneralComp { var template (value) integer v_second := m_exampleValue[2]; - if (match(v_second,2)) { + if (match(3, v_second)) { setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn index d7b5d873..1079c342 100644 --- a/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn +++ b/ATS/core_language/15_templates/150802_implicit_restrictions/Sem_150802_ImplicitRestrictions_011.ttcn @@ -22,7 +22,7 @@ testcase TC_Sem_150802_ImplicitRestrictions_011() runs on GeneralComp { var template (present) integer v_secondElem := m_exampleValue[2]; - if (match(v_secondElem,2)) { + if (match(3, v_secondElem)) { setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn index 2606d2be..982e16d4 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn @@ -2,7 +2,7 @@ ** @author STF 409 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that a template(omit) can be assigned to a template(present) variable. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ module Sem_1508_TemplateRestrictions_007 { diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn index 20629cef..4cb61218 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that a base template can be modified with template(present) restriction. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ module Sem_1508_TemplateRestrictions_016 { diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn index 6bd6f3fc..974cf1fa 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that a base template can be modified with template(omit) restriction. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ module Sem_1508_TemplateRestrictions_017 { diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn index 944691f0..41057032 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that a base template can be modified with template(value) restriction. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ module Sem_1508_TemplateRestrictions_018 { diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn index f4e11716..01f577e2 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that a template(present) base template can be modified with template(value) restriction. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ module Sem_1508_TemplateRestrictions_020 { diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn index bb5c8324..35548a5d 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that a template(omit) base template can be modified with template(value) restriction. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ module Sem_1508_TemplateRestrictions_022 { diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn index ab0a677a..f7a35ebc 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that template(present) base templates are allowed to be modfied to template(omit). - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn index e9756845..9488f2c8 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that template(omit) base templates are allowed to be modfied to template(present). - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn index a292d07d..719cddac 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(value)->template(present) is handled correctly. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn index 91141099..d019bb32 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(value)->template(omit) is handled correctly. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn index b7dd9aff..06f57401 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(value)->template is handled correctly. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn index 66f39257..d099e098 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn index 312f0018..0b0a5bd7 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn index 5c2d320c..bbe54648 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ // ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn index c081dcab..4c2a486c 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn @@ -8,7 +8,7 @@ module Sem_1508_TemplateRestrictions_043 { type record ExampleType { // Exampletype record integer and a boolean - integer a, + integer a optional, boolean b } diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn index 96fa9d0c..c64a80bb 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn @@ -8,7 +8,7 @@ module Sem_1508_TemplateRestrictions_044 { type record ExampleType { // Exampletype record integer and a boolean - integer a, + integer a optional, boolean b } diff --git a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn index 14c92b19..3c78fb7c 100644 --- a/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn +++ b/ATS/core_language/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:15.8, Ensure that unrestricted template can be parameter to template(value) - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject *****************************************************************/ module Sem_1508_TemplateRestrictions_045 { diff --git a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn index de96fec7..9fa23afa 100644 --- a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn +++ b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_001.ttcn @@ -24,7 +24,7 @@ module Sem_1512_TheOmitOperation_001 { template ExampleType m_originalOmit := omit; template(omit) ExampleType m_targetOmit := omit(m_originalOmit); - if (match(m_targetOmit, m_originalOmit)) { + if (istemplatekind(m_targetOmit, "omit")) { setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn index 1de8b852..dc6fe207 100644 --- a/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn +++ b/ATS/core_language/15_templates/1512_the_omit_operation/Sem_1512_TheOmitOperation_002.ttcn @@ -25,7 +25,7 @@ module Sem_1512_TheOmitOperation_002 { template(omit) ExampleType m_targetValue := omit(m_originalValue); - if (match(m_targetValue, m_originalValue)) { + if (match(valueof(m_targetValue), m_originalValue)) { setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn b/ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn index e0ed117a..08857ba9 100644 --- a/ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn +++ b/ATS/core_language/15_templates/1513_the_present_operation/NegSem_1512_ThePresentOperation_003.ttcn @@ -22,11 +22,11 @@ module NegSem_1512_ThePresentOperation_003 { testcase TC_NegSem_1512_ThePresentOperation_003() runs on GeneralComp { - template ExampleType m_originalAny := ?; + var template ExampleType m_originalAny := *; template(present) ExampleType m_targetAny := present(m_originalAny); // causes error - setverdict(fail); + setverdict(pass); } control { diff --git a/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn b/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn index ec1b0fde..aa36b764 100644 --- a/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn +++ b/ATS/core_language/15_templates/1513_the_present_operation/Sem_1512_ThePresentOperation_001.ttcn @@ -26,7 +26,7 @@ module Sem_1512_ThePresentOperation_001 { template(present) ExampleType m_targetValue := present(m_originalValue); - if (match(m_targetValue, m_originalValue)) { + if (match(valueof(m_targetValue), m_originalValue)) { setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn b/ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn index 92dd2adf..4fceb089 100644 --- a/ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn +++ b/ATS/core_language/15_templates/1514_presentness_conversion/Sem_1514_PresentnessConversion_001.ttcn @@ -20,7 +20,7 @@ module Sem_1514_PresentnessConversion_001 { var template(present) boolean v_field := m_example.b.present; // m_field is converted to ? from * - if (match(v_field, ?)) { + if (istemplatekind(v_field, "?")) { setverdict(pass); } else { setverdict(fail); diff --git a/ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn b/ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn index d8d83470..756d47fa 100644 --- a/ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn +++ b/ATS/core_language/15_templates/1515_value_extraction/Sem_1515_ValueExtraction_001.ttcn @@ -9,24 +9,24 @@ module Sem_1515_ValueExtaction_001 { type component GeneralComp {} - testcase TC_Sem_1515_ValueExtaction_001 runs on GeneralComp { + testcase TC_Sem_1515_ValueExtaction_001() runs on GeneralComp { var template charstring v_pattern := pattern "ab\?#(1,1)"; if (v_pattern.value == "ab\?#(1,1)") { - setverdict pass; + setverdict(pass); } else { setverdict(fail); } var template charstring v_ifpresent := "abc" ifpresent; if (v_ifpresent.value == "abc") { - setverdict pass; + setverdict(pass); } else { setverdict(fail); } } control { - execute(TC_Sem_1515_ValueExtaction_001); + execute(TC_Sem_1515_ValueExtaction_001()); }; } \ No newline at end of file diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn index 38dfd4d5..ff973f20 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn @@ -2,7 +2,7 @@ ** @author STF 433 ** @version 0.0.1 ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ module NegSem_160102_predefined_functions_029 { type enumerated EnumeratedType {e_black, e_white}; @@ -28,7 +28,7 @@ testcase TC_NegSem_160102_predefined_functions_029 () runs on GeneralComp { var EnumeratedTypeWithLabels3 vl_enum3_yellow := e_yellow; - if( match(enum2int(EnumeratedTypeWithLabels1.e_black), 0) //not allowed selection + if( match(enum2int(EnumeratedTypeWithLabels1.e_black), 1) //not allowed selection ) { setverdict(pass); } diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_037.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_037.ttcn index f099e24a..f6b2ed6d 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_037.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_037.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ /* The following requirements are tested: @@ -21,12 +21,11 @@ testcase TC_NegSem_160102_predefined_functions_037 () runs on GeneralComp { var template bitstring Mytemp := '00101*'B; - var bitstring v_i; + var template bitstring v_i; v_i:=substr(Mytemp,1,2); //error: contains a matching mechanism other than AnyElement - - - + if (v_i.value == '01'B) { setverdict(pass); } + else { setverdict(fail); } } diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_062.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_062.ttcn index 4808f3fb..4aa8c091 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_062.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_062.ttcn @@ -2,7 +2,7 @@ ** @author STF T003 ** @version 0.0.1 ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ // The following requirement is tested: @@ -22,7 +22,7 @@ module NegSem_160102_predefined_functions_062 { testcase TC_NegSem_160102_predefined_functions_062() runs on GeneralComp { var integer v_i; - v_i:=sizeof(MyROI); // error: template is a record of integers + v_i:=sizeof(MyROI); // deprecated feature (G.4): template is a record of integers setverdict(pass, v_i); } diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_063.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_063.ttcn index e8d4b69c..9c9828b5 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_063.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_063.ttcn @@ -2,7 +2,7 @@ ** @author STF T003 ** @version 0.0.1 ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ // The following requirement is tested: @@ -22,7 +22,7 @@ module NegSem_160102_predefined_functions_063 { testcase TC_NegSem_160102_predefined_functions_063() runs on GeneralComp { var integer v_i; - v_i:=sizeof(MySOI); // error: template is a set of integers + v_i:=sizeof(MySOI); // deprecated feature (G.4): template is a set of integers setverdict(pass, v_i); } diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn index 22dbb326..37f2ba2e 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn @@ -15,11 +15,11 @@ module Sem_160102_predefined_functions_001 { * @return true if abs(f1 - f2) < 1.E-6 */ function f_isFloatNear(in float f1, in float f2) return boolean { - var float delta := f1-f2; - if (delta < 0.0) { - delta := 0.0 - delta; + var float diff := f1-f2; + if (diff < 0.0) { + diff := 0.0 - diff; } - return delta < 1E-6; + return diff < 1E-6; } testcase TC_Sem_160102_predefined_functions_001 () runs on GeneralComp { diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn index 05710dee..f387cd94 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn @@ -19,7 +19,7 @@ module Sem_160102_predefined_functions_016 { } testcase TC_Sem_160102_predefined_functions_016 () runs on GeneralComp { - var template I v_test := 0; + var template(value) I v_test := 0; var bitstring v_res := encvalue(v_test); if (lengthof(v_res) == 32) { setverdict(pass); diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn index dd3af395..c27d5636 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn @@ -14,7 +14,7 @@ type component GeneralComp { testcase TC_Sem_160102_predefined_functions_095 () runs on GeneralComp { - template U m_u4 := ({ f1 := 2 }, {f2 := 'AB'O }); + template(present) U m_u4 := ({ f1 := 2 }, {f2 := 'AB'O }); template anytype mw_anytype := { U := m_u4 } var boolean v_i; diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn index dccaebbe..21a94929 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn @@ -16,7 +16,7 @@ type component GeneralComp { testcase TC_Sem_160102_predefined_functions_097 () runs on GeneralComp { - var template I v_test := 0; + var template(value) I v_test := 0; var bitstring v_res := encvalue(v_test, "encoding_info_text"); if (lengthof(v_res) == 32) { setverdict(pass,v_res); diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn index 3df2b7a6..e1415401 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn @@ -16,7 +16,7 @@ type component GeneralComp { testcase TC_Sem_160102_predefined_functions_098 () runs on GeneralComp { - var template I v_test := 0; + var template(value) I v_test := 0; var bitstring v_enc := encvalue(v_test, "encoding_info_text"); if (match(decvalue(v_enc,v_test,"decoding_info_text"), 0)){ diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_104.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_104.ttcn index b010f870..55d64e4a 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_104.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_104.ttcn @@ -28,7 +28,7 @@ module Sem_160102_predefined_functions_104 { testcase TC_Sem_160102_predefined_functions_104 () runs on GeneralComp { - var template MyPDU v_temp := { "test",5}; + var template(value) MyPDU v_temp := { "test",5}; //Encoding: var octetstring v_enc := encvalue_o(v_temp); //encode the record to octetstring diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_107.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_107.ttcn index 60829ace..64621d2e 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_107.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_107.ttcn @@ -26,7 +26,7 @@ module Sem_160102_predefined_functions_107 { var integer v_dec with { variant "32 bit" }; var integer v_res; - var template MyPDU v_temp := {"testText",5}; + var template(value) MyPDU v_temp := {"testText",5}; var octetstring v_ref := encvalue_o(v_temp); //log(v_ref); //'74657374546578740005000000'O v_ref := v_ref[1]; // trunk encoded octetstring diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_110.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_110.ttcn index 6cf9f1af..4fddfedc 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_110.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_110.ttcn @@ -19,33 +19,31 @@ parameter bit_length. module Sem_160102_predefined_functions_110 { type component GeneralComp { - } type bitstring MyPDU; - - testcase TC_Sem_160102_predefined_functions_110 () runs on GeneralComp { - var MyPDU v_bitstr := '011'B; - var octetstring result := '0300000060'O; // bit length not divisable by 8, the encoded message will be left-aligned in the returned octetstring and the least significant (8 - (bit length mod 8)) bits in the least significant octet will be 0. - - //Encoding: - var octetstring v_enc := encvalue_o(v_bitstr); //encode the non octet based bitstring to octetstring + var MyPDU v_bitstr := '011'B; - if (lengthof (v_enc) > 0 and match(v_enc,result)) { - setverdict(pass); - } else { - setverdict(fail,v_enc); - } + //Encoding: + var octetstring v_enc := encvalue_o(v_bitstr); //encode the non octet based bitstring to octetstring + var bitstring v_bitEnc := encvalue(v_bitstr); //encode the non octet based bitstring to bitstring - } + while (lengthof(v_bitEnc) mod 8 > 0) { // right padding, because bit2oct uses left padding by default + v_bitEnc[lengthof(v_bitEnc)] := '0'B; + } + + if (v_enc == bit2oct(v_bitEnc)) { + setverdict(pass); + } else { + setverdict(fail,v_enc); + } - control{ + } + control { execute(TC_Sem_160102_predefined_functions_110()); - } - } \ No newline at end of file diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_113.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_113.ttcn index 56d2e6f8..fba1a1a0 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_113.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_113.ttcn @@ -11,7 +11,7 @@ * */ -module Sem_160102_predefined_functions_113 { +module Sem_160102_predefined_functions_113 language "TTCN-3:2021" { type component GeneralComp {} diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_114.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_114.ttcn index 37044c4e..7404bdd8 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_114.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_114.ttcn @@ -11,7 +11,7 @@ * */ -module Sem_160102_predefined_functions_114 { +module Sem_160102_predefined_functions_114 language "TTCN-3:2021" { type component GeneralComp {} diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_116.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_116.ttcn index 0affe3f5..bd527498 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_116.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_116.ttcn @@ -27,11 +27,17 @@ module Sem_160102_predefined_functions_116 { v_res := replace(v_Rec1,0,1,{23}); v_expected := {23,0,-,2}; - if(match(v_res, v_expected)) { - setverdict(pass,v_res); - } else { + for (var integer i := 0; i < lengthof(v_res); i := i + 1) { + if (isbound(v_res[i])) + { + if (v_res[i] == v_expected[i]) { continue; } + } else { + if (not isbound(v_expected[i])) { continue; } + } setverdict(fail,"The value of v_res:",v_res); + stop; } + setverdict(pass,v_res); } control{ diff --git a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn index 3bcc56c0..9edceabf 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn @@ -2,7 +2,7 @@ ** @author STF 409 ** @version 0.0.1 ** @purpose 1:16.1.3, Ensure that the IUT recognizes external functions - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ** @configuration external_functions ***************************************************/ module NegSem_160103_external_functions_001 { diff --git a/ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn b/ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn index 2fe2eadc..af069f3a 100644 --- a/ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn +++ b/ATS/core_language/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_004.ttcn @@ -19,15 +19,23 @@ module Syn_1603_testcases_004 { const integer c_i := 2; var integer v_i := 2; } - - testcase TC_Syn_1603_testcases_004 () system GeneralComp { - // testcase without clause "runs on", but "system" clause is present - messagePort.send(c_i); - if(match(v_i, c_i)){ // constant and variables from GeneralComp + + function f_ptcScript() runs on GeneralComp system GeneralComp { + messagePort.send(c_i); + if (match(v_i, c_i)) { // constant and variables from GeneralComp setverdict(pass); - }else{ - setverdict(fail, v_i, c_i); + } else { + setverdict(fail, v_i, c_i); } + } + + testcase TC_Syn_1603_testcases_004 () system GeneralComp { + // testcase without clause "runs on", but "system" clause is present + var GeneralComp v_ptc := GeneralComp.create; + map(v_ptc:messagePort, system:messagePort); + v_ptc.start(f_ptcScript()); + v_ptc.done; + setverdict(pass); } control{ diff --git a/ATS/core_language/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_013.ttcn b/ATS/core_language/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_013.ttcn index ed84d30b..5863a894 100644 --- a/ATS/core_language/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_013.ttcn +++ b/ATS/core_language/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_013.ttcn @@ -1,16 +1,16 @@ /***************************************************************** ** @author STF 584 ** @version 0.0.1 - ** @purpose 1:20.4, verify that conditional goto cannot be inside interleave - ** @verdict pass reject + ** @purpose 1:20.4, verify that conditional goto can be used to jump out of interleave + ** @verdict pass accept, ttcn3verdict:pass *****************************************************************/ // The following requirement is tested: // Restriction d) // The restricted use of the control transfer statements for, while, do-while, and goto within interleave // statements is allowed under the following conditions: -// b. The goto statement can be used for defining unconditional jumps within statements blocks that do not -// contain reception statements and for specifying unconditional jumps out of interleave statements. +// b. The goto statement can be used for defining jumps with statements blocks that do not contain reception +// statements and for specifying jumps out of interleave statements. module NegSem_2004_InterleaveStatement_013 { diff --git a/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn b/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn index 5f7e43d8..5d642ff2 100644 --- a/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn +++ b/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn @@ -2,7 +2,7 @@ ** @author STF 470 ** @version 0.0.1 ** @purpose 1:20.5.2, verify error is generated when passing local timer - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_006.ttcn b/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_006.ttcn index 3e7ae319..55af4f43 100644 --- a/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_006.ttcn +++ b/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_006.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:20.5.2, local timer as a parameter of activated altstep in module control - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_007.ttcn b/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_007.ttcn index 61efe063..db170ad1 100644 --- a/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_007.ttcn +++ b/ATS/core_language/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_007.ttcn @@ -2,7 +2,7 @@ ** @author STF 487 ** @version 0.0.1 ** @purpose 1:20.5.2, local timer (referenced through timer parameter) as a parameter of activated altstep in module control - ** @verdict pass reject + ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ // The following requirement is tested: diff --git a/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_011.ttcn b/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_011.ttcn index e77b5652..5c00c40f 100644 --- a/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_011.ttcn +++ b/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_011.ttcn @@ -2,7 +2,7 @@ ** @author STF 451 (updated by STF 521) ** @version 0.0.2 ** @purpose 1:21.1.1, Ensure that the the IUT allows connecting ports with empty outlists - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject ***************************************************/ // NOTE: the test shall pass as empty set (in this case a list of allowed out types) is always a subset // of another set (in this case a list of allowed in types). For that reason, the test was changed diff --git a/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_012.ttcn b/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_012.ttcn index ece3db26..ba617570 100644 --- a/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_012.ttcn +++ b/ATS/core_language/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_012.ttcn @@ -2,7 +2,7 @@ ** @author STF 451 (updated by STF 521) ** @version 0.0.1 ** @purpose 1:21.1.1, Ensure that IUT can map ports with empty outlist-PORT1 and inlist-PORT2 - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject ***************************************************/ // NOTE: the test shall pass as empty set (in this case outlist-PORT1 and inlist-PORT2) is always a subset // of another set (in this case outlist-PORT2 and inlist-PORT1). For that reason, the test was changed diff --git a/ATS/core_language/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn b/ATS/core_language/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn index f742c76f..f5be0bae 100644 --- a/ATS/core_language/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn +++ b/ATS/core_language/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn @@ -27,7 +27,7 @@ module Sem_220303_ReplyOperation_005 { } function f_server() runs on GeneralComp { - var template R v_rec := { field1 := 0, field2 := ? } + var template(present) R v_rec := { field1 := 0, field2 := ? } p.getcall(S:?); p.reply(S:{par1 := v_rec}); } diff --git a/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn b/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn index 2930942d..e08a0090 100644 --- a/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn +++ b/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn @@ -23,16 +23,16 @@ module Sem_B010303_permutation_006 { type component GeneralComp { port loopbackPort messagePort } - +type record of integer RoI; testcase TC_Sem_B010303_permutation_006() runs on GeneralComp { var MessageType v_testMessage; - var template integer mw_field1 [4] := { permutation ( 1, 2, 3 ), 5 }; - var template integer mw_field2 [4] := { permutation ( 1, 2, ? ), 5 }; - var template integer mw_field3 [4] := { permutation ( 1, 2, 3 ), * }; - var template integer mw_field4 [4] := { permutation ( (1,2,3), 2, 3 ), 5 }; + var template(present) integer mw_field1 [4] := { permutation ( 1, 2, 3 ), 5 }; + var template(present) integer mw_field2 [4] := { permutation ( 1, 2, ? ), 5 }; + var template(present) integer mw_field3 [4] := { permutation ( 1, 2, 3 ), * }; + var template(present) integer mw_field4 [4] := { permutation ( (1,2,3), 2, 3 ), 5 }; - template MessageType mw_matchingTemplate:= + template MessageType mw_matchingTemplate := { mw_field1, mw_field2, diff --git a/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_009.ttcn b/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_009.ttcn index a65c8114..c62985f0 100644 --- a/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_009.ttcn +++ b/ATS/core_language/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_009.ttcn @@ -27,7 +27,7 @@ type component GeneralComp { } template SoI t_source := { 1, 2 ,?}; - template RoI t_perm1 := { permutation (all from t_source), 5 }; //using all from with ? + template(present) RoI t_perm1 := { permutation (all from t_source), 5 }; //using all from with ? testcase TC_Sem_B010303_permutation_009() runs on GeneralComp { -- GitLab