diff --git a/function_test/OER_EncDec/ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script b/function_test/OER_EncDec/ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script deleted file mode 100644 index f55b47beebb7278c87485c86aba8c7bb12bd3f60..0000000000000000000000000000000000000000 --- a/function_test/OER_EncDec/ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script +++ /dev/null @@ -1,233 +0,0 @@ -.****************************************************************************** -.* Copyright (c) 2000-2019 Ericsson Telecom AB -.* All rights reserved. This program and the accompanying materials -.* are made available under the terms of the Eclipse Public License v2.0 -.* which accompanies this distribution, and is available at -.* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html -.* -.* Contributors: -.* Balasko, Jeno -.* Beres, Szabolcs -.* Delic, Adam -.* Kovacs, Ferenc -.* Szabados, Kristof -.* Tarasov, Victor -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.8/152 91-CRL 113 200/5 Uen -:rev.C -:date.2015-04-27 -.* -:prep.ETH/XZR Kristof Szabados (+36 1 437 7256) -:appr.ETH/XZ (Roland Gecse) -:checked.ETHBAAT -.* -:title.Test Description - OER coder -:contents level=3. -.*---------------------------------------------------------------------* -:h1.PREREQUISITES AND PREPARATIONS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Scope of the Test Object -.*---------------------------------------------------------------------* -:xmp tab=1 nokeep. - -This TD contains unified test case related to TTCN3 Executor's OER coder function. -Test case implement the OER codings example from specification ISO/IEC 8825-7:2015 -(https://www.itu.int/rec/T-REC-X.696-201508-I) -:exmp. - -:p.:us.Revision Information:eus. - -:xmp nokeep. -:us.History:eus. - -REV DATE PREPARED CHANGE -=== ========== ======== ====== -A 2003-10-31 ETHEKR New document -B 2007-03-06 EDMDELI Implicit message encoding -C 2007-03-21 EJNOSZA Bugfix in a testcase for implicit msg. enc. -D 2008-10-01 EFERKOV Big integers -E 2010-01-18 EKRISZA Updated for TITAN R8C -F 2011-06-18 EKRISZA Added tests for errors -A 2011-12-12 EKRISZA Updated for release -PB1 2011-01-30 ETHBAAT Editorial changes -A - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -:p.:us.Software Tools:eus. -:xmp tab=2 nokeep. - - SAtester - -:exmp. -:np. -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Testing OER encodings -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Example of OER encodings from ISO/IEC 8825-7:2015 Annex A -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - ISO/IEC 8825-7:2015 Annex A – Example of OER encodings> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= - -BEGIN - - IMPORTS; - - Date ::= [APPLICATION 3] IMPLICIT VisibleString -- YYYYMMDD - EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER - Name ::= [APPLICATION 1] IMPLICIT SEQUENCE { - givenName VisibleString, - initial VisibleString, - familyName VisibleString } - ChildInformation ::= SET { - name Name, - dateOfBirth [0] Date} - Record ::= [APPLICATION 0] IMPLICIT SET { - name Name, - title [0] VisibleString, - number EmployeeNumber, - dateOfHire [1] Date, - nameOfSpouse [2] Name, - children [3] IMPLICIT SEQUENCE OF ChildInformation DEFAULT {} } -END - -<STATIC> - - -type component Test_CT {} - -<TTCN_TC:PURE_EXEC> - -import from TempA all; - -external function enc_OER_Date(in Date pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Date(in octetstring stream) return Date with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_EmployeeNumber(in EmployeeNumber pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_EmployeeNumber(in octetstring stream) return EmployeeNumber with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Name(in Name pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Name(in octetstring stream) return Name with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_ChildInformation(in ChildInformation pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_ChildInformation(in octetstring stream) return ChildInformation with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Record(in Record pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Record(in octetstring stream) return Record with { extension "prototype(convert) decode(OER)" } - -//********************************************* -// TESTCASES -//********************************************* - -testcase tc_OER_encoding_of_Date() runs on Test_CT { - const Date date := "19710917" - const octetstring raw_encoded := '083139373130393137'O; - - if (enc_OER_Date(date) == raw_encoded) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Date(raw_encoded) == date) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_encoding_of_EmployeeNumber() runs on Test_CT { - const EmployeeNumber empl_num := 51 - if (enc_OER_EmployeeNumber(empl_num) == '0133'O) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_encoding_of_Name() runs on Test_CT { - const Name name := { - givenName := "John", - initial := "P", - familyName := "Smith" - } - const octetstring raw_encoded := '044A6F686E015005536D697468'O; - - if (enc_OER_Name(name) == raw_encoded) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Name(raw_encoded) == name) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_ChildInformation() runs on Test_CT { - const ChildInformation child := { - name := { - givenName := "Ralph", - initial := "T", - familyName := "Smith" - }, - dateOfBirth := "19571111" - } - const octetstring raw_encoded := '0552616C7068015405536D697468083139353731313131'O; - - if (enc_OER_ChildInformation(child) == raw_encoded) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_ChildInformation(raw_encoded) == child) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Record() runs on Test_CT { - const octetstring raw_encoded := - '80044A6F686E015005536D6974680133084469726563746F72083139373130393137044D617279015405536D69746801020552616C7068015405536D69746808313935373131313105537573616E0142054A6F6E6573083139353930373137'O; - const Record rec := { - name := { - givenName := "John", - initial := "P", - familyName := "Smith"}, - title := "Director", - number := 51, - dateOfHire := "19710917", - nameOfSpouse := { - givenName := "Mary", - initial := "T", - familyName := "Smith"}, - children := { - { name := { - givenName := "Ralph", - initial := "T", - familyName := "Smith"}, - dateOfBirth := "19571111" }, - { name := { - givenName := "Susan", - initial := "B", - familyName := "Jones"}, - dateOfBirth := "19590717"} - } - } - - if (enc_OER_Record(rec) == raw_encoded) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Record(raw_encoded) == rec) {setverdict(pass);} else {setverdict(fail);} -} - -//********************************************* -// CONTROL PART -//********************************************* - -control { - execute(tc_OER_encoding_of_Date()); - execute(tc_OER_encoding_of_EmployeeNumber()); - execute(tc_OER_encoding_of_Name()); - execute(tc_OER_ChildInformation()); - execute(tc_OER_Record()); -} - -<RESULT> - -Overall verdict: pass - -<END_TC> - diff --git a/function_test/OER_EncDec/OER_EncDec_ITSPKI.script b/function_test/OER_EncDec/OER_EncDec_ITSPKI.script deleted file mode 100644 index b22dfe16fe8d52eccedc5d41752f522963ee7384..0000000000000000000000000000000000000000 --- a/function_test/OER_EncDec/OER_EncDec_ITSPKI.script +++ /dev/null @@ -1,810 +0,0 @@ -.****************************************************************************** -.* Copyright (c) 2000-2019 Ericsson Telecom AB -.* All rights reserved. This program and the accompanying materials -.* are made available under the terms of the Eclipse Public License v2.0 -.* which accompanies this distribution, and is available at -.* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html -.* -.* Contributors: -.* Balasko, Jeno -.* Beres, Szabolcs -.* Delic, Adam -.* Kovacs, Ferenc -.* Szabados, Kristof -.* Tarasov, Victor -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.8/152 91-CRL 113 200/5 Uen -:rev.C -:date.2015-04-27 -.* -:prep.ETH/XZR Kristof Szabados (+36 1 437 7256) -:appr.ETH/XZ (Roland Gecse) -:checked.ETHBAAT -.* -:title.Test Description - OER coder -:contents level=3. -.*---------------------------------------------------------------------* -:h1.PREREQUISITES AND PREPARATIONS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Scope of the Test Object -.*---------------------------------------------------------------------* -:xmp tab=1 nokeep. - -This TD contains unified test cases related to TTCN3 Executor's OER coder function. - -The target of these test cases are the basic data types from specification -'ISO/IEC 8825-7:2015 -- Information technology – ASN.1 encoding rules: -Specification of Octet Encoding Rules' - -The target data types are used in the following technical specification: - 'ETSI TS 103 097 V1.3.1 (2017-10)' -Intelligent Transport Systems (ITS); Security; -Security header and certificate formats and certificate formats - - 'IEEE Std 1609.2-2016 IEEE Standard' -Wireless Access in Vehicular Environments—Security Services for -Applications and Management Messages - -:exmp. - -:p.:us.Revision Information:eus. - -:xmp nokeep. -:us.History:eus. - -REV DATE PREPARED CHANGE -=== ========== ======== ====== -A 2003-10-31 ETHEKR New document -B 2007-03-06 EDMDELI Implicit message encoding -C 2007-03-21 EJNOSZA Bugfix in a testcase for implicit msg. enc. -D 2008-10-01 EFERKOV Big integers -E 2010-01-18 EKRISZA Updated for TITAN R8C -F 2011-06-18 EKRISZA Added tests for errors -A 2011-12-12 EKRISZA Updated for release -PB1 2011-01-30 ETHBAAT Editorial changes - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -:p.:us.Software Tools:eus. -:xmp tab=2 nokeep. - - SAtester - -:exmp. -:np. -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Testing OER encoding of the basic types -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. OER encoding -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - OER encoding (unified tests)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= - -BEGIN - - IMPORTS; - - Null ::= NULL - - Bool ::= BOOLEAN - - Uint ::= INTEGER (0..MAX) - Uint8 ::= INTEGER (0..255) - Uint16 ::= INTEGER (0..65535) - Uint32 ::= INTEGER (0..4294967295) - Uint64 ::= INTEGER (0..18446744073709551615) - - Int ::= INTEGER - Sint8 ::= INTEGER (-128..127) - Sint16 ::= INTEGER (-32768..32767) - Sint32 ::= INTEGER (-2147483648..2147483647) - Sint64 ::= INTEGER (-9223372036854775808..9223372036854775807) - - Enum ::= ENUMERATED {zero(0), one(1), two(2)} - EnumM ::= ENUMERATED {zero(0), one(1), two(2), numM(18)} - EnumP ::= ENUMERATED {zero(0), one(1), two(2), numP(1234)} - EnumB ::= ENUMERATED {zero(0), one(1), two(2), numB(65261)} - EnumNM ::= ENUMERATED {zero(0), one(1), two(2), numNM(-275)} - EnumNB ::= ENUMERATED {zero(0), one(1), two(2), numNB(-64302)} - - BitStr ::= BIT STRING - BitStrEmpty ::= BIT STRING (SIZE(0)) - BitStrRandom ::= BIT STRING (SIZE(54)) - BitStrAligned ::= BIT STRING (SIZE(48)) - - OctetStr ::= OCTET STRING - OctetStrEmpty ::= OCTET STRING (SIZE(0)) - OctetStrRandom ::= OCTET STRING (SIZE(6)) - - SequenceEmpty ::= SEQUENCE {} - SequenceEmptyExtendable ::= SEQUENCE { - ... - } - SequenceSimple ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)), - f2 OCTET STRING (SIZE (2)), - f3 OCTET STRING (SIZE (2)) - } - SequenceSimpleExtendable ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)), - f2 OCTET STRING (SIZE (2)), - f3 OCTET STRING (SIZE (2)), - ... - } - SequenceSimpleExtended ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)), - f2 OCTET STRING (SIZE (2)), - f3 OCTET STRING (SIZE (2)), - ..., - e1 OCTET STRING (SIZE (2)), - e2 OCTET STRING (SIZE (2)), - e3 OCTET STRING (SIZE (2)) - - } - SequenceSomeOptional ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)), - f2 [2] OCTET STRING (SIZE (2)) OPTIONAL, - f3 [3] OCTET STRING (SIZE (2)) OPTIONAL - } - SequenceAllOptional ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)) OPTIONAL, - f2 [2] OCTET STRING (SIZE (2)) OPTIONAL, - f3 [3] OCTET STRING (SIZE (2)) OPTIONAL - } - SequenceOptionalExtendable ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)) OPTIONAL, - f2 [2] OCTET STRING (SIZE (2)), - f3 [3] OCTET STRING (SIZE (2)) OPTIONAL, - ... - } - SequenceLongOptionalExtendable ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)) OPTIONAL, - f2 [2] OCTET STRING (SIZE (2)) OPTIONAL, - f3 [3] OCTET STRING (SIZE (2)) OPTIONAL, - f4 [4] OCTET STRING (SIZE (2)) OPTIONAL, - f5 [5] OCTET STRING (SIZE (2)) OPTIONAL, - f6 [6] OCTET STRING (SIZE (2)) OPTIONAL, - f7 [7] OCTET STRING (SIZE (2)) OPTIONAL, - f8 [8] OCTET STRING (SIZE (2)) OPTIONAL, - f9 [9] OCTET STRING (SIZE (2)) OPTIONAL, - f10 [10] OCTET STRING (SIZE (2)) OPTIONAL, - ... - } - SequenceOptionalExtended ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)) OPTIONAL, - f2 [2] OCTET STRING (SIZE (2)), - f3 [3] OCTET STRING (SIZE (2)) OPTIONAL, - ..., - e1 [4] OCTET STRING (SIZE (2)) OPTIONAL, - e2 [5] OCTET STRING (SIZE (2)), - e3 [6] OCTET STRING (SIZE (2)) OPTIONAL - } - SequenceLongOptionalExtended ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)) OPTIONAL, - f2 [2] OCTET STRING (SIZE (2)), - f3 [3] OCTET STRING (SIZE (2)) OPTIONAL, - ..., - e1 [4] OCTET STRING (SIZE (2)) OPTIONAL, - e2 [5] OCTET STRING (SIZE (2)), - e3 [6] OCTET STRING (SIZE (2)) OPTIONAL, - e4 [7] OCTET STRING (SIZE (2)) OPTIONAL, - e5 [8] OCTET STRING (SIZE (2)), - e6 [9] OCTET STRING (SIZE (2)) OPTIONAL, - e7 [10] OCTET STRING (SIZE (2)) OPTIONAL, - e8 [11] OCTET STRING (SIZE (2)), - e9 [12] OCTET STRING (SIZE (2)) OPTIONAL - } - SequenceUnknownExtended ::= SEQUENCE { - f1 OCTET STRING (SIZE (2)) OPTIONAL, - f2 [2] OCTET STRING (SIZE (2)), - f3 [3] OCTET STRING (SIZE (2)) OPTIONAL, - ..., - e1 [4] OCTET STRING (SIZE (2)) OPTIONAL, - e2 [5] OCTET STRING (SIZE (2)), - e3 [6] OCTET STRING (SIZE (2)) OPTIONAL, - e4 [7] OCTET STRING (SIZE (2)) OPTIONAL - } - - SequenceOfOctetString ::= SEQUENCE OF OCTET STRING (SIZE (2)) - - Choice ::= CHOICE { - f [0] OCTET STRING (SIZE (2)), - s [1] NULL - } - ChoiceBis ::= CHOICE { - f [42] OCTET STRING (SIZE (2)), - s [99] NULL - } - ChoiceTer ::= CHOICE { - f [123456] OCTET STRING (SIZE (2)), - s [999999] NULL - } - ChoiceQuatro ::= CHOICE { - f [0] NULL, - ..., - s [42] OCTET STRING (SIZE (2)), - t [99] NULL - } - - Utf8 ::= UTF8String - -END - -<STATIC> - - -type component Test_CT {} - -<TTCN_TC:PURE_EXEC> - -import from TempA all; - -external function enc_OER_Null(in Null pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Null(in octetstring stream) return Null with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Bool(in Bool pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Bool(in octetstring stream) return Bool with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Uint(in Uint pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Uint(in octetstring stream) return Uint with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Uint8(in Uint8 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Uint8(in octetstring stream) return Uint8 with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Uint16(in Uint16 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Uint16(in octetstring stream) return Uint16 with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Uint32(in Uint32 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Uint32(in octetstring stream) return Uint32 with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Uint64(in Uint64 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Uint64(in octetstring stream) return Uint64 with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Int(in Int pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Int(in octetstring stream) return Int with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Sint8(in Sint8 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Sint8(in octetstring stream) return Sint8 with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Sint16(in Sint16 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Sint16(in octetstring stream) return Sint16 with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Sint32(in Sint32 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Sint32(in octetstring stream) return Sint32 with { extension "prototype(convert) decode(OER)" } -external function enc_OER_Sint64(in Sint64 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Sint64(in octetstring stream) return Sint64 with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Enum(in Enum pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Enum(in octetstring stream) return Enum with { extension "prototype(convert) decode(OER)" } -external function enc_OER_EnumM(in EnumM pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_EnumM(in octetstring stream) return EnumM with { extension "prototype(convert) decode(OER)" } -external function enc_OER_EnumP(in EnumP pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_EnumP(in octetstring stream) return EnumP with { extension "prototype(convert) decode(OER)" } -external function enc_OER_EnumB(in EnumB pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_EnumB(in octetstring stream) return EnumB with { extension "prototype(convert) decode(OER)" } -external function enc_OER_EnumNM(in EnumNM pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_EnumNM(in octetstring stream) return EnumNM with { extension "prototype(convert) decode(OER)" } -external function enc_OER_EnumNB(in EnumNB pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_EnumNB(in octetstring stream) return EnumNB with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_BitStr(in BitStr pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_BitStr(in octetstring pdu) return BitStr with { extension "prototype(convert) decode(OER)" } -external function enc_OER_BitStrEmpty(in BitStrEmpty pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_BitStrEmpty(in octetstring pdu) return BitStrEmpty with { extension "prototype(convert) decode(OER)" } -external function enc_OER_BitStrRandom(in BitStrRandom pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_BitStrRandom(in octetstring pdu) return BitStrRandom with { extension "prototype(convert) decode(OER)" } -external function enc_OER_BitStrAligned(in BitStrAligned pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_BitStrAligned(in octetstring pdu) return BitStrAligned with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_OctetStr(in OctetStr pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_OctetStr(in octetstring pdu) return OctetStr with { extension "prototype(convert) decode(OER)" } -external function enc_OER_OctetStrEmpty(in OctetStrEmpty pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_OctetStrEmpty(in octetstring pdu) return OctetStrEmpty with { extension "prototype(convert) decode(OER)" } -external function enc_OER_OctetStrRandom(in OctetStrRandom pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_OctetStrRandom(in octetstring pdu) return OctetStrRandom with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_SequenceEmpty(in SequenceEmpty pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceEmpty(in octetstring stream) return SequenceEmpty with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceEmptyExtendable(in SequenceEmptyExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceEmptyExtendable(in octetstring stream) return SequenceEmptyExtendable with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceSimple(in SequenceSimple pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceSimple(in octetstring stream) return SequenceSimple with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceSimpleExtendable(in SequenceSimpleExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceSimpleExtendable(in octetstring stream) return SequenceSimpleExtendable with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceSimpleExtended(in SequenceSimpleExtended pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceSimpleExtended(in octetstring stream) return SequenceSimpleExtended with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceSomeOptional(in SequenceSomeOptional pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceSomeOptional(in octetstring stream) return SequenceSomeOptional with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceAllOptional(in SequenceAllOptional pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceAllOptional(in octetstring stream) return SequenceAllOptional with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceOptionalExtendable(in SequenceOptionalExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceOptionalExtendable(in octetstring stream) return SequenceOptionalExtendable with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceLongOptionalExtendable(in SequenceLongOptionalExtendable pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceLongOptionalExtendable(in octetstring stream) return SequenceLongOptionalExtendable with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceOptionalExtended(in SequenceOptionalExtended pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceOptionalExtended(in octetstring stream) return SequenceOptionalExtended with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceLongOptionalExtended(in SequenceLongOptionalExtended pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceLongOptionalExtended(in octetstring stream) return SequenceLongOptionalExtended with { extension "prototype(convert) decode(OER)" } -external function enc_OER_SequenceOfOctetString(in SequenceOfOctetString pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_SequenceOfOctetString(in octetstring stream) return SequenceOfOctetString with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Choice(in Choice pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Choice(in octetstring stream) return Choice with { extension "prototype(convert) decode(OER)" } -external function enc_OER_ChoiceBis(in ChoiceBis pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_ChoiceBis(in octetstring stream) return ChoiceBis with { extension "prototype(convert) decode(OER)" } -external function enc_OER_ChoiceTer(in ChoiceTer pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_ChoiceTer(in octetstring stream) return ChoiceTer with { extension "prototype(convert) decode(OER)" } -external function enc_OER_ChoiceQuatro(in ChoiceQuatro pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_ChoiceQuatro(in octetstring stream) return ChoiceQuatro with { extension "prototype(convert) decode(OER)" } - -external function enc_OER_Utf8(in Utf8 pdu) return octetstring with { extension "prototype(convert) encode(OER)" } -external function dec_OER_Utf8(in octetstring stream) return Utf8 with { extension "prototype(convert) decode(OER)" } - -//********************************************* -// TESTCASES -//********************************************* - -testcase tc_OER_Null() runs on Test_CT { - const Null nn := NULL - - if (enc_OER_Null(nn) == ''O) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Null(''O) == nn) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Bool() runs on Test_CT { - const Bool b1 := true - const Bool b2 := false - - if (enc_OER_Bool(b1) == 'FF'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Bool(b2) == '00'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Bool('FF'O) == b1){setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Bool('42'O) == b1){setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Bool('00'O) == b2){setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Uint() runs on Test_CT { - const Uint u0 := 0 - const Uint u1 := 1 - const Uint u254 := 254 - const Uint uR := 8234104123542484900769178205574010627627573691361805720124810878238590820080 - const octetstring oR := '20123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O - const Uint uB := 115307965754428812535861235258289182183752994114051557942764040435498874699501 - const octetstring oB := '20FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O - const octetstring oBB := '280000000000000000FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O - - if (enc_OER_Uint(u0) == '0100'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint(u1) == '0101'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint(u254) == '01FE'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint(uR) == oR) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint(uB) == oB) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Uint('0100'O) == u0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint('0101'O) == u1) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint('01FE'O) == u254) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint(oR) == uR) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint(oB) == uB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint(oBB) == uB) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Uint8() runs on Test_CT { - const Uint8 u0 := 0 - const Uint8 u1 := 1 - const Uint8 u18 := 18 - const Uint8 u254 := 254 - - if (enc_OER_Uint8(u0) == '00'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint8(u1) == '01'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint8(u18) == '12'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint8(u254) == 'FE'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Uint8('00'O) == u0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint8('01'O) == u1) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint8('12'O) == u18) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint8('FE'O) == u254) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Uint16() runs on Test_CT { - const Uint16 u0 := 0 - const Uint16 u1 := 1 - const Uint16 u4660 := 4660 - const Uint16 u65261 := 65261 - - if (enc_OER_Uint16(u0) == '0000'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint16(u1) == '0001'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint16(u4660) == '1234'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint16(u65261) == 'FEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Uint16('0000'O) == u0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint16('0001'O) == u1) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint16('1234'O) == u4660) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint16('FEED'O) == u65261) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Uint32() runs on Test_CT { - const Uint32 u0 := 0 - const Uint32 u1 := 1 - const Uint32 uR := 305419896 - const Uint32 uB := 4277010157 - - if (enc_OER_Uint32(u0) == '00000000'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint32(u1) == '00000001'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint32(uR) == '12345678'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint32(uB) == 'FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Uint32('00000000'O) == u0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint32('00000001'O) == u1) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint32('12345678'O) == uR) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint32('FEEDFEED'O) == uB) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Uint64() runs on Test_CT { - const Uint64 u0 := 0 - const Uint64 u1 := 1 - const Uint64 uR := 1311768467463790320 - const Uint64 uB := 18369618753251835629 - - if (enc_OER_Uint64(u0) == '0000000000000000'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint64(u1) == '0000000000000001'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint64(uR) == '123456789ABCDEF0'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Uint64(uB) == 'FEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Uint64('0000000000000000'O) == u0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint64('0000000000000001'O) == u1) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint64('123456789ABCDEF0'O) == uR) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Uint64('FEEDFEEDFEEDFEED'O) == uB) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Int() runs on Test_CT { - const Int i0 := 0 - const Int i1 := 1 - const Int i254 := 254 - const Int iR := 8234104123542484900769178205574010627627573691361805720124810878238590820080 - const octetstring oR := '20123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O - const Int iB := 115307965754428812535861235258289182183752994114051557942764040435498874699501 - const octetstring oB := '2100FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O - const octetstring oBB := '280000000000000000FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O - const Int iBn := -484123482887382887709749750398725669516990551589006096693543572414254940435 - const octetstring oBn := '20FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O - const Int iBBn := -107557985113773710522801806803113897225642410974278758319332773129674538819856 - const octetstring oBBn := '21FF123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O - const octetstring oBBnn := '28FFFFFFFFFFFFFFFF123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'O - - if (enc_OER_Int(i0) == '0100'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Int(i1) == '0101'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Int(i254) == '0200FE'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Int(iR) == oR) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Int(iB) == oB) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Int(iBn) == oBn) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Int(iBBn) == oBBn) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Int('0100'O) == i0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Int('0101'O) == i1) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Int('0200FE'O) == i254) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Int(oR) == iR) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Int(oB) == iB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Int(oBB) == iB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Int(oBBn) == iBBn) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Int(oBBnn) == iBBn) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Sint8() runs on Test_CT { - const Sint8 s0 := 0 - const Sint8 s18 := 18 - const Sint8 sn2 := -2 - - if (enc_OER_Sint8(s0) == '00'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint8(s18) == '12'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint8(sn2) == 'FE'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Sint8('00'O) == s0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint8('12'O) == s18) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint8('FE'O) == sn2) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Sint16() runs on Test_CT { - const Sint16 s0 := 0 - const Sint16 s4660 := 4660 - const Sint16 sn275 := -275 - - if (enc_OER_Sint16(s0) == '0000'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint16(s4660) == '1234'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint16(sn275) == 'FEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Sint16('0000'O) == s0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint16('1234'O) == s4660) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint16('FEED'O) == sn275) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Sint32() runs on Test_CT { - const Sint32 s0 := 0 - const Sint32 sB := 305419896 - const Sint32 sN := -17957139 - - if (enc_OER_Sint32(s0) == '00000000'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint32(sB) == '12345678'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint32(sN) == 'FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Sint32('00000000'O) == s0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint32('12345678'O) == sB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint32('FEEDFEED'O) == sN) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Sint64() runs on Test_CT { - const Sint64 s0 := 0 - const Sint64 sB := 1311768467463790320 - const Sint64 sN := -77125320457715987 - - if (enc_OER_Sint64(s0) == '0000000000000000'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint64(sB) == '123456789ABCDEF0'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Sint64(sN) == 'FEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Sint64('0000000000000000'O) == s0) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint64('123456789ABCDEF0'O) == sB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Sint64('FEEDFEEDFEEDFEED'O) == sN) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Enum() runs on Test_CT { - const Enum enum_zero := zero - const EnumM enumm_numM := numM - const EnumP enumm_numP := numP - const EnumB enumm_numB := numB - const EnumNM enumm_numNM := numNM - const EnumNB enumm_numNB := numNB - - if (enc_OER_Enum(enum_zero) == '00'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_EnumM(enumm_numM) == '12'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_EnumP(enumm_numP) == '8204D2'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_EnumB(enumm_numB) == '8300FEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_EnumNM(enumm_numNM) == '82FEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_EnumNB(enumm_numNB) == '83FF04D2'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Enum('00'O) == enum_zero) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_EnumM('12'O) == enumm_numM) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_EnumP('8204D2'O) == enumm_numP) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_EnumB('8300FEED'O) == enumm_numB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_EnumB('840000FEED'O) == enumm_numB) {setverdict(pass);} else {setverdict(fail);} - // if (dec_OER_EnumB('85000000FEED'O) == enumm_numB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_EnumNM('82FEED'O) == enumm_numNM) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_EnumNB('83FF04D2'O) == enumm_numNB) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_EnumNB('84FFFF04D2'O) == enumm_numNB) {setverdict(pass);} else {setverdict(fail);} - // if (dec_OER_EnumNB('85FFFFFF04D2'O) == enumm_numNB) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_BitStr() runs on Test_CT { - const BitStrEmpty empty := ''B - const BitStrRandom random := '111111101110110111111110111011011111111011101101111110'B - const BitStrAligned aligned := '111111101110110111111110111011011111111011101101'B - - if (enc_OER_BitStrEmpty(empty) == ''O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_BitStrRandom(random) == 'FEEDFEEDFEEDF8'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_BitStrAligned(aligned) == 'FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (enc_OER_BitStr(empty) == '0100'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_BitStr(random) == '0802FEEDFEEDFEEDF8'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_BitStr(aligned) == '0700FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_BitStrEmpty(''O) == empty) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_BitStrRandom('FEEDFEEDFEEDF8'O) == random) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_BitStrAligned('FEEDFEEDFEED'O) == aligned) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_BitStr('0100'O) == empty) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_BitStr('0802FEEDFEEDFEEDF8'O) == random) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_BitStr('0700FEEDFEEDFEED'O) == aligned) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_OctetStr() runs on Test_CT { - const OctetStrEmpty empty := ''O - const OctetStrRandom random := 'FEEDFEEDFEED'O - - if (enc_OER_OctetStrEmpty(empty) == ''O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_OctetStrRandom(random) == 'FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (enc_OER_OctetStr(empty) == '00'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_OctetStr(random) == '06FEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_OctetStrEmpty(''O) == empty) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_OctetStrRandom('FEEDFEEDFEED'O) == random) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_OctetStr('00'O) == empty) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_OctetStr('06FEEDFEEDFEED'O) == random) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceEmpty() runs on Test_CT { - const SequenceEmpty empty := {} - const SequenceEmptyExtendable empty_extendable := {} - - if (enc_OER_SequenceEmpty(empty) == ''O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceEmptyExtendable(empty_extendable) == '00'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceEmpty(''O) == empty) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceSimple() runs on Test_CT { - const SequenceSimple s := {f1 := 'AAAA'O,f2 := 'BBBB'O,f3 := 'CCCC'O} - const SequenceSimpleExtendable s_ee := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O} - const SequenceSimpleExtended s_ed := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O,e1:='9999'O,e2:='8888'O,e3:='7777'O} - const SequenceSimpleExtended s_ed100 := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O,e1:='9999'O} - const SequenceSimpleExtended s_ed010 := {f1:='AAAA'O,f2:='BBBB'O,f3:='CCCC'O,e2:='8888'O} - - if (enc_OER_SequenceSimple(s) == 'AAAABBBBCCCC'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceSimpleExtendable(s_ee) == '00AAAABBBBCCCC'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceSimpleExtended(s_ed) == '80AAAABBBBCCCC0205E0029999028888027777'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceSimpleExtended(s_ed100) == '80AAAABBBBCCCC020580029999'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceSimpleExtended(s_ed010) == '80AAAABBBBCCCC020540028888'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceSimple('AAAABBBBCCCC'O) == s) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceSimpleExtendable('00AAAABBBBCCCC'O) == s_ee) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceSimpleExtended('80AAAABBBBCCCC0205E0029999028888027777'O) == s_ed) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceSimpleExtended('80AAAABBBBCCCC020540028888'O).e2 == '8888'O) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceSomeOptional() runs on Test_CT { - const SequenceSomeOptional seqSO111 := {f1 := 'AAAA'O,f2 := 'BBBB'O,f3 := 'CCCC'O} - const SequenceSomeOptional seqSO110 := {f1 := 'AAAA'O,f2 := 'BBBB'O,f3 := omit} - const SequenceSomeOptional seqSO101 := {f1 := 'AAAA'O,f2 := omit, f3 := 'CCCC'O} - const SequenceSomeOptional seqSO100 := {f1 := 'AAAA'O,f2 := omit, f3 := omit} - - if (enc_OER_SequenceSomeOptional(seqSO111) == 'C0AAAABBBBCCCC'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceSomeOptional(seqSO110) == '80AAAABBBB'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceSomeOptional(seqSO101) == '40AAAACCCC'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceSomeOptional(seqSO100) == '00AAAA'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceSomeOptional('C0AAAABBBBCCCC'O) == seqSO111) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceSomeOptional('80AAAABBBB'O) == seqSO110) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceSomeOptional('00AAAA'O) == seqSO100) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceAllOptional() runs on Test_CT { - const SequenceAllOptional seqSAO000 := {f1:=omit,f2:=omit,f3:=omit} - - if (enc_OER_SequenceAllOptional(seqSAO000) == '00'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceAllOptional('00'O) == seqSAO000) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceOptionalExtendable() runs on Test_CT { - const SequenceOptionalExtendable seqSOE110 := {f1:='FEED'O,f2:='FEED'O,f3:=omit} - const SequenceOptionalExtendable seqSOE011 := {f1:=omit,f2:='FEED'O,f3:='FEED'O} - - if (enc_OER_SequenceOptionalExtendable(seqSOE110) == '40FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceOptionalExtendable(seqSOE011) == '20FEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceOptionalExtendable('40FEEDFEED'O) == seqSOE110) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceOptionalExtendable('20FEEDFEED'O) == seqSOE011) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceLongOptionalExtendable() runs on Test_CT { - const SequenceLongOptionalExtendable seq01 := { - f1:='FEED'O,f2:='FEED'O,f3:='FEED'O,f4:='FEED'O,f5:='FEED'O,f6:='FEED'O,f7:='FEED'O,f8:='FEED'O,f9:='FEED'O,f10:='FEED'O - } - const SequenceLongOptionalExtendable seq02 := { - f1:='FEED'O,f2:=omit,f3:='FEED'O,f4:=omit,f5:='FEED'O,f6:=omit,f7:='FEED'O,f8:=omit,f9:='FEED'O,f10:=omit - } - - if (enc_OER_SequenceLongOptionalExtendable(seq01) == '7FE0FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceLongOptionalExtendable(seq02) == '5540FEEDFEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceLongOptionalExtendable('7FE0FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED'O) == seq01) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceLongOptionalExtendable('5540FEEDFEEDFEEDFEEDFEED'O) == seq02) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceOptionalExtended() runs on Test_CT { - const SequenceOptionalExtended seq01_enc := {f1:='FEED'O,f2:='FEED'O,e1:='FEED'O,e2:='FEED'O} - const SequenceOptionalExtended seq01_dec := {f1:='FEED'O,f2:='FEED'O,f3:=omit,e1:='FEED'O,e2:='FEED'O,e3:=omit} - const SequenceOptionalExtended seq02_enc := {f2:='FEED'O,f3:='FEED'O,e2:='FEED'O,e3:='FEED'O} - const SequenceOptionalExtended seq02_dec := {f1:=omit,f2:='FEED'O,f3:='FEED'O,e1:=omit,e2:='FEED'O,e3:='FEED'O} - - if (enc_OER_SequenceOptionalExtended(seq01_enc) == 'C0FEEDFEED0205C002FEED02FEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceOptionalExtended(seq02_enc) == 'A0FEEDFEED02056002FEED02FEED'O) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceOptionalExtended('C0FEEDFEED0205C002FEED02FEED'O) == seq01_dec) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceOptionalExtended('A0FEEDFEED02056002FEED02FEED'O) == seq02_dec) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceLongOptionalExtended() runs on Test_CT { - const SequenceLongOptionalExtended seq01_enc := { - f1:='FEED'O,f2:='FEED'O,e1:='FEED'O,e2:='FEED'O,e4:='FEED'O,e5:='FEED'O,e7:='FEED'O,e8:='FEED'O - } - const SequenceLongOptionalExtended seq01_dec := { - f1:='FEED'O,f2:='FEED'O,f3:=omit,e1:='FEED'O,e2:='FEED'O,e3:=omit,e4:='FEED'O,e5:='FEED'O,e6:=omit,e7:='FEED'O,e8:='FEED'O,e9:=omit - } - - if (enc_OER_SequenceLongOptionalExtended(seq01_enc) == 'C0FEEDFEED0307DB0002FEED02FEED02FEED02FEED02FEED02FEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceLongOptionalExtended('C0FEEDFEED0307DB0002FEED02FEED02FEED02FEED02FEED02FEED'O) == seq01_dec) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_SequenceOfOctetString() runs on Test_CT { - const SequenceOfOctetString seqOfEmpty := {} - const SequenceOfOctetString seqOf := {'FEED'O,'FEED'O,'FEED'O,'FEED'O,'FEED'O,'FEED'O} - - if (enc_OER_SequenceOfOctetString(seqOfEmpty) == '0100'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_SequenceOfOctetString(seqOf) == '0106FEEDFEEDFEEDFEEDFEEDFEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_SequenceOfOctetString('0100'O) == seqOfEmpty) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceOfOctetString('0106FEEDFEEDFEEDFEEDFEEDFEED'O) == seqOf) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_SequenceOfOctetString('03000006FEEDFEEDFEEDFEEDFEEDFEED'O) == seqOf) {setverdict(pass);} else {setverdict(fail);} -} - -testcase tc_OER_Choice() runs on Test_CT { - const Choice choice := {f:='FEED'O} - const ChoiceBis choice_bis := {f:='FEED'O} - const ChoiceTer choice_ter := {f:='FEED'O} - const ChoiceQuatro choice_quatro := {s:='FEED'O} - - if (enc_OER_Choice(choice) == '80FEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_ChoiceBis(choice_bis) == 'AAFEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_ChoiceTer(choice_ter) == 'BF87C440FEED'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_ChoiceQuatro(choice_quatro) == 'AA02FEED'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Choice('80FEED'O) == choice) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_ChoiceBis('AAFEED'O) == choice_bis) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_ChoiceTer('BF87C440FEED'O) == choice_ter) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_ChoiceQuatro('AA02FEED'O) == choice_quatro) {setverdict(pass);} else {setverdict(fail);} - -} - -testcase tc_OER_Utf8() runs on Test_CT { - const Utf8 str_empty := "" - const Utf8 str := "May the force be with you." - - if (enc_OER_Utf8(str_empty) == '00'O) {setverdict(pass);} else {setverdict(fail);} - if (enc_OER_Utf8(str) == '1A4D61792074686520666F726365206265207769746820796F752E'O) {setverdict(pass);} else {setverdict(fail);} - - if (dec_OER_Utf8('00'O) == str_empty) {setverdict(pass);} else {setverdict(fail);} - if (dec_OER_Utf8('1A4D61792074686520666F726365206265207769746820796F752E'O) == str) {setverdict(pass);} else {setverdict(fail);} -} - -//********************************************* -// CONTROL PART -//********************************************* - -control { - execute(tc_OER_Null()); - execute(tc_OER_Bool()); - execute(tc_OER_Uint()); - execute(tc_OER_Uint8()); - execute(tc_OER_Uint16()); - execute(tc_OER_Uint32()); - execute(tc_OER_Uint64()); - execute(tc_OER_Int()); - execute(tc_OER_Sint8()); - execute(tc_OER_Sint16()); - execute(tc_OER_Sint32()); - execute(tc_OER_Sint64()); - execute(tc_OER_Enum()); - execute(tc_OER_BitStr()); - execute(tc_OER_OctetStr()); - execute(tc_OER_SequenceEmpty()); - execute(tc_OER_SequenceSimple()); - execute(tc_OER_SequenceSomeOptional()); - execute(tc_OER_SequenceAllOptional()); - execute(tc_OER_SequenceOptionalExtendable()); - execute(tc_OER_SequenceLongOptionalExtendable()); - execute(tc_OER_SequenceOptionalExtended()); - execute(tc_OER_SequenceLongOptionalExtended()); - execute(tc_OER_SequenceOfOctetString()); - execute(tc_OER_Choice()); - execute(tc_OER_Utf8()); -} - -<RESULT> - -Overall verdict: pass - -<END_TC> - diff --git a/function_test/OER_EncDec/Temp.cfg b/function_test/OER_EncDec/Temp.cfg deleted file mode 100644 index d67bc4e4dd1639cb5484c3a1a8f0c15517438ae9..0000000000000000000000000000000000000000 --- a/function_test/OER_EncDec/Temp.cfg +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2000-2019 Ericsson Telecom AB -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html -# -# Contributors: -# Balasko, Jeno -# Hanko, Matyas -# -############################################################################### -[MODULE_PARAMETERS] -[LOGGING] -LogSourceInfo := Yes -Logfile := "Temp.log" -FileMask := LOG_ALL -ConsoleMask := TTCN_WARNING | TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | DEBUG_ENCDEC -[EXECUTE] -Temp diff --git a/function_test/OER_EncDec/run_test_itspki b/function_test/OER_EncDec/run_test_itspki deleted file mode 100755 index 07fe41591b02952dfd85db1da8123890bec0f176..0000000000000000000000000000000000000000 --- a/function_test/OER_EncDec/run_test_itspki +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Script parameters are coming from ../Makefile. -../Tools/SAtester $* ./OER_EncDec_ITSPKI.script -rm Temp.ttcn -rm TempA.asn diff --git a/function_test/OER_EncDec/run_test_personnel_record b/function_test/OER_EncDec/run_test_personnel_record deleted file mode 100755 index 464f1a76f210156eaec32d8fc1eedb571d1b9a2d..0000000000000000000000000000000000000000 --- a/function_test/OER_EncDec/run_test_personnel_record +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Script parameters are coming from ../Makefile. -../Tools/SAtester $* ./ISOIEC-8825-7-2015-AnnexA-PersonnelRecord.script -rm Temp.ttcn -rm TempA.asn