diff --git a/function_test/BER_EncDec/.gitignore b/function_test/BER_EncDec/.gitignore index b6c63e27d8fc3dd54499dfe04d29cd32eee133de..c0acf23a1d70cc553ad2e454b42d717639a333d6 100644 --- a/function_test/BER_EncDec/.gitignore +++ b/function_test/BER_EncDec/.gitignore @@ -1,16 +1,4 @@ -BER_EncDec_TD.script_error -BER_EncDec_TD.fast_script_error -Temp -Temp.cc -Temp.hh -Temp.gcda -Temp.gcno -Temp.ttcn -TempA.asn -TempA.cc -TempA.hh -TempA.gcda -TempA.gcno compile -core +*.hh +*.cc *.o diff --git a/function_test/BER_EncDec/BER_EncDec.cfg b/function_test/BER_EncDec/BER_EncDec.cfg new file mode 100644 index 0000000000000000000000000000000000000000..87d451e093ae88fc84a4f1365dfff253411557b6 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec.cfg @@ -0,0 +1,184 @@ +############################################################################### +# 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 +[EXECUTE] +BER_EncDec_1 +BER_EncDec_2 +BER_EncDec_3 +BER_EncDec_4 +BER_EncDec_5 +BER_EncDec_6 +BER_EncDec_7 +BER_EncDec_8 +BER_EncDec_9 +BER_EncDec_10 +BER_EncDec_11 +BER_EncDec_12 +BER_EncDec_13 +BER_EncDec_14 +BER_EncDec_15 +BER_EncDec_16 +BER_EncDec_17 +BER_EncDec_18 +BER_EncDec_19 +BER_EncDec_20 +BER_EncDec_21 +BER_EncDec_22 +BER_EncDec_23 +BER_EncDec_24 +BER_EncDec_25 +BER_EncDec_26 +BER_EncDec_27 +BER_EncDec_28 +BER_EncDec_29 +BER_EncDec_30 +BER_EncDec_31 +BER_EncDec_32 +BER_EncDec_33 +BER_EncDec_34 +BER_EncDec_35 +BER_EncDec_36 +BER_EncDec_37 +BER_EncDec_38 +BER_EncDec_39 +BER_EncDec_40 +BER_EncDec_41 +BER_EncDec_42 +BER_EncDec_43 +BER_EncDec_44 +BER_EncDec_45 +BER_EncDec_46 +BER_EncDec_47 +BER_EncDec_48 +BER_EncDec_49 +BER_EncDec_50 +BER_EncDec_51 +BER_EncDec_52 +BER_EncDec_53 +BER_EncDec_54 +BER_EncDec_55 +BER_EncDec_56 +BER_EncDec_57 +BER_EncDec_58 +BER_EncDec_59 +BER_EncDec_60 +BER_EncDec_61 +BER_EncDec_62 +BER_EncDec_63 +BER_EncDec_64 +BER_EncDec_65 +BER_EncDec_66 +BER_EncDec_67 +BER_EncDec_68 +BER_EncDec_69 +BER_EncDec_70 +BER_EncDec_71 +BER_EncDec_72 +BER_EncDec_73 +BER_EncDec_74 +BER_EncDec_75 +BER_EncDec_76 +BER_EncDec_77 +BER_EncDec_78 +BER_EncDec_79 +BER_EncDec_80 +BER_EncDec_81 +BER_EncDec_82 +BER_EncDec_83 +BER_EncDec_84 +BER_EncDec_85 +BER_EncDec_86 +BER_EncDec_87 +BER_EncDec_88 +BER_EncDec_89 +BER_EncDec_90 +BER_EncDec_91 +BER_EncDec_92 +BER_EncDec_93 +BER_EncDec_94 +BER_EncDec_95 +BER_EncDec_96 +BER_EncDec_97 +BER_EncDec_98 +BER_EncDec_99 +BER_EncDec_100 +BER_EncDec_101 +BER_EncDec_102 +BER_EncDec_103 +BER_EncDec_104 +BER_EncDec_105 +BER_EncDec_106 +BER_EncDec_107 +BER_EncDec_108 +BER_EncDec_109 +BER_EncDec_110 +BER_EncDec_111 +BER_EncDec_112 +BER_EncDec_113 +BER_EncDec_114 +BER_EncDec_115 +BER_EncDec_116 +BER_EncDec_117 +BER_EncDec_118 +BER_EncDec_119 +BER_EncDec_120 +BER_EncDec_121 +BER_EncDec_122 +BER_EncDec_123 +BER_EncDec_124 +BER_EncDec_125 +BER_EncDec_126 +BER_EncDec_127 +BER_EncDec_128 +BER_EncDec_129 +BER_EncDec_130 +BER_EncDec_131 +BER_EncDec_132 +BER_EncDec_133 +BER_EncDec_134 +BER_EncDec_135 +BER_EncDec_136 +BER_EncDec_137 +BER_EncDec_138 +BER_EncDec_139 +BER_EncDec_140 +BER_EncDec_141 +BER_EncDec_142 +BER_EncDec_143 +BER_EncDec_144 +BER_EncDec_145 +BER_EncDec_146 +BER_EncDec_147 +BER_EncDec_148 +BER_EncDec_149 +BER_EncDec_150 +BER_EncDec_151 +BER_EncDec_152 +BER_EncDec_153 +BER_EncDec_154 +BER_EncDec_155 +BER_EncDec_156 +BER_EncDec_157 +BER_EncDec_158 +BER_EncDec_159 +BER_EncDec_160 +BER_EncDec_161 +BER_EncDec_162 +BER_EncDec_163 +BER_EncDec_164 +BER_EncDec_165 \ No newline at end of file diff --git a/function_test/BER_EncDec/BER_EncDecA_1.asn b/function_test/BER_EncDec/BER_EncDecA_1.asn new file mode 100644 index 0000000000000000000000000000000000000000..ed612ba0515b01f3906a8bccd7fdba029536a540 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_1.asn @@ -0,0 +1,425 @@ +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-1 + + +DEFINITIONS ::= + +BEGIN + + IMPORTS; + + BERPDU1 ::= BOOLEAN + BERPDU2 ::= [0] EXPLICIT BOOLEAN + BERPDU3 ::= [PRIVATE 1] EXPLICIT BOOLEAN + BERPDU4 ::= [APPLICATION 2] EXPLICIT BOOLEAN + BERPDU5 ::= [0] IMPLICIT BOOLEAN + BERPDU6 ::= [PRIVATE 1] IMPLICIT BOOLEAN + BERPDU7 ::= [APPLICATION 2] IMPLICIT BOOLEAN + + BERPDU8 ::= INTEGER + BERPDU9 ::= [0] EXPLICIT INTEGER + BERPDU10 ::= [PRIVATE 1] EXPLICIT INTEGER + BERPDU11 ::= [APPLICATION 2] EXPLICIT INTEGER + BERPDU12 ::= [0] IMPLICIT INTEGER + BERPDU13 ::= [PRIVATE 1] IMPLICIT INTEGER + BERPDU14 ::= [APPLICATION 2] IMPLICIT INTEGER + BERPDU15 ::= [30] EXPLICIT INTEGER + BERPDU16 ::= [31] EXPLICIT INTEGER + BERPDU17 ::= [127] EXPLICIT INTEGER + BERPDU18 ::= [128] EXPLICIT INTEGER + BERPDU19 ::= [16383] EXPLICIT INTEGER + BERPDU20 ::= [16384] EXPLICIT INTEGER + + BERPDU21 ::= ENUMERATED {first(-5), second(0), third(9)} + BERPDU22 ::= ENUMERATED {first, second, third} + BERPDU23 ::= ENUMERATED {first, second(0),third} + BERPDU24 ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} + BERPDU25 ::= [21] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} + BERPDU26 ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} + BERPDU27 ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} + + BERPDU28 ::= REAL + BERPDU29 ::= [0] IMPLICIT REAL + BERPDU30 ::= [0] EXPLICIT REAL + + BERPDU31 ::= BIT STRING + BERPDU32 ::= [0] IMPLICIT BIT STRING + BERPDU33 ::= [0] EXPLICIT BIT STRING + + BERPDU34 ::= OCTET STRING + BERPDU35 ::= [0] IMPLICIT OCTET STRING + BERPDU36 ::= [0] EXPLICIT OCTET STRING + BERPDU37 ::= NULL + BERPDU38 ::= [0] EXPLICIT NULL + BERPDU39 ::= [PRIVATE 1] EXPLICIT NULL + BERPDU40 ::= [APPLICATION 2] EXPLICIT NULL + BERPDU41 ::= [0] IMPLICIT NULL + BERPDU42 ::= [PRIVATE 1] IMPLICIT NULL + BERPDU43 ::= [APPLICATION 2] IMPLICIT NULL + + BERPDU44 ::= SEQUENCE + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + + BERPDU45 ::= SEQUENCE + { + b BOOLEAN DEFAULT TRUE, + c INTEGER OPTIONAL + } + + BERPDU48 ::= SEQUENCE + { + b [30] IMPLICIT BOOLEAN OPTIONAL, + c [31] IMPLICIT INTEGER OPTIONAL + } + + BERPDU49 ::= SEQUENCE + { + b [30] EXPLICIT BOOLEAN OPTIONAL, + c [31] EXPLICIT INTEGER OPTIONAL + } + + BERPDU50 ::= [0] SEQUENCE + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + + BERPDU54 ::= [0] SEQUENCE + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } + + BERPDU65 ::= SEQUENCE + { + b CHOICE { + x BOOLEAN, + y OCTET STRING + } + OPTIONAL, + c INTEGER OPTIONAL + + } + + BERPDU67 ::= SEQUENCE + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e REAL, + f BIT STRING, + g OCTET STRING, + + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 [1] BOOLEAN, + y1 [2] OCTET STRING}, + + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + + l SET { x3 BIT STRING, + y3 REAL}, + + m [3] SEQUENCE OF INTEGER, + n [4] SET OF BOOLEAN + } + + myOBJID-67 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} + + BERPDU69 ::= SEQUENCE + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + --e REAL, + f BIT STRING, + g OCTET STRING, + + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 [1] BOOLEAN, + y1 [2] OCTET STRING}, + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + l SET { x3 BIT STRING, + y3 NULL}, + m [3] SEQUENCE OF INTEGER, + n [4] SET OF BOOLEAN + } + + myOBJID-69 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} + + BERPDU71 ::= SEQUENCE OF INTEGER + BERPDU72 ::= SEQUENCE OF BOOLEAN + BERPDU73 ::= SEQUENCE OF OCTET STRING + BERPDU74 ::= SEQUENCE OF SEQUENCE {a INTEGER, b BOOLEAN} + BERPDU75 ::= SEQUENCE OF SET {a INTEGER, b BOOLEAN} + BERPDU76 ::= SEQUENCE OF SEQUENCE OF INTEGER + BERPDU77 ::= SEQUENCE OF CHOICE{a INTEGER, b BOOLEAN} + BERPDU78 ::= SEQUENCE OF SET OF INTEGER + BERPDU79 ::= [0] SEQUENCE OF BOOLEAN + BERPDU82 ::= SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + BERPDU83 ::= SET + { + b BOOLEAN DEFAULT TRUE, + c INTEGER OPTIONAL + } + BERPDU84 ::= SET + { + + c INTEGER OPTIONAL, + b BOOLEAN DEFAULT TRUE + } + + + myBooleanValue1-1 BERPDU1 ::= TRUE + myBooleanValue2-1 BERPDU1 ::= FALSE + + myBooleanValue1-2 BERPDU2 ::= TRUE + myBooleanValue1-3 BERPDU3 ::= TRUE + + myBooleanValue1-4 BERPDU4 ::= TRUE + myBooleanValue1-5 BERPDU5 ::= TRUE + myBooleanValue1-6 BERPDU6 ::= FALSE + myBooleanValue2-6 BERPDU6 ::= TRUE + myBooleanValue1-7 BERPDU6 ::= FALSE + myBooleanValue2-7 BERPDU6 ::= TRUE + + b8-8 BERPDU8 ::= 5 + b9-8 BERPDU8 ::= 0 + b10-8 BERPDU8 ::= 127 + b11-8 BERPDU8 ::= -128 + b12-8 BERPDU8 ::= -5 + b13-8 BERPDU8 ::= 128 + b14-8 BERPDU8 ::= -129 + + b8-9 BERPDU9 ::= 5 + b9-9 BERPDU9 ::= 0 + b10-9 BERPDU9 ::= 127 + b11-9 BERPDU9 ::= -128 + b12-9 BERPDU9 ::= -5 + b13-9 BERPDU9 ::= 128 + b14-9 BERPDU9 ::= -129 + + b8-10 BERPDU10 ::= 5 + b9-10 BERPDU10 ::= 0 + b10-10 BERPDU10 ::= 127 + b11-10 BERPDU10 ::= -128 + b12-10 BERPDU10 ::= -5 + b13-10 BERPDU10 ::= 128 + b14-10 BERPDU10 ::= -129 + + b8-11 BERPDU11 ::= 5 + b9-11 BERPDU11 ::= 0 + b10-11 BERPDU11 ::= 127 + b11-11 BERPDU11 ::= -128 + b12-11 BERPDU11 ::= -5 + b13-11 BERPDU11 ::= 128 + b14-11 BERPDU11 ::= -129 + + b8-12 BERPDU12 ::= 5 + b9-12 BERPDU12 ::= 0 + b10-12 BERPDU12 ::= 127 + b11-12 BERPDU12 ::= -128 + b12-12 BERPDU12 ::= -5 + b13-12 BERPDU12 ::= 128 + b14-12 BERPDU12 ::= -129 + + b8-13 BERPDU13 ::= 5 + b9-13 BERPDU13 ::= 0 + b10-13 BERPDU13 ::= 127 + b11-13 BERPDU13 ::= -128 + b12-13 BERPDU13 ::= -5 + b13-13 BERPDU13 ::= 128 + b14-13 BERPDU13 ::= -129 + + b8-14 BERPDU14 ::= 5 + b9-14 BERPDU14 ::= 0 + b10-14 BERPDU14 ::= 127 + b11-14 BERPDU14 ::= -128 + b12-14 BERPDU14 ::= -5 + b13-14 BERPDU14 ::= 128 + b14-14 BERPDU14 ::= -129 + + b2-15 BERPDU15 ::= 5 + + b7-24 BERPDU24 ::= first + b8-24 BERPDU24 ::= third + b9-24 BERPDU24 ::= fourth + b10-24 BERPDU24 ::= fifth + b11-24 BERPDU24 ::= sixth + b12-24 BERPDU24 ::= second + + b2-26 BERPDU26 ::= first + b3-26 BERPDU26 ::= second + b4-26 BERPDU26 ::= third + b5-26 BERPDU26 ::= fourth + b6-26 BERPDU26 ::= fifth + b7-26 BERPDU26 ::= sixth + + b1-27 BERPDU27 ::= first + b2-27 BERPDU27 ::= second + b3-27 BERPDU27 ::= third + b4-27 BERPDU27 ::= fourth + b5-27 BERPDU27 ::= fifth + b6-27 BERPDU27 ::= sixth + + b1-28 BERPDU28 ::= 0 + b2-28 BERPDU28 ::= 0.0 + b3-28 BERPDU28 ::= 0E0 + b4-28 BERPDU28 ::= 0.0E0 + b5-28 BERPDU28 ::= 0e0 + b6-28 BERPDU28 ::= 0.0e0 + b7-28 BERPDU28 ::= 0E+0 + b8-28 BERPDU28 ::= 0.0E+0 + b9-28 BERPDU28 ::= 0e+0 + b10-28 BERPDU28 ::= 0.0e+0 + b11-28 BERPDU28 ::= 0E-0 + b12-28 BERPDU28 ::= 0.0E-0 + b13-28 BERPDU28 ::= 0e-0 + b14-28 BERPDU28 ::= 0.0e-0 + b15-28 BERPDU28 ::= 1 + b16-28 BERPDU28 ::= 1e0 + b17-28 BERPDU28 ::= 1E0 + b18-28 BERPDU28 ::= 1.0e0 + b19-28 BERPDU28 ::= 1.0E0 + b20-28 BERPDU28 ::= 1e+0 + b21-28 BERPDU28 ::= 1E+0 + b22-28 BERPDU28 ::= 1.0e+0 + b23-28 BERPDU28 ::= 1.0E+0 + b24-28 BERPDU28 ::= 1e-0 + b25-28 BERPDU28 ::= 1E-0 + b26-28 BERPDU28 ::= 1.0e-0 + b27-28 BERPDU28 ::= 1.0E-0 + b28-28 BERPDU28 ::= 2 + b29-28 BERPDU28 ::= 2.0 + b30-28 BERPDU28 ::= -1 + b31-28 BERPDU28 ::= -1e0 + b32-28 BERPDU28 ::= -1E0 + b33-28 BERPDU28 ::= -1.0e0 + b34-28 BERPDU28 ::= -1.0E0 + b35-28 BERPDU28 ::= -1e+0 + b36-28 BERPDU28 ::= -1E+0 + b37-28 BERPDU28 ::= -1.0e+0 + b38-28 BERPDU28 ::= -1.0E+0 + b39-28 BERPDU28 ::= -1e-0 + b40-28 BERPDU28 ::= -1E-0 + b41-28 BERPDU28 ::= -1.0e-0 + b42-28 BERPDU28 ::= -1.0E-0 + b43-28 BERPDU28 ::= -1.0 + b44-28 BERPDU28 ::= 1.000 + b45-28 BERPDU28 ::= -1.000 + b46-28 BERPDU28 ::= 12 + b47-28 BERPDU28 ::= 12.0 + b48-28 BERPDU28 ::= 12.0E0 + b49-28 BERPDU28 ::= 1.2E1 + b50-28 BERPDU28 ::= 0.12E2 + b51-28 BERPDU28 ::= 1.2E1 + b52-28 BERPDU28 ::= 0.12E2 + b53-28 BERPDU28 ::= 0.34 + b54-28 BERPDU28 ::= 0.344 + b55-28 BERPDU28 ::= 0.345 + b56-28 BERPDU28 ::= 0.034 + b57-28 BERPDU28 ::= 0.0034 + b58-28 BERPDU28 ::= 0.304 + b59-28 BERPDU28 ::= 0.1234567890 + b60-28 BERPDU28 ::= 0.123456789 + b61-28 BERPDU28 ::= 0.0123456789 + b62-28 BERPDU28 ::= 123456789.0 + b63-28 BERPDU28 ::= 123456789 + b64-28 BERPDU28 ::= 1234567890 + b65-28 BERPDU28 ::= 1234567890.0 + b66-28 BERPDU28 ::= 1234567890.00 + b67-28 BERPDU28 ::= 12345678900.0 + b68-28 BERPDU28 ::= 12345678900.0 + b69-28 BERPDU28 ::= 12345678900.00 + b70-28 BERPDU28 ::= -12 + b71-28 BERPDU28 ::= -12.0 + b72-28 BERPDU28 ::= -12.0E0 + b73-28 BERPDU28 ::= -1.2E1 + b74-28 BERPDU28 ::= -0.12E2 + b75-28 BERPDU28 ::= -1.2E1 + b76-28 BERPDU28 ::= -0.12E2 + b77-28 BERPDU28 ::= -0.34 + b78-28 BERPDU28 ::= -0.344 + b79-28 BERPDU28 ::= -0.345 + b80-28 BERPDU28 ::= -0.034 + b81-28 BERPDU28 ::= -0.0034 + b82-28 BERPDU28 ::= -0.304 + b83-28 BERPDU28 ::= -0.1234567890 + b84-28 BERPDU28 ::= -0.123456789 + b85-28 BERPDU28 ::= -0.0123456789 + b86-28 BERPDU28 ::= -123456789.0 + b87-28 BERPDU28 ::= -123456789 + b88-28 BERPDU28 ::= -1234567890 + b89-28 BERPDU28 ::= -1234567890.0 + b90-28 BERPDU28 ::= -1234567890.00 + b91-28 BERPDU28 ::= -12345678900.0 + b92-28 BERPDU28 ::= -12345678900.0 + b93-28 BERPDU28 ::= -12345678900.00 + b94-28 BERPDU28 ::= PLUS-INFINITY + b95-28 BERPDU28 ::= MINUS-INFINITY + + b-29 BERPDU29 ::= 1 + b-30 BERPDU30 ::= 1 + + b6-31 BERPDU31 ::= +'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H +b7-31 BERPDU31 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H +b8-31 BERPDU31 ::= ''B +b9-31 BERPDU31 ::='1'B +b10-31 BERPDU31 ::='11'B +b11-31 BERPDU31 ::='1010101'B +b12-31 BERPDU31 ::='10101011010101'B +b13-31 BERPDU31 ::='10101010'B +b14-31 BERPDU31 ::='1010101010101010'B +b15-31 BERPDU31 ::='111100001'B +b16-31 BERPDU31 ::='111100001111100001'B +b17-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H +b18-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H +b19-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H + +b-32 BERPDU32 ::='1'B + +b5-34 BERPDU34 ::=''H +b6-34 BERPDU34 ::='FFFF'H +b7-34 BERPDU34 ::='FFFFFFFF'H +b8-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H +b9-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H +b10-34 BERPDU34 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H +myIntegerValue-34 BERPDU34 ::='FFFF'H +myIntegerValue-35 BERPDU35 ::='FFFF'H +myIntegerValue-36 BERPDU36 ::='FFFF'H + +myNullValue-37 BERPDU37 ::= NULL +myNullValue-38 BERPDU38 ::= NULL +myNullValue-39 BERPDU39 ::= NULL +myNullValue-40 BERPDU40 ::= NULL +myNullValue-41 BERPDU41 ::= NULL +myNullValue-42 BERPDU42 ::= NULL +myNullValue-43 BERPDU43 ::= NULL + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_10.asn b/function_test/BER_EncDec/BER_EncDecA_10.asn new file mode 100644 index 0000000000000000000000000000000000000000..650b9a97d11a54aea62bb98c70f3dc8b52abb442 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_10.asn @@ -0,0 +1,24 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-10 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_100.asn b/function_test/BER_EncDec/BER_EncDecA_100.asn new file mode 100644 index 0000000000000000000000000000000000000000..9e6e28952bdc1bd1a935748ff9fd2b9dd3ff66cd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_100.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-100 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {0 4 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_101.asn b/function_test/BER_EncDec/BER_EncDecA_101.asn new file mode 100644 index 0000000000000000000000000000000000000000..65677b024d31f3e941f018bd3fc38b64557c7558 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_101.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-101 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {iso(1) standard(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_102.asn b/function_test/BER_EncDec/BER_EncDecA_102.asn new file mode 100644 index 0000000000000000000000000000000000000000..72e0ed5e4b72c0a2398e81f314fa252877cf6506 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_102.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-102 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {iso standard a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_103.asn b/function_test/BER_EncDec/BER_EncDecA_103.asn new file mode 100644 index 0000000000000000000000000000000000000000..ceb5633433aa9bee6789fe988f728da94beb556e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_103.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-103 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {1 0 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_104.asn b/function_test/BER_EncDec/BER_EncDecA_104.asn new file mode 100644 index 0000000000000000000000000000000000000000..157158d1b502f0dd99a78f54a107942481c9094a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_104.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-104 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {iso(1) member-body(2) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_105.asn b/function_test/BER_EncDec/BER_EncDecA_105.asn new file mode 100644 index 0000000000000000000000000000000000000000..43f6428c4098af4a17a780c2b60403615a1cf750 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_105.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-105 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {iso member-body a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_106.asn b/function_test/BER_EncDec/BER_EncDecA_106.asn new file mode 100644 index 0000000000000000000000000000000000000000..d94069bd2c0f0eeca0bbb128bfa01666fa87b71b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_106.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-106 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {1 2 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_107.asn b/function_test/BER_EncDec/BER_EncDecA_107.asn new file mode 100644 index 0000000000000000000000000000000000000000..2f1a8d9469c2c26aed2653a6a6e43015453739b9 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_107.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-107 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_108.asn b/function_test/BER_EncDec/BER_EncDecA_108.asn new file mode 100644 index 0000000000000000000000000000000000000000..558dcc660071f4ca174e429ac649dc8004c03d2f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_108.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-108 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {iso identified-organization a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_109.asn b/function_test/BER_EncDec/BER_EncDecA_109.asn new file mode 100644 index 0000000000000000000000000000000000000000..eee62cb47e590283b3be08e00e068acec937ac3a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_109.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-109 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {1 3 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_11.asn b/function_test/BER_EncDec/BER_EncDecA_11.asn new file mode 100644 index 0000000000000000000000000000000000000000..bc2d507aa161047c502df9b02c6b31b71053ebf0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_11.asn @@ -0,0 +1,28 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-11 + + +DEFINITIONS ::= +BEGIN + +BERPDU ::= [0] SET + { + + c INTEGER OPTIONAL, + b BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_110.asn b/function_test/BER_EncDec/BER_EncDecA_110.asn new file mode 100644 index 0000000000000000000000000000000000000000..64cb6bfdeb42dedd035d11956cf78aec060fb053 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_110.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-110 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_111.asn b/function_test/BER_EncDec/BER_EncDecA_111.asn new file mode 100644 index 0000000000000000000000000000000000000000..447c8f938901453c515d8e9b41db0d6552bcfd25 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_111.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-111 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_112.asn b/function_test/BER_EncDec/BER_EncDecA_112.asn new file mode 100644 index 0000000000000000000000000000000000000000..c0c06865d331e577facebff256da2e836990ae3e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_112.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-112 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {2 0 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_113.asn b/function_test/BER_EncDec/BER_EncDecA_113.asn new file mode 100644 index 0000000000000000000000000000000000000000..1265f2d3dd02318f42f02ad6c99f9dc599627fdc --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_113.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-113 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_114.asn b/function_test/BER_EncDec/BER_EncDecA_114.asn new file mode 100644 index 0000000000000000000000000000000000000000..2b26a74dd585a57e3c0da693870c35033ffab68b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_114.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-114 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_115.asn b/function_test/BER_EncDec/BER_EncDecA_115.asn new file mode 100644 index 0000000000000000000000000000000000000000..8f1616818c6e783aacdf2df15de7e98157740ba5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_115.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-115 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {2 100 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_116.asn b/function_test/BER_EncDec/BER_EncDecA_116.asn new file mode 100644 index 0000000000000000000000000000000000000000..4bb5193f4436a0f1484efcd86d3afa238fee12d0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_116.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-116 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 } + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_117.asn b/function_test/BER_EncDec/BER_EncDecA_117.asn new file mode 100644 index 0000000000000000000000000000000000000000..15145df22ef4b2ce29a3d65b931c124de0660c34 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_117.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-117 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER +b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_118.asn b/function_test/BER_EncDec/BER_EncDecA_118.asn new file mode 100644 index 0000000000000000000000000000000000000000..60beabdc4a5a3623ee0f4df8cf7c3c195f4126cd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_118.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-118 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER +b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_119.asn b/function_test/BER_EncDec/BER_EncDecA_119.asn new file mode 100644 index 0000000000000000000000000000000000000000..f8bd26dcf4e76b02fc6d38436730ce486bc47d09 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_119.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-119 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= { itu-t(0) recommendation(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_12.asn b/function_test/BER_EncDec/BER_EncDecA_12.asn new file mode 100644 index 0000000000000000000000000000000000000000..251a7d1b3db68b1ef20b1898431fdbfbaac3c1c4 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_12.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-12 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= [0] SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_120.asn b/function_test/BER_EncDec/BER_EncDecA_120.asn new file mode 100644 index 0000000000000000000000000000000000000000..a3175aeeb26222d700494f0d54387d1eb4236a67 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_120.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-120 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t recommendation a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_121.asn b/function_test/BER_EncDec/BER_EncDecA_121.asn new file mode 100644 index 0000000000000000000000000000000000000000..89a865493fcd58fa8ff503021c1f5c0e21d2df9e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_121.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-121 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {0 0 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_122.asn b/function_test/BER_EncDec/BER_EncDecA_122.asn new file mode 100644 index 0000000000000000000000000000000000000000..821cae9657af551f3dd8e04caada56c9c3c394bd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_122.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-122 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t(0) question(1) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_123.asn b/function_test/BER_EncDec/BER_EncDecA_123.asn new file mode 100644 index 0000000000000000000000000000000000000000..b59cf5bf9fefcbc9334bc755d3169f1de22a2e73 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_123.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-123 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t question a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_124.asn b/function_test/BER_EncDec/BER_EncDecA_124.asn new file mode 100644 index 0000000000000000000000000000000000000000..d8ae83ef0831a1c0dc6fa6438e39a8214e8ee607 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_124.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-124 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {0 1 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_125.asn b/function_test/BER_EncDec/BER_EncDecA_125.asn new file mode 100644 index 0000000000000000000000000000000000000000..59ba1ab3c471c39fcccdbaa8c0a099ff39b5431f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_125.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-125 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t(0) administration(2) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_126.asn b/function_test/BER_EncDec/BER_EncDecA_126.asn new file mode 100644 index 0000000000000000000000000000000000000000..2005869f9d38bb921eeaa15973eb740eea40e298 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_126.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-126 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t administration a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_127.asn b/function_test/BER_EncDec/BER_EncDecA_127.asn new file mode 100644 index 0000000000000000000000000000000000000000..ac05a7ef2fdd68f79a281e8bdfce20c01d638ccb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_127.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-127 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {0 2 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_128.asn b/function_test/BER_EncDec/BER_EncDecA_128.asn new file mode 100644 index 0000000000000000000000000000000000000000..7309760bd2b40f7198e36cfe4c11b6286f02e147 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_128.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-128 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_129.asn b/function_test/BER_EncDec/BER_EncDecA_129.asn new file mode 100644 index 0000000000000000000000000000000000000000..4f8a32ecf42be566a64f5640f2557af04c560576 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_129.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-129 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t network-operator a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_13.asn b/function_test/BER_EncDec/BER_EncDecA_13.asn new file mode 100644 index 0000000000000000000000000000000000000000..4b32bd7fd45bf194467573a87de244afb413f4a0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_13.asn @@ -0,0 +1,32 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-13 + + +DEFINITIONS + +AUTOMATIC TAGS + +::= + +BEGIN + +BERPDU ::= [0] SET + { + c INTEGER OPTIONAL, + b BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_130.asn b/function_test/BER_EncDec/BER_EncDecA_130.asn new file mode 100644 index 0000000000000000000000000000000000000000..9fae873922f0527feade71119a300830d94f8503 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_130.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-130 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {0 3 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_131.asn b/function_test/BER_EncDec/BER_EncDecA_131.asn new file mode 100644 index 0000000000000000000000000000000000000000..ae4dfd46faed7a6c64c1b063f0c7a302e9092ad8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_131.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-131 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_132.asn b/function_test/BER_EncDec/BER_EncDecA_132.asn new file mode 100644 index 0000000000000000000000000000000000000000..2a840a4d753c7389c338ce0e6e0a1ac2aeccd267 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_132.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-132 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t identified-organization a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_133.asn b/function_test/BER_EncDec/BER_EncDecA_133.asn new file mode 100644 index 0000000000000000000000000000000000000000..8e21fbb847be9167bb8b8cd0980f0d7a0d701f09 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_133.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-133 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {0 4 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_134.asn b/function_test/BER_EncDec/BER_EncDecA_134.asn new file mode 100644 index 0000000000000000000000000000000000000000..bc94db0eb2c1aeafedf45d8748e9d1e026444184 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_134.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-134 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {iso(1) standard(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_135.asn b/function_test/BER_EncDec/BER_EncDecA_135.asn new file mode 100644 index 0000000000000000000000000000000000000000..fb5e6a4f15730ed2d9af91a39ad84a4d9ab946d2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_135.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-135 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {iso standard a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_136.asn b/function_test/BER_EncDec/BER_EncDecA_136.asn new file mode 100644 index 0000000000000000000000000000000000000000..a0ad8f4de21289ed9cd0e1d401286383ffc04818 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_136.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-136 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {1 0 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_137.asn b/function_test/BER_EncDec/BER_EncDecA_137.asn new file mode 100644 index 0000000000000000000000000000000000000000..1a0d4f37389f655681a8d03f30cbe4dd079e5ca2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_137.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-137 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {iso(1) member-body(2) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_138.asn b/function_test/BER_EncDec/BER_EncDecA_138.asn new file mode 100644 index 0000000000000000000000000000000000000000..83d8da200c54856d6b9bc6f95e1b52d824fc61db --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_138.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-138 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {iso member-body a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_139.asn b/function_test/BER_EncDec/BER_EncDecA_139.asn new file mode 100644 index 0000000000000000000000000000000000000000..5e9b169954b5d8f6c69a9c9bf5afad600f3a7456 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_139.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-139 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {1 2 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_14.asn b/function_test/BER_EncDec/BER_EncDecA_14.asn new file mode 100644 index 0000000000000000000000000000000000000000..4acfd6bc5d9a54015f3af5f505d51e79764c1734 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_14.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-14 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_140.asn b/function_test/BER_EncDec/BER_EncDecA_140.asn new file mode 100644 index 0000000000000000000000000000000000000000..9dc3f0e051967176ff2e9aa28117d99d16791d7c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_140.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-140 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_141.asn b/function_test/BER_EncDec/BER_EncDecA_141.asn new file mode 100644 index 0000000000000000000000000000000000000000..23d543418ba6653ab1429263fe96fc21e73d16b8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_141.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-141 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {iso identified-organization a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_142.asn b/function_test/BER_EncDec/BER_EncDecA_142.asn new file mode 100644 index 0000000000000000000000000000000000000000..21a108cba3f07e65847ddcb3873ee31b434c66fb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_142.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-142 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {1 3 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_143.asn b/function_test/BER_EncDec/BER_EncDecA_143.asn new file mode 100644 index 0000000000000000000000000000000000000000..eaa76bb3b7f6f736318862d3d64af28e41c5a7fe --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_143.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-143 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_144.asn b/function_test/BER_EncDec/BER_EncDecA_144.asn new file mode 100644 index 0000000000000000000000000000000000000000..4005670e9ff8e519eb5cc867815c46fe07646652 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_144.asn @@ -0,0 +1,24 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-144 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)} + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_145.asn b/function_test/BER_EncDec/BER_EncDecA_145.asn new file mode 100644 index 0000000000000000000000000000000000000000..11ecc8e2376b1fd86b9d9992e63b6b0fb0911f10 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_145.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-145 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {2 0 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_146.asn b/function_test/BER_EncDec/BER_EncDecA_146.asn new file mode 100644 index 0000000000000000000000000000000000000000..c505647ef072a5b4e3f39ee5310aa595f1f02ea4 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_146.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-146 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_147.asn b/function_test/BER_EncDec/BER_EncDecA_147.asn new file mode 100644 index 0000000000000000000000000000000000000000..432ddf7d610a92376f587c950e03131d992e85a7 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_147.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-147 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_148.asn b/function_test/BER_EncDec/BER_EncDecA_148.asn new file mode 100644 index 0000000000000000000000000000000000000000..822cbf7c4139359c56558c6fb85598fdd40be5e2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_148.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-148 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {2 100 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_149.asn b/function_test/BER_EncDec/BER_EncDecA_149.asn new file mode 100644 index 0000000000000000000000000000000000000000..9ae6b06f5d21aef846a879e309cb09153ffeeb00 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_149.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-149 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER + +myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 } + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_15.asn b/function_test/BER_EncDec/BER_EncDecA_15.asn new file mode 100644 index 0000000000000000000000000000000000000000..5d21b5763950eba6cb84b584f03027222dd73804 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_15.asn @@ -0,0 +1,33 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-15 + + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +BERPDU ::= [0] SET + { + + c INTEGER OPTIONAL, + b BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_150.asn b/function_test/BER_EncDec/BER_EncDecA_150.asn new file mode 100644 index 0000000000000000000000000000000000000000..a0995aa82b6522a8c1f624a80e7aef834cda0aea --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_150.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-150 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_151.asn b/function_test/BER_EncDec/BER_EncDecA_151.asn new file mode 100644 index 0000000000000000000000000000000000000000..71d2d7a3642a14b76f8e24bb3eb159c79a90e938 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_151.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-151 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_152.asn b/function_test/BER_EncDec/BER_EncDecA_152.asn new file mode 100644 index 0000000000000000000000000000000000000000..de833c0538e1bd3310e0d8f3e700f16c5eaf1b6b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_152.asn @@ -0,0 +1,23 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-152 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER + +myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_153.asn b/function_test/BER_EncDec/BER_EncDecA_153.asn new file mode 100644 index 0000000000000000000000000000000000000000..ec0880efd235396ce663cca327635f2a27fb6619 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_153.asn @@ -0,0 +1,95 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-153 + + +DEFINITIONS ::= +BEGIN + + +--*************************************************************************************************** +--modified class taken from Gyuri ASN1 +--*************************************************************************************************** +MY-CLASS-1 ::= CLASS +{ +&TypeField OPTIONAL, +&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL + +} +WITH SYNTAX +{ +[TYPE FIELD &TypeField] +[FIXED VALUE TYPE FIELD &fixedTypeValueField] +} + +ASN1-Type1 ::= INTEGER + +ASN1-Type2 ::= BOOLEAN + +ASN1-Type3 ::= SEQUENCE {f1 INTEGER} + +ASN1-Type4 ::= OCTET STRING + + +--**************************************************************************************************** +-- OBJECTS using the class defined above +--**************************************************************************************************** + + +myObject-1 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type3 +FIXED VALUE TYPE FIELD 999 +} + + +myObject-2 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type2 +FIXED VALUE TYPE FIELD 888 +} + +myObject-3 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type4 +FIXED VALUE TYPE FIELD 555 +} + +--**************************************************************************************************** +-- Defining Information Object sets +--**************************************************************************************************** + +MyInformationObjectSet1 MY-CLASS-1 ::= +{ +myObject-1| +myObject-2, +... +} + +MyInformationObjectSet2 MY-CLASS-1 ::= +{ +MyInformationObjectSet1| +myObject-3, +... +} + +BERPDU ::= SEQUENCE + +{ +field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), +field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) +} + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_154.asn b/function_test/BER_EncDec/BER_EncDecA_154.asn new file mode 100644 index 0000000000000000000000000000000000000000..8b9852519e35a8125708a39d474579be3adf4047 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_154.asn @@ -0,0 +1,101 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-154 + + +DEFINITIONS + + +::= + +BEGIN + + +--*************************************************************************************************** +--modified class taken from Gyuri ASN1 +--*************************************************************************************************** +MY-CLASS-1 ::= CLASS +{ +&TypeField OPTIONAL, +&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL + +} +WITH SYNTAX +{ +[TYPE FIELD &TypeField] +[FIXED VALUE TYPE FIELD &fixedTypeValueField] +} + +ASN1-Type1 ::= INTEGER + +ASN1-Type2 ::= BOOLEAN + +ASN1-Type3 ::= SEQUENCE {f1 INTEGER} + +ASN1-Type4 ::= OCTET STRING + + +--**************************************************************************************************** +-- OBJECTS using the class defined above +--**************************************************************************************************** + + +myObject-1 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type3 +FIXED VALUE TYPE FIELD 999 +} + + +myObject-2 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type2 +FIXED VALUE TYPE FIELD 888 +} + +myObject-3 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type4 +FIXED VALUE TYPE FIELD 555 +} + +--**************************************************************************************************** +-- Defining Information Object sets +--**************************************************************************************************** + +MyInformationObjectSet1 MY-CLASS-1 ::= +{ +myObject-1| +myObject-2, +... +} + +MyInformationObjectSet2 MY-CLASS-1 ::= +{ +MyInformationObjectSet1| +myObject-3, +... +} + + + +BERPDU ::= SEQUENCE + +{ +field1 myObject-1.&TypeField , -- type from object +field2 MY-CLASS-1.&fixedTypeValueField +} + +END + + diff --git a/function_test/BER_EncDec/BER_EncDecA_155.asn b/function_test/BER_EncDec/BER_EncDecA_155.asn new file mode 100644 index 0000000000000000000000000000000000000000..d4afe2f7e7fbb9e34f0e7966f95fc069402f2989 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_155.asn @@ -0,0 +1,95 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-155 + + + +DEFINITIONS ::= +BEGIN + + +--*************************************************************************************************** +--modified class taken from Gyuri ASN1 +--*************************************************************************************************** +MY-CLASS-1 ::= CLASS +{ +&TypeField OPTIONAL, +&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL + +} +WITH SYNTAX +{ +[TYPE FIELD &TypeField] +[FIXED VALUE TYPE FIELD &fixedTypeValueField] +} + +ASN1-Type1 ::= INTEGER + +ASN1-Type2 ::= BOOLEAN + +ASN1-Type3 ::= SEQUENCE {f1 INTEGER} + +ASN1-Type4 ::= OCTET STRING + + +--**************************************************************************************************** +-- OBJECTS using the class defined above +--**************************************************************************************************** + + +myObject-1 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type3 +FIXED VALUE TYPE FIELD 999 +} + + +myObject-2 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type2 +FIXED VALUE TYPE FIELD 888 +} + +myObject-3 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type4 +FIXED VALUE TYPE FIELD 555 +} + +--**************************************************************************************************** +-- Defining Information Object sets +--**************************************************************************************************** + +MyInformationObjectSet1 MY-CLASS-1 ::= +{ +myObject-1| +myObject-2, +... +} + +MyInformationObjectSet2 MY-CLASS-1 ::= +{ +MyInformationObjectSet1| +myObject-3, +... +} + +BERPDU ::= SEQUENCE + +{ +field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), +field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) +} + + +END diff --git a/function_test/BER_EncDec/BER_EncDecA_156.asn b/function_test/BER_EncDec/BER_EncDecA_156.asn new file mode 100644 index 0000000000000000000000000000000000000000..0add67158a422f3b4f9e21a1a04fcc71821fb3c9 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_156.asn @@ -0,0 +1,95 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-156 + + + +DEFINITIONS ::= +BEGIN + + +--*************************************************************************************************** +--modified class taken from Gyuri ASN1 +--*************************************************************************************************** +MY-CLASS-1 ::= CLASS +{ +&TypeField OPTIONAL, +&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL + +} +WITH SYNTAX +{ +[TYPE FIELD &TypeField] +[FIXED VALUE TYPE FIELD &fixedTypeValueField] +} + +ASN1-Type1 ::= INTEGER + +ASN1-Type2 ::= BOOLEAN + +ASN1-Type3 ::= SEQUENCE {f1 INTEGER} + +ASN1-Type4 ::= OCTET STRING + + +--**************************************************************************************************** +-- OBJECTS using the class defined above +--**************************************************************************************************** + + +myObject-1 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type3 +FIXED VALUE TYPE FIELD 999 +} + + +myObject-2 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type2 +FIXED VALUE TYPE FIELD 888 +} + +myObject-3 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type4 +FIXED VALUE TYPE FIELD 555 +} + +--**************************************************************************************************** +-- Defining Information Object sets +--**************************************************************************************************** + +MyInformationObjectSet1 MY-CLASS-1 ::= +{ +myObject-1| +myObject-2, +... +} + +MyInformationObjectSet2 MY-CLASS-1 ::= +{ +MyInformationObjectSet1| +myObject-3, +... +} + +BERPDU ::= SEQUENCE + +{ +field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), +field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) +} + + +END diff --git a/function_test/BER_EncDec/BER_EncDecA_157.asn b/function_test/BER_EncDec/BER_EncDecA_157.asn new file mode 100644 index 0000000000000000000000000000000000000000..94e2924287484b1dbbdfa5197024b394d949c2b1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_157.asn @@ -0,0 +1,101 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-157 + + + +DEFINITIONS + + +::= + +BEGIN + + +--*************************************************************************************************** +--modified class taken from Gyuri ASN1 +--*************************************************************************************************** +MY-CLASS-1 ::= CLASS +{ +&TypeField OPTIONAL, +&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL + +} +WITH SYNTAX +{ +[TYPE FIELD &TypeField] +[FIXED VALUE TYPE FIELD &fixedTypeValueField] +} + +ASN1-Type1 ::= INTEGER + +ASN1-Type2 ::= BOOLEAN + +ASN1-Type3 ::= SEQUENCE {f1 INTEGER} + +ASN1-Type4 ::= OCTET STRING + + +--**************************************************************************************************** +-- OBJECTS using the class defined above +--**************************************************************************************************** + + +myObject-1 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type3 +FIXED VALUE TYPE FIELD 999 +} + + +myObject-2 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type2 +FIXED VALUE TYPE FIELD 888 +} + +myObject-3 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type4 +FIXED VALUE TYPE FIELD 555 +} + +--**************************************************************************************************** +-- Defining Information Object sets +--**************************************************************************************************** + +MyInformationObjectSet1 MY-CLASS-1 ::= +{ +myObject-1| +myObject-2, +... +} + +MyInformationObjectSet2 MY-CLASS-1 ::= +{ +MyInformationObjectSet1| +myObject-3, +... +} + + + +BERPDU ::= SEQUENCE + +{ +field1 myObject-1.&TypeField , -- type from object +field2 MY-CLASS-1.&fixedTypeValueField +} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_158.asn b/function_test/BER_EncDec/BER_EncDecA_158.asn new file mode 100644 index 0000000000000000000000000000000000000000..c57e472c21f37f5eba5527698343e0cda221f467 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_158.asn @@ -0,0 +1,101 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-158 + + + +DEFINITIONS + + +::= + +BEGIN + + +--*************************************************************************************************** +--modified class taken from Gyuri ASN1 +--*************************************************************************************************** +MY-CLASS-1 ::= CLASS +{ +&TypeField OPTIONAL, +&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL + +} +WITH SYNTAX +{ +[TYPE FIELD &TypeField] +[FIXED VALUE TYPE FIELD &fixedTypeValueField] +} + +ASN1-Type1 ::= INTEGER + +ASN1-Type2 ::= BOOLEAN + +ASN1-Type3 ::= SEQUENCE {f1 INTEGER} + +ASN1-Type4 ::= OCTET STRING + + +--**************************************************************************************************** +-- OBJECTS using the class defined above +--**************************************************************************************************** + + +myObject-1 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type3 +FIXED VALUE TYPE FIELD 999 +} + + +myObject-2 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type2 +FIXED VALUE TYPE FIELD 888 +} + +myObject-3 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type4 +FIXED VALUE TYPE FIELD 555 +} + +--**************************************************************************************************** +-- Defining Information Object sets +--**************************************************************************************************** + +MyInformationObjectSet1 MY-CLASS-1 ::= +{ +myObject-1| +myObject-2, +... +} + +MyInformationObjectSet2 MY-CLASS-1 ::= +{ +MyInformationObjectSet1| +myObject-3, +... +} + + + +BERPDU ::= SEQUENCE + +{ +field1 myObject-1.&TypeField , -- type from object +field2 MY-CLASS-1.&fixedTypeValueField +} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_159.asn b/function_test/BER_EncDec/BER_EncDecA_159.asn new file mode 100644 index 0000000000000000000000000000000000000000..d5641e6866998de1b07d1c141ab50359887998e8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_159.asn @@ -0,0 +1,44 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-159 + + +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN + +BERPDU ::= INTEGER +bi1 BERPDU ::= 5 +bi2 BERPDU ::= 0 +bi3 BERPDU ::= 127 +bi4 BERPDU ::= -128 +bi5 BERPDU ::= -5 +bi-6 BERPDU ::= 128 +bi7 BERPDU ::= -129 + +BERPDU2 ::= REAL +--b BERPDU2 ::= 12345678900 + +Rec-ber ::= SEQUENCE { + int1 Number, + int2 Number +} +Rec-ber-literal ::= SEQUENCE { + int1 NumberLit, + int2 NumberLit +} +Number ::= INTEGER +NumberLit ::= NumericString (SIZE (100)) +myNumber Number ::= 12345678910111213141516 + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_16.asn b/function_test/BER_EncDec/BER_EncDecA_16.asn new file mode 100644 index 0000000000000000000000000000000000000000..bbe7664d0b1811136b0a2ca655df1ac63a7594a5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_16.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-16 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_160.asn b/function_test/BER_EncDec/BER_EncDecA_160.asn new file mode 100644 index 0000000000000000000000000000000000000000..3b2180a76d406ac6dda6d119586fcc2436bf9870 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_160.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-160 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN + +IMPORTS; -- nothing + +BERPDU ::= REAL + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_161.asn b/function_test/BER_EncDec/BER_EncDecA_161.asn new file mode 100644 index 0000000000000000000000000000000000000000..ca0c908bf7c0a64cdc404ad7d9d9787322ecaf7a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_161.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-161 + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN + +IMPORTS; -- nothing + +BERPDU ::= REAL + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_162.asn b/function_test/BER_EncDec/BER_EncDecA_162.asn new file mode 100644 index 0000000000000000000000000000000000000000..47d0e434b46f6595291c70f923e2d0108706f056 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_162.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-162 + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN + +IMPORTS; -- nothing + +BERPDU ::= REAL + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_163.asn b/function_test/BER_EncDec/BER_EncDecA_163.asn new file mode 100644 index 0000000000000000000000000000000000000000..63e95129cb76f59d6e467dc1e88a664574122827 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_163.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-163 + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN + +IMPORTS; -- nothing + +BERPDU ::= REAL + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_164.asn b/function_test/BER_EncDec/BER_EncDecA_164.asn new file mode 100644 index 0000000000000000000000000000000000000000..6c4a7409e62f0cd0a54cdaca634f8866c55744eb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_164.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-164 + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN + +IMPORTS; -- nothing + +BERPDU ::= REAL + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_165.asn b/function_test/BER_EncDec/BER_EncDecA_165.asn new file mode 100644 index 0000000000000000000000000000000000000000..4a5cac84572342a9a2508b02ae4069534aef4017 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_165.asn @@ -0,0 +1,74 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-165 + +DEFINITIONS ::= +BEGIN + +MY-CLASS-1 ::= CLASS +{ +&TypeField OPTIONAL, +&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL + +} +WITH SYNTAX +{ +[TYPE FIELD &TypeField] +[FIXED VALUE TYPE FIELD &fixedTypeValueField] +} + +ASN1-Type1 ::= INTEGER + +ASN1-Type2 ::= BOOLEAN + +ASN1-Type3 ::= SEQUENCE {f1 INTEGER} + +ASN1-Type4 ::= OCTET STRING + +myObject-1 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type3 +FIXED VALUE TYPE FIELD 999 +} + +myObject-2 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type2 +FIXED VALUE TYPE FIELD 888 +} + +myObject-3 MY-CLASS-1 ::= +{ +TYPE FIELD ASN1-Type4 +FIXED VALUE TYPE FIELD 555 +} + +MyInformationObjectSet1 MY-CLASS-1 ::= +{ +myObject-1|myObject-2, +... +} + +MyInformationObjectSet2 MY-CLASS-1 ::= +{ +MyInformationObjectSet1|myObject-3, +... +} + +BERPDU ::= SEQUENCE +{ +field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), +field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) +} + +END diff --git a/function_test/BER_EncDec/BER_EncDecA_17.asn b/function_test/BER_EncDec/BER_EncDecA_17.asn new file mode 100644 index 0000000000000000000000000000000000000000..99a396a3ff2149114c44de581733aacd76e29699 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_17.asn @@ -0,0 +1,32 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-17 + + +DEFINITIONS + +EXPLICIT TAGS + +::= + +BEGIN + +BERPDU ::= [0] SET + { + c INTEGER OPTIONAL, + b BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_18.asn b/function_test/BER_EncDec/BER_EncDecA_18.asn new file mode 100644 index 0000000000000000000000000000000000000000..3170f2cd20e18a60e0e69e9be3cd1cb7f802e914 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_18.asn @@ -0,0 +1,24 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-18 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] SET + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_19.asn b/function_test/BER_EncDec/BER_EncDecA_19.asn new file mode 100644 index 0000000000000000000000000000000000000000..75fde9be5a2f4e1ea45674247426d283fcdbb9a5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_19.asn @@ -0,0 +1,27 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-19 + + +DEFINITIONS ::= +BEGIN + +BERPDU ::= [0] SET + { + b [1] BOOLEAN OPTIONAL, + c [0] INTEGER OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_2.asn b/function_test/BER_EncDec/BER_EncDecA_2.asn new file mode 100644 index 0000000000000000000000000000000000000000..bcdd6bd4d7e9e2c4c6f4baf0b3deffdfbfb45e7c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_2.asn @@ -0,0 +1,196 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-2 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN + +IMPORTS; + +BERPDU46 ::= SEQUENCE + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + +BERPDU47 ::= SEQUENCE + { + b BOOLEAN DEFAULT TRUE, + c INTEGER OPTIONAL + } + +BERPDU51 ::= [0] SEQUENCE + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + +BERPDU58 ::= [0] SEQUENCE + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } + +BERPDU59 ::= SEQUENCE + { + b [5] BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + +MySeq60 ::= SEQUENCE + {x INTEGER OPTIONAL, + y OCTET STRING} + +BERPDU60 ::= SEQUENCE + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL, + COMPONENTS OF MySeq60 + } + +MySeq61 ::= SEQUENCE + {x [0] INTEGER OPTIONAL, + y OCTET STRING} + +BERPDU61 ::= SEQUENCE + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL, + COMPONENTS OF MySeq61 + } + +MySeq62 ::= SEQUENCE + {x INTEGER OPTIONAL, + y OCTET STRING} +BERPDU62 ::= SEQUENCE + { + b [0] BOOLEAN OPTIONAL, + c BIT STRING OPTIONAL, + COMPONENTS OF MySeq62 + } + +MySeq63 ::= SEQUENCE + {x [1] INTEGER OPTIONAL, + y OCTET STRING} + +BERPDU63 ::= SEQUENCE + { + b [0] BOOLEAN OPTIONAL, + c BIT STRING OPTIONAL, + COMPONENTS OF MySeq63 + } + +BERPDU64 ::= SEQUENCE + { + b CHOICE { + x BOOLEAN, + y OCTET STRING + } + OPTIONAL, + c INTEGER OPTIONAL + + } + +BERPDU66 ::= SEQUENCE + { + a OCTET STRING, + b BOOLEAN, + ..., + d BIT STRING, + ..., + c INTEGER OPTIONAL + } + +BERPDU68 ::= SEQUENCE + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e REAL, + f BIT STRING, + g OCTET STRING, + + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 BOOLEAN, + y1 OCTET STRING}, + + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + + l SET { x3 BIT STRING, + y3 REAL}, + + m SEQUENCE OF INTEGER, + n SET OF BOOLEAN + } + + +myOBJID-68 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} + +BERPDU70 ::= SEQUENCE + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e NULL, + f BIT STRING, + g OCTET STRING, + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 BOOLEAN, + y1 OCTET STRING}, + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + l SET { x3 BIT STRING, + y3 NULL}, + m SEQUENCE OF INTEGER, + n SET OF BOOLEAN + } + +BERPDU85 ::= SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + +BERPDU86 ::= SET + { + + c INTEGER OPTIONAL, + b BOOLEAN OPTIONAL + } + +BERPDU87 ::= SET + { + b BOOLEAN DEFAULT TRUE, + c INTEGER OPTIONAL + } + +BERPDU88 ::= SET + { + c INTEGER OPTIONAL, + b BOOLEAN DEFAULT TRUE + } + +myOBJID-70 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_20.asn b/function_test/BER_EncDec/BER_EncDecA_20.asn new file mode 100644 index 0000000000000000000000000000000000000000..f0a2278b5c4426478f56115db7660b0e7bb74c1b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_20.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-20 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] SET + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_21.asn b/function_test/BER_EncDec/BER_EncDecA_21.asn new file mode 100644 index 0000000000000000000000000000000000000000..b7d22490ff6906f0f9cd65ebbcda28fd45f90f4c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_21.asn @@ -0,0 +1,32 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-21 + + +DEFINITIONS + +EXPLICIT TAGS + +::= + +BEGIN + +BERPDU ::= [0] SET + { + b [1] BOOLEAN OPTIONAL, + c [0] INTEGER OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_22.asn b/function_test/BER_EncDec/BER_EncDecA_22.asn new file mode 100644 index 0000000000000000000000000000000000000000..b531efec8309c78876533861f599e482b3bf9d2c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_22.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-22 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] SET + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_23.asn b/function_test/BER_EncDec/BER_EncDecA_23.asn new file mode 100644 index 0000000000000000000000000000000000000000..aebd946b95a95d1bc5c58c964f0941350b928753 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_23.asn @@ -0,0 +1,33 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-23 + + +DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +BERPDU ::= [0] SET + { + + c [1] INTEGER OPTIONAL, + b [0] BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_24.asn b/function_test/BER_EncDec/BER_EncDecA_24.asn new file mode 100644 index 0000000000000000000000000000000000000000..adde761c15b52b973ab5748916c1a633292cc502 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_24.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-24 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= [0] SET + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_25.asn b/function_test/BER_EncDec/BER_EncDecA_25.asn new file mode 100644 index 0000000000000000000000000000000000000000..203a576c4aa714e623d6018e59c15904c24315c7 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_25.asn @@ -0,0 +1,33 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-25 + + +DEFINITIONS + +AUTOMATIC TAGS + +::= + +BEGIN + +BERPDU ::= [0] SET + { + + c [0] INTEGER OPTIONAL, + b [1] BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_26.asn b/function_test/BER_EncDec/BER_EncDecA_26.asn new file mode 100644 index 0000000000000000000000000000000000000000..da787608e1b1c0e0087d4bf451144cb78591079d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_26.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-26 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= SET + { + b [5] BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_27.asn b/function_test/BER_EncDec/BER_EncDecA_27.asn new file mode 100644 index 0000000000000000000000000000000000000000..30b24b50ff9c4abe948d42ed6a21b0e76788268b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_27.asn @@ -0,0 +1,30 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-27 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +MySeq ::= SET + {x INTEGER OPTIONAL, + y OCTET STRING} +BERPDU ::= SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL, + COMPONENTS OF MySeq + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_28.asn b/function_test/BER_EncDec/BER_EncDecA_28.asn new file mode 100644 index 0000000000000000000000000000000000000000..40178674e0360a9d2cd33bb5207b1db90fc470e4 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_28.asn @@ -0,0 +1,42 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-28 + + +DEFINITIONS + +AUTOMATIC TAGS + + +::= + +BEGIN + +MySeq ::= SET + {y OCTET STRING, + + x INTEGER OPTIONAL + } + + + +BERPDU ::= SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL, + COMPONENTS OF MySeq + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_29.asn b/function_test/BER_EncDec/BER_EncDecA_29.asn new file mode 100644 index 0000000000000000000000000000000000000000..538be71fa2ee50f707eb1c20ec4d39c72c72dbfb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_29.asn @@ -0,0 +1,30 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-29 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +MySeq ::= SET + {x [0] INTEGER OPTIONAL, + y OCTET STRING} +BERPDU ::= SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL, + COMPONENTS OF MySeq + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_3.asn b/function_test/BER_EncDec/BER_EncDecA_3.asn new file mode 100644 index 0000000000000000000000000000000000000000..184738baf6314d931f196bbde54acda8dce4d649 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_3.asn @@ -0,0 +1,38 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-3 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN + +IMPORTS; + +BERPDU55 ::= SEQUENCE + { + b [30] IMPLICIT BOOLEAN OPTIONAL, + c [31] IMPLICIT INTEGER OPTIONAL + } + +BERPDU56 ::= [0] SEQUENCE + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } + +BERPDU80 ::= [0] SEQUENCE OF BOOLEAN + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_30.asn b/function_test/BER_EncDec/BER_EncDecA_30.asn new file mode 100644 index 0000000000000000000000000000000000000000..de5037100fd14996404e7a0e14e024841f24934b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_30.asn @@ -0,0 +1,40 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-30 + + +DEFINITIONS + +AUTOMATIC TAGS + +::= + +BEGIN + +MySeq ::= SET + {y OCTET STRING, + x [0] INTEGER OPTIONAL + } + + + +BERPDU ::= SET + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL, + COMPONENTS OF MySeq + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_31.asn b/function_test/BER_EncDec/BER_EncDecA_31.asn new file mode 100644 index 0000000000000000000000000000000000000000..78b27c7d926522e2a8ffba49c5ac414e7cc51414 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_31.asn @@ -0,0 +1,30 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-31 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +MySeq ::= SET + {x INTEGER OPTIONAL, + y OCTET STRING} +BERPDU ::= SET + { + b [0] BOOLEAN OPTIONAL, + c BIT STRING OPTIONAL, + COMPONENTS OF MySeq + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_32.asn b/function_test/BER_EncDec/BER_EncDecA_32.asn new file mode 100644 index 0000000000000000000000000000000000000000..aafa600cc664c0f4bdc44dcf77ddac337f300602 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_32.asn @@ -0,0 +1,41 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-32 + + +DEFINITIONS + +AUTOMATIC TAGS + +::= + +BEGIN + + +MySeq ::= SET + {y OCTET STRING, + x INTEGER OPTIONAL + } + + + +BERPDU ::= SET + { + b [0] BOOLEAN OPTIONAL, + c BIT STRING OPTIONAL, + COMPONENTS OF MySeq + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_33.asn b/function_test/BER_EncDec/BER_EncDecA_33.asn new file mode 100644 index 0000000000000000000000000000000000000000..cd336453737bd40d50bef9d815651091e37cdfe5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_33.asn @@ -0,0 +1,29 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-33 + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +MySeq ::= SET + {x [1] INTEGER OPTIONAL, + y OCTET STRING} +BERPDU ::= SET + { + b [0] BOOLEAN OPTIONAL, + c BIT STRING OPTIONAL, + COMPONENTS OF MySeq + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_34.asn b/function_test/BER_EncDec/BER_EncDecA_34.asn new file mode 100644 index 0000000000000000000000000000000000000000..ca6d1146ec16cb74c2197b39965313d56cf2ad9d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_34.asn @@ -0,0 +1,41 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-34 + + +DEFINITIONS + +AUTOMATIC TAGS + +::= + +BEGIN + +MySeq ::= SET + { y OCTET STRING, + x [1] INTEGER OPTIONAL + } + + + +BERPDU ::= SET + { + b [0] BOOLEAN OPTIONAL, + c BIT STRING OPTIONAL, + COMPONENTS OF MySeq + } + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_35.asn b/function_test/BER_EncDec/BER_EncDecA_35.asn new file mode 100644 index 0000000000000000000000000000000000000000..af0e2c397a457924adf4b3e7a4ebb9fa7e6b848c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_35.asn @@ -0,0 +1,30 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-35 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= SET + { + b CHOICE { + x BOOLEAN, + y OCTET STRING + } + OPTIONAL, + c INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_36.asn b/function_test/BER_EncDec/BER_EncDecA_36.asn new file mode 100644 index 0000000000000000000000000000000000000000..d34abc5056a4e44db89a6e38e05d346e1a64126e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_36.asn @@ -0,0 +1,43 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-36 + + +DEFINITIONS + +AUTOMATIC TAGS + +::= + +BEGIN + + + + +BERPDU ::= SET + { + + + c INTEGER OPTIONAL, + b CHOICE { + x BOOLEAN, + y OCTET STRING + } + OPTIONAL + + } + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_37.asn b/function_test/BER_EncDec/BER_EncDecA_37.asn new file mode 100644 index 0000000000000000000000000000000000000000..9eb414e15846d703ed84f7327a6ceb4c02a9b35e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_37.asn @@ -0,0 +1,29 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-37 + + +DEFINITIONS +::= +BEGIN +BERPDU ::= SET + { + b CHOICE { + x BOOLEAN, + y OCTET STRING + } + OPTIONAL, + c INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_38.asn b/function_test/BER_EncDec/BER_EncDecA_38.asn new file mode 100644 index 0000000000000000000000000000000000000000..8ddc6495448bb43d6483b292c4d75130f5feaafe --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_38.asn @@ -0,0 +1,29 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-38 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= SET + { + a OCTET STRING, + b BOOLEAN, + c INTEGER OPTIONAL, + ..., + d BIT STRING + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_39.asn b/function_test/BER_EncDec/BER_EncDecA_39.asn new file mode 100644 index 0000000000000000000000000000000000000000..5638a52cee641079945710f2951cfcb8f10be985 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_39.asn @@ -0,0 +1,48 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-39 + + +DEFINITIONS ::= +BEGIN + +BERPDU ::= SET + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e REAL, + f BIT STRING, + g OCTET STRING, + + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 [1] BOOLEAN, + y1 [2] OCTET STRING}, + + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + + l SET { x3 BIT STRING, + y3 REAL}, + + m [3] SEQUENCE OF INTEGER, + n [4] SET OF BOOLEAN + } + +myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_4.asn b/function_test/BER_EncDec/BER_EncDecA_4.asn new file mode 100644 index 0000000000000000000000000000000000000000..a87ef377ea94dbc673ccf32c923d0de88ab8e616 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_4.asn @@ -0,0 +1,63 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-4 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN + +IMPORTS; + +BERPDU52 ::= SEQUENCE + { + b [30] EXPLICIT BOOLEAN OPTIONAL, + c [31] EXPLICIT INTEGER OPTIONAL + } + +BERPDU53 ::= [0] SEQUENCE + { + b BOOLEAN OPTIONAL, + c INTEGER OPTIONAL + } + +BERPDU57 ::= [0] SEQUENCE + { + b [0] BOOLEAN OPTIONAL, + c [1] INTEGER OPTIONAL + } + +BERPDU81 ::= [0] SEQUENCE OF BOOLEAN + +BERPDU88 ::= SET + { + b [30] IMPLICIT BOOLEAN OPTIONAL, + c [31] IMPLICIT INTEGER OPTIONAL + } + +BERPDU89 ::= SET + { + c [31] IMPLICIT INTEGER OPTIONAL, + b [30] IMPLICIT BOOLEAN OPTIONAL + } + +BERPDU90 ::= SET + { + c [31] EXPLICIT INTEGER OPTIONAL, + b [30] EXPLICIT BOOLEAN OPTIONAL + + } + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_40.asn b/function_test/BER_EncDec/BER_EncDecA_40.asn new file mode 100644 index 0000000000000000000000000000000000000000..3ba8e9725c8964c45124d65aea871e910131c8bb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_40.asn @@ -0,0 +1,42 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-40 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= SET + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e REAL, + f BIT STRING, + g OCTET STRING, + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 BOOLEAN, + y1 OCTET STRING}, + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + l SET { x3 BIT STRING, + y3 REAL}, + m SEQUENCE OF INTEGER, + n SET OF BOOLEAN + } +myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_41.asn b/function_test/BER_EncDec/BER_EncDecA_41.asn new file mode 100644 index 0000000000000000000000000000000000000000..1cfe2f50d8ca693defe5d01541f76d533caf72dd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_41.asn @@ -0,0 +1,27 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-41 + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= SET + { + d [PRIVATE 0] INTEGER OPTIONAL, + a INTEGER OPTIONAL, + b [APPLICATION 0] INTEGER OPTIONAL, + c [0] INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_42.asn b/function_test/BER_EncDec/BER_EncDecA_42.asn new file mode 100644 index 0000000000000000000000000000000000000000..8feea506126df30808a01fd4633d60abd1f4eb2f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_42.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-42 + +DEFINITIONS +::= +BEGIN +BERPDU ::= SET + { + d [PRIVATE 0] INTEGER OPTIONAL, + a INTEGER OPTIONAL, + b [APPLICATION 0] INTEGER OPTIONAL, + c [0] INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_43.asn b/function_test/BER_EncDec/BER_EncDecA_43.asn new file mode 100644 index 0000000000000000000000000000000000000000..157271de3cbf27b7cf9fcca0c1edb9c6026b4cba --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_43.asn @@ -0,0 +1,27 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-43 + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= SET + { + d [PRIVATE 0] INTEGER OPTIONAL, + a INTEGER OPTIONAL, + b [APPLICATION 0] INTEGER OPTIONAL, + c [0] INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_44.asn b/function_test/BER_EncDec/BER_EncDecA_44.asn new file mode 100644 index 0000000000000000000000000000000000000000..4ac8633b2ebefaacc81d120031e8acd57e0b211d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_44.asn @@ -0,0 +1,41 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-44 + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= SET + { + a [3] INTEGER, + b [1] CHOICE + { + c [2] INTEGER, + d [4] INTEGER + }, + e CHOICE + { + f CHOICE + { + g [5] INTEGER, + h [6] INTEGER + }, + i CHOICE + { + j [0] INTEGER + } + } + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_45.asn b/function_test/BER_EncDec/BER_EncDecA_45.asn new file mode 100644 index 0000000000000000000000000000000000000000..88aaf2a0b0e97b0b164b79b214cabbea1859fbf9 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_45.asn @@ -0,0 +1,41 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-45 + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= SET + { + a [3] INTEGER, + b [1] CHOICE + { + c [2] INTEGER, + d [4] INTEGER + }, + e CHOICE + { + f CHOICE + { + g [5] INTEGER, + h [6] INTEGER + }, + i CHOICE + { + j [0] INTEGER + } + } + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_46.asn b/function_test/BER_EncDec/BER_EncDecA_46.asn new file mode 100644 index 0000000000000000000000000000000000000000..934dd7f4d89ed77fb335a814bb85f76cc346af0a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_46.asn @@ -0,0 +1,27 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-46 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET + { + + c INTEGER OPTIONAL, + b BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_47.asn b/function_test/BER_EncDec/BER_EncDecA_47.asn new file mode 100644 index 0000000000000000000000000000000000000000..8bca4d980375456d2e7382aef24238aebafd8ac3 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_47.asn @@ -0,0 +1,40 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-47 + +DEFINITIONS +::= +BEGIN +BERPDU ::= SET + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + --e REAL, + f BIT STRING, + g OCTET STRING, + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 [1] BOOLEAN, + y1 [2] OCTET STRING}, + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + l SET { x3 BIT STRING, + y3 NULL}, + m [3] SEQUENCE OF INTEGER, + n [4] SET OF BOOLEAN + } +myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_48.asn b/function_test/BER_EncDec/BER_EncDecA_48.asn new file mode 100644 index 0000000000000000000000000000000000000000..81cc11c1c16376d6c436e2d02132686076ae4793 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_48.asn @@ -0,0 +1,41 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-48 + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= SET + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e NULL, + f BIT STRING, + g OCTET STRING, + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 BOOLEAN, + y1 OCTET STRING}, + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + l SET { x3 BIT STRING, + y3 NULL}, + m SEQUENCE OF INTEGER, + n SET OF BOOLEAN + } +myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_49.asn b/function_test/BER_EncDec/BER_EncDecA_49.asn new file mode 100644 index 0000000000000000000000000000000000000000..9b18d019a78ef57786752ac372d9879453e07035 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_49.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-49 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF INTEGER +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_5.asn b/function_test/BER_EncDec/BER_EncDecA_5.asn new file mode 100644 index 0000000000000000000000000000000000000000..0c7da204331ef440be55c721487fcaa3e0f2a722 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_5.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-5 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= SET + { + b [30] IMPLICIT BOOLEAN OPTIONAL, + c [31] IMPLICIT INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_50.asn b/function_test/BER_EncDec/BER_EncDecA_50.asn new file mode 100644 index 0000000000000000000000000000000000000000..4821551dcf4be305845c862539aae7f12aa7f30a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_50.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-50 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF BOOLEAN +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_51.asn b/function_test/BER_EncDec/BER_EncDecA_51.asn new file mode 100644 index 0000000000000000000000000000000000000000..0298b7649a21104ea9e9cb6cfcce3c19f7bbfa13 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_51.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-51 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF OCTET STRING +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_52.asn b/function_test/BER_EncDec/BER_EncDecA_52.asn new file mode 100644 index 0000000000000000000000000000000000000000..7943e41319f30712014083fb39d5c0d06bb66857 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_52.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-52 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN} +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_53.asn b/function_test/BER_EncDec/BER_EncDecA_53.asn new file mode 100644 index 0000000000000000000000000000000000000000..061c01b96c1fc58e9a5431289095a2c37abe5144 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_53.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-53 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN} +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_54.asn b/function_test/BER_EncDec/BER_EncDecA_54.asn new file mode 100644 index 0000000000000000000000000000000000000000..4c3265a3485d924a29eb5f1ab04ce49036b852bb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_54.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-54 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN} +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_55.asn b/function_test/BER_EncDec/BER_EncDecA_55.asn new file mode 100644 index 0000000000000000000000000000000000000000..2e1fd082446d56e889b0ca2f388a2e740eb849bd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_55.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-55 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF SEQUENCE OF INTEGER +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_56.asn b/function_test/BER_EncDec/BER_EncDecA_56.asn new file mode 100644 index 0000000000000000000000000000000000000000..ed305666afd898df9e613fb9938319990ec21ae3 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_56.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-56 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET OF SET OF INTEGER +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_57.asn b/function_test/BER_EncDec/BER_EncDecA_57.asn new file mode 100644 index 0000000000000000000000000000000000000000..694a86980c85370a8b14c917c4492870c448cf16 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_57.asn @@ -0,0 +1,20 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-57 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= [0] SET OF BOOLEAN +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_58.asn b/function_test/BER_EncDec/BER_EncDecA_58.asn new file mode 100644 index 0000000000000000000000000000000000000000..758c160c505fc0d329a3c5da0e999e5f64d8c354 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_58.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-58 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] SET OF BOOLEAN +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_59.asn b/function_test/BER_EncDec/BER_EncDecA_59.asn new file mode 100644 index 0000000000000000000000000000000000000000..1fa0b6edb8a98bba9cb61f45ecd110a26abf6ff0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_59.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-59 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] SET OF BOOLEAN +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_6.asn b/function_test/BER_EncDec/BER_EncDecA_6.asn new file mode 100644 index 0000000000000000000000000000000000000000..8a6f3e9280b2f2f78dc9eac7279251283e5166cd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_6.asn @@ -0,0 +1,33 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-6 + + +DEFINITIONS + +EXPLICIT TAGS + +::= + +BEGIN + +BERPDU ::= SET + { + c [31] IMPLICIT INTEGER OPTIONAL, + b [30] IMPLICIT BOOLEAN OPTIONAL + + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_60.asn b/function_test/BER_EncDec/BER_EncDecA_60.asn new file mode 100644 index 0000000000000000000000000000000000000000..f1993c8d6c6e928b7a87fc3966a605c43c798268 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_60.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-60 + + +DEFINITIONS ::= +BEGIN + +BERPDU ::= SET OF OCTET STRING + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_61.asn b/function_test/BER_EncDec/BER_EncDecA_61.asn new file mode 100644 index 0000000000000000000000000000000000000000..bf152d7d74bd762cf7e9ff33a6515f61c650ee85 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_61.asn @@ -0,0 +1,46 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-61 + + +DEFINITIONS ::= +BEGIN + +BERPDU ::= CHOICE + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e REAL, + f BIT STRING, + g OCTET STRING, + + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 [1] BOOLEAN, + y1 [2] OCTET STRING}, + + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + + l SET { x3 BIT STRING, + y3 REAL}, + + m [3] SEQUENCE OF INTEGER, + n [4] SET OF BOOLEAN + } + +myValue8 BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)} +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_62.asn b/function_test/BER_EncDec/BER_EncDecA_62.asn new file mode 100644 index 0000000000000000000000000000000000000000..87684863fac838d85cf4dc83d0018316bb3c1083 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_62.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-62 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b BOOLEAN, + c INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_63.asn b/function_test/BER_EncDec/BER_EncDecA_63.asn new file mode 100644 index 0000000000000000000000000000000000000000..139d35fe5bbcaa5658f0e27941e488bf6ec1e50b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_63.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-63 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b BOOLEAN, + c INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_64.asn b/function_test/BER_EncDec/BER_EncDecA_64.asn new file mode 100644 index 0000000000000000000000000000000000000000..0b7e306b2b468a3a43c69bc58076958d4468df9e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_64.asn @@ -0,0 +1,24 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-64 + +DEFINITIONS +::= +BEGIN +BERPDU ::= CHOICE + { + b BOOLEAN, + c INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_65.asn b/function_test/BER_EncDec/BER_EncDecA_65.asn new file mode 100644 index 0000000000000000000000000000000000000000..9383eac386206eb1dbf57c63af61b46c7b4d3dcd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_65.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-65 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b BOOLEAN, + c INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_66.asn b/function_test/BER_EncDec/BER_EncDecA_66.asn new file mode 100644 index 0000000000000000000000000000000000000000..6495275ea470c3d58bc421d53054d6211788c029 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_66.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-66 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_67.asn b/function_test/BER_EncDec/BER_EncDecA_67.asn new file mode 100644 index 0000000000000000000000000000000000000000..7530f5b22cd9c99ad23633e038fd15bcadae4376 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_67.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-67 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_68.asn b/function_test/BER_EncDec/BER_EncDecA_68.asn new file mode 100644 index 0000000000000000000000000000000000000000..f3f5f81f20d7a622260bcab36c408e8cfc135b10 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_68.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-68 + + +DEFINITIONS ::= +BEGIN + +BERPDU ::= CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_69.asn b/function_test/BER_EncDec/BER_EncDecA_69.asn new file mode 100644 index 0000000000000000000000000000000000000000..66ceb62419de331aa97cfb69a264665b6cc8bf43 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_69.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-69 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_7.asn b/function_test/BER_EncDec/BER_EncDecA_7.asn new file mode 100644 index 0000000000000000000000000000000000000000..d59ec63d7078df15d7c59c60b4ce236f577a7026 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_7.asn @@ -0,0 +1,24 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-7 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= SET + { + b [30] EXPLICIT BOOLEAN OPTIONAL, + c [31] EXPLICIT INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_70.asn b/function_test/BER_EncDec/BER_EncDecA_70.asn new file mode 100644 index 0000000000000000000000000000000000000000..f4d53847dc51d51e71b750bf8d5e9ea2fd5932e6 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_70.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-70 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] IMPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_71.asn b/function_test/BER_EncDec/BER_EncDecA_71.asn new file mode 100644 index 0000000000000000000000000000000000000000..6cce598dc0a5cd92a12fa267d874c0a004722efb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_71.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-71 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] IMPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_72.asn b/function_test/BER_EncDec/BER_EncDecA_72.asn new file mode 100644 index 0000000000000000000000000000000000000000..efb217dbb71b00d117eb5d6d15e3aa2c6d025d4c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_72.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-72 + + +DEFINITIONS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] IMPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_73.asn b/function_test/BER_EncDec/BER_EncDecA_73.asn new file mode 100644 index 0000000000000000000000000000000000000000..7fd5d1265db2302aeb55fb303495ca1cfb33110f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_73.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-73 + + +DEFINITIONS +AUTOMATIC TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] IMPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_74.asn b/function_test/BER_EncDec/BER_EncDecA_74.asn new file mode 100644 index 0000000000000000000000000000000000000000..7684c9b526ee4583548d6e2df95c05339e016c0c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_74.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-74 + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] EXPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_75.asn b/function_test/BER_EncDec/BER_EncDecA_75.asn new file mode 100644 index 0000000000000000000000000000000000000000..7915c44aaf8597859d50050a505b42de08b69215 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_75.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-75 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] EXPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_76.asn b/function_test/BER_EncDec/BER_EncDecA_76.asn new file mode 100644 index 0000000000000000000000000000000000000000..df77767c1594cf41da94dfc18866561a46ebad61 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_76.asn @@ -0,0 +1,24 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-76 + +DEFINITIONS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] EXPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_77.asn b/function_test/BER_EncDec/BER_EncDecA_77.asn new file mode 100644 index 0000000000000000000000000000000000000000..34a1df3c2109d6f91a23dbac7452e810cfa5609b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_77.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-77 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= CHOICE + { + b [3] EXPLICIT BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_78.asn b/function_test/BER_EncDec/BER_EncDecA_78.asn new file mode 100644 index 0000000000000000000000000000000000000000..ef943f9301c496c539987333fe1a0d23c80e5b4e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_78.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-78 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_79.asn b/function_test/BER_EncDec/BER_EncDecA_79.asn new file mode 100644 index 0000000000000000000000000000000000000000..faa0511c57c0c9f5ca59fdc23a193fb513775582 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_79.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-79 + + +DEFINITIONS +EXPLICIT TAGS +::= +BEGIN +BERPDU ::= [0] CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_8.asn b/function_test/BER_EncDec/BER_EncDecA_8.asn new file mode 100644 index 0000000000000000000000000000000000000000..6bc35858767247e868d2842d372547331dec15d5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_8.asn @@ -0,0 +1,28 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-8 + + +DEFINITIONS ::= +BEGIN + +BERPDU ::= SET + { + + c [31] EXPLICIT INTEGER OPTIONAL, + b [30] EXPLICIT BOOLEAN OPTIONAL + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_80.asn b/function_test/BER_EncDec/BER_EncDecA_80.asn new file mode 100644 index 0000000000000000000000000000000000000000..d69ab7712d0500a9cfb863bf2b96c59764f2c803 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_80.asn @@ -0,0 +1,25 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-80 + + +DEFINITIONS +::= +BEGIN +BERPDU ::= [0] CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_81.asn b/function_test/BER_EncDec/BER_EncDecA_81.asn new file mode 100644 index 0000000000000000000000000000000000000000..f49dd398d228675a0e07fb262a364e9d8c5a980b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_81.asn @@ -0,0 +1,32 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-81 + + +DEFINITIONS + +AUTOMATIC TAGS + +::= + +BEGIN + +BERPDU ::= [0] CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_82.asn b/function_test/BER_EncDec/BER_EncDecA_82.asn new file mode 100644 index 0000000000000000000000000000000000000000..5b9575e4b3603e01213b9bd7d6cd9c4764ffb213 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_82.asn @@ -0,0 +1,46 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-82 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= CHOICE + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e REAL, + f BIT STRING, + g OCTET STRING, + + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 [1] BOOLEAN, + y1 [2] OCTET STRING}, + + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + + l SET { x3 BIT STRING, + y3 OCTET STRING}, + + m [3] SEQUENCE OF INTEGER, + n [4] SET OF BOOLEAN + } + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_83.asn b/function_test/BER_EncDec/BER_EncDecA_83.asn new file mode 100644 index 0000000000000000000000000000000000000000..4de11429824f93b71880f6f72add61a38d051b61 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_83.asn @@ -0,0 +1,46 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-83 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= CHOICE + { + a NULL, + b BOOLEAN, + c INTEGER, + d ENUMERATED {first ,second ,third}, + e REAL, + f BIT STRING, + g OCTET STRING, + + h OBJECT IDENTIFIER, + i IA5String, + j CHOICE {x1 [1] BOOLEAN, + y1 [2] OCTET STRING}, + + k SEQUENCE{x2 NULL, + y2 BOOLEAN}, + + l SET { x3 BIT STRING, + y3 OCTET STRING}, + + m [3] SEQUENCE OF INTEGER, + n [4] SET OF BOOLEAN + } + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_84.asn b/function_test/BER_EncDec/BER_EncDecA_84.asn new file mode 100644 index 0000000000000000000000000000000000000000..ab922e589e1969e4753e2affcd5722d13db1f4f8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_84.asn @@ -0,0 +1,38 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-84 + + +DEFINITIONS + +AUTOMATIC TAGS + + + +::= + +BEGIN + + + +BERPDU ::= [0] CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } + + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_85.asn b/function_test/BER_EncDec/BER_EncDecA_85.asn new file mode 100644 index 0000000000000000000000000000000000000000..44d10a9567601f1841afd71664ee5f2e9e18e8e1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_85.asn @@ -0,0 +1,38 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-85 + + +DEFINITIONS + +AUTOMATIC TAGS + + + +::= + +BEGIN + + + +BERPDU ::= [0] CHOICE + { + b [3] BOOLEAN, + c [6] INTEGER + } + + + + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_86.asn b/function_test/BER_EncDec/BER_EncDecA_86.asn new file mode 100644 index 0000000000000000000000000000000000000000..9a4b847dd1cad1f1d3a116c0e3b3068936593f2f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_86.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-86 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_87.asn b/function_test/BER_EncDec/BER_EncDecA_87.asn new file mode 100644 index 0000000000000000000000000000000000000000..032337b143b295325377fb5aa2985335b8bc81d4 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_87.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-87 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t recommendation a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_88.asn b/function_test/BER_EncDec/BER_EncDecA_88.asn new file mode 100644 index 0000000000000000000000000000000000000000..8b77c507074b41fe0897c53e739853e8d51e111c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_88.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-88 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {0 0 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_89.asn b/function_test/BER_EncDec/BER_EncDecA_89.asn new file mode 100644 index 0000000000000000000000000000000000000000..64cb147309062abc15e39bc07d816d95e83b644d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_89.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-89 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t(0) question(1) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_9.asn b/function_test/BER_EncDec/BER_EncDecA_9.asn new file mode 100644 index 0000000000000000000000000000000000000000..9c12e88ec821d748a106b7c479da139c8744c305 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_9.asn @@ -0,0 +1,26 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-9 + + +DEFINITIONS +IMPLICIT TAGS +::= +BEGIN +BERPDU ::= SET + { + b [30] EXPLICIT BOOLEAN OPTIONAL, + c [31] EXPLICIT INTEGER OPTIONAL + } +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_90.asn b/function_test/BER_EncDec/BER_EncDecA_90.asn new file mode 100644 index 0000000000000000000000000000000000000000..683c77ac5c457170e270d71a9fcb998ecc72a22d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_90.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-90 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t question a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_91.asn b/function_test/BER_EncDec/BER_EncDecA_91.asn new file mode 100644 index 0000000000000000000000000000000000000000..aea072edd7e0caf94acbd0fed4e32fefe6362f85 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_91.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-91 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {0 1 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_92.asn b/function_test/BER_EncDec/BER_EncDecA_92.asn new file mode 100644 index 0000000000000000000000000000000000000000..4a2e08c4015422bf9615354017b9a2a1f785d3a6 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_92.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-92 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t(0) administration(2) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_93.asn b/function_test/BER_EncDec/BER_EncDecA_93.asn new file mode 100644 index 0000000000000000000000000000000000000000..69c3506543060359ae1af1f37a8c5fc1da247745 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_93.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-93 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t administration a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_94.asn b/function_test/BER_EncDec/BER_EncDecA_94.asn new file mode 100644 index 0000000000000000000000000000000000000000..5e680a9b88fe8655bde0b7787a601357889a1a57 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_94.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-94 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {0 2 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_95.asn b/function_test/BER_EncDec/BER_EncDecA_95.asn new file mode 100644 index 0000000000000000000000000000000000000000..b92c0bef1b212148f29f175695ca30ce384b4daf --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_95.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-95 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_96.asn b/function_test/BER_EncDec/BER_EncDecA_96.asn new file mode 100644 index 0000000000000000000000000000000000000000..5097d66dce2f9c317f80f409ca8672e0e4725a39 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_96.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-96 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t network-operator a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_97.asn b/function_test/BER_EncDec/BER_EncDecA_97.asn new file mode 100644 index 0000000000000000000000000000000000000000..59a536ae7cab517a31c81aa685652897fe4c1676 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_97.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-97 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {0 3 a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_98.asn b/function_test/BER_EncDec/BER_EncDecA_98.asn new file mode 100644 index 0000000000000000000000000000000000000000..f774cf56089c8e0916700952d7acde10ecde3dd0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_98.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-98 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDecA_99.asn b/function_test/BER_EncDec/BER_EncDecA_99.asn new file mode 100644 index 0000000000000000000000000000000000000000..56da46ac563ae0a15973835513ca5d71666c4581 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDecA_99.asn @@ -0,0 +1,22 @@ + +--///////////////////////////////////////////////////////////////////////////// +-- 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: +-- Kristof, Szabados +-- +--///////////////////////////////////////////////////////////////////////////// +BER-EncDecA-99 + + +DEFINITIONS ::= +BEGIN +BERPDU ::= OBJECT IDENTIFIER +b BERPDU ::= {itu-t identified-organization a(2) b(3)} + +END + diff --git a/function_test/BER_EncDec/BER_EncDec_1.ttcn b/function_test/BER_EncDec/BER_EncDec_1.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..893d631e0679acb8b3c9aad4b2805f310c176efc --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_1.ttcn @@ -0,0 +1,1605 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_1 { + +import from BER_EncDecA_1 all; + + + +type component Test_CT {} + +external function enc_DER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +external function enc_DER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function enc_DER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +external function dec_BER_PDU1(in octetstring stream) return BERPDU1 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU2(in octetstring stream) return BERPDU2 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU3(in octetstring stream) return BERPDU3 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU4(in octetstring stream) return BERPDU4 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU5(in octetstring stream) return BERPDU5 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU6(in octetstring stream) return BERPDU6 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU7(in octetstring stream) return BERPDU7 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU8(in octetstring stream) return BERPDU8 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU9(in octetstring stream) return BERPDU9 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU10(in octetstring stream) return BERPDU10 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU11(in octetstring stream) return BERPDU11 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU12(in octetstring stream) return BERPDU12 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU13(in octetstring stream) return BERPDU13 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU14(in octetstring stream) return BERPDU14 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU15(in octetstring stream) return BERPDU15 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU16(in octetstring stream) return BERPDU16 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU17(in octetstring stream) return BERPDU17 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU18(in octetstring stream) return BERPDU18 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU19(in octetstring stream) return BERPDU19 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU20(in octetstring stream) return BERPDU20 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU21(in octetstring stream) return BERPDU21 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU22(in octetstring stream) return BERPDU22 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU23(in octetstring stream) return BERPDU23 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU24(in octetstring stream) return BERPDU24 with { extension "prototype(convert) decode(BER)" } +//external function dec_BER_PDU25(in octetstring stream) return BERPDU25 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU26(in octetstring stream) return BERPDU26 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU27(in octetstring stream) return BERPDU27 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU28(in octetstring stream) return BERPDU28 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU29(in octetstring stream) return BERPDU29 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU30(in octetstring stream) return BERPDU30 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU31(in octetstring stream) return BERPDU31 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU32(in octetstring stream) return BERPDU32 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU33(in octetstring stream) return BERPDU33 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } +external function dec_BER_PDU34(in octetstring stream) return BERPDU34 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } +external function dec_BER_PDU35(in octetstring stream) return BERPDU35 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU36(in octetstring stream) return BERPDU36 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } +external function dec_BER_PDU37(in octetstring stream) return BERPDU37 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU38(in octetstring stream) return BERPDU38 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU39(in octetstring stream) return BERPDU39 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU40(in octetstring stream) return BERPDU40 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU41(in octetstring stream) return BERPDU41 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU42(in octetstring stream) return BERPDU42 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU43(in octetstring stream) return BERPDU43 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU44(in octetstring stream) return BERPDU44 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU45(in octetstring stream) return BERPDU45 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU48(in octetstring stream) return BERPDU48 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU49(in octetstring stream) return BERPDU49 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU50(in octetstring stream) return BERPDU50 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU54(in octetstring stream) return BERPDU54 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU65(in octetstring stream) return BERPDU65 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU67(in octetstring stream) return BERPDU67 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU69(in octetstring stream) return BERPDU69 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU71(in octetstring stream) return BERPDU71 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU72(in octetstring stream) return BERPDU72 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU73(in octetstring stream) return BERPDU73 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU74(in octetstring stream) return BERPDU74 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU75(in octetstring stream) return BERPDU75 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU76(in octetstring stream) return BERPDU76 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU77(in octetstring stream) return BERPDU77 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU78(in octetstring stream) return BERPDU78 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU79(in octetstring stream) return BERPDU79 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU82(in octetstring stream) return BERPDU82 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU83(in octetstring stream) return BERPDU83 with { extension "prototype(convert) decode(BER)" } +external function dec_BER_PDU84(in octetstring stream) return BERPDU84 with { extension "prototype(convert) decode(BER)" } + +//********************************************* +// TESTCASES +//********************************************* + +//=========================================== +// DER + CER encoding of BOOLEAN TRUE, FALSE +//=========================================== +testcase tc_DER_CER_encoding_of_BOOLEAN() runs on Test_CT { + const BERPDU1 b1 := true + const BERPDU1 b2 := false + if ((enc_DER_PDU1(b1) == '0101FF'O)and(enc_CER_PDU1(b1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU1(b2) == '010100'O)and(enc_CER_PDU1(b2) == '010100'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER encoding of BOOLEAN with Context Specific TAG, EXPLICIT +//=========================================== +testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit() runs on Test_CT { + const BERPDU2 b := true + if ((enc_DER_PDU2(b) == 'A0030101FF'O)and(enc_CER_PDU2(b) == 'A0800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER encoding of BOOLEAN with PRIVATE TAG, EXPLICIT +//=========================================== +testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT { + const BERPDU3 b := true + + if ((enc_DER_PDU3(b) == 'E1030101FF'O)and(enc_CER_PDU3(b) == 'E1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// DER + CER encoding of BOOLEAN with APPLICATION TAG, EXPLICIT +//=========================================== +testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT { + const BERPDU4 b := true + if ((enc_DER_PDU4(b) == '62030101FF'O)and(enc_CER_PDU4(b) == '62800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER encoding of BOOLEAN with Context Specific TAG, IMPLICIT +//=========================================== +testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT { + const BERPDU5 b := false + if ((enc_DER_PDU5(b) == '800100'O)and(enc_CER_PDU5(b) == '800100'O)) {setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DER + CER encoding of BOOLEAN with Private TAG, IMPLICIT +//=========================================== +testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT { + const BERPDU6 b := false + if ((enc_DER_PDU6(b) == 'C10100'O)and(enc_CER_PDU6(b) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DER + CER encoding of BOOLEAN with Application TAG, IMPLICIT +//=========================================== +testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT { + const BERPDU7 b := true + if ((enc_DER_PDU7(b) == '4201FF'O)and(enc_CER_PDU7(b) == '4201FF'O)) {setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DECODING BOOLEAN, CER+DER, (unified test) +//=========================================== +testcase tc_BER_decoding_of_BOOLEAN() runs on Test_CT { + if (dec_BER_PDU1('0101FF'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU1('010100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU1('01810101'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);} //(LENGTH OF LENGTH = 1) + if (dec_BER_PDU1('0182000100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);}//(LENGTH OF LENGTH = 2) +} + +//=========================================== +// DECODING [0] EXPLICIT BOOLEAN, DER, (unified test) +//=========================================== +testcase tc_DER_decoding_of_BOOLEAN_Explicit() runs on Test_CT { + if (dec_BER_PDU2('A0030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU2('A0800101FF0000'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU2('A081030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU2('A0810401810199'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DECODING [PRIVATE 1] EXPLICIT BOOLEAN, DER-CER, (unified test) +//=========================================== +testcase tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT { + if (dec_BER_PDU3('E1030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//DER + if (dec_BER_PDU3('E1800101FF0000'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//CER + if (dec_BER_PDU3('E181030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long + if (dec_BER_PDU3('E1810401810199'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long +} + +//=========================================== +// DER + CER decoding of BOOLEAN with APPLICATION TAG, EXPLICIT +//=========================================== +testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT { + if (dec_BER_PDU4('62030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU4('62800101FF0000'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU4('6281030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU4('62810401810199'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DECODING [0] IMPLICIT BOOLEAN ,(unified) +//=========================================== +testcase tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT { + if (dec_BER_PDU5('8001FF'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU5('80810133'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DECODING [PRIVATE 1] IMPLICIT BOOLEAN,(unified) +//=========================================== +testcase tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT { + if (dec_BER_PDU6('C10100'O) == myBooleanValue1_6){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU6('C1810105'O) == myBooleanValue2_6){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DECODING [APPLICATION 2] IMPLICIT BOOLEAN,(unified) +//=========================================== +testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT { + if (dec_BER_PDU7('420100'O) == myBooleanValue1_7){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU7('42810188'O) == myBooleanValue2_7){setverdict(pass);} else {setverdict(fail);} +} + + + +//=========================================== +// DER + CER coding of integer (unified) +//=========================================== + +testcase tc_DER_CER_coding_of_INTEGER() runs on Test_CT { + const BERPDU8 b1_8 := 5 + const BERPDU8 b2_8 := 0 + const BERPDU8 b3_8 := 127 + const BERPDU8 b4_8 := -128 + const BERPDU8 b5_8 := -5 + const BERPDU8 b6_8 := 128 + const BERPDU8 b7_8 := -129 + if ((enc_DER_PDU8(b1_8) == '020105'O)and(enc_CER_PDU8(b1_8) == '020105'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU8(b2_8) == '020100'O)and(enc_CER_PDU8(b2_8) == '020100'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU8(b3_8) == '02017F'O)and(enc_CER_PDU8(b3_8) == '02017F'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU8(b4_8) == '020180'O)and(enc_CER_PDU8(b4_8) == '020180'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU8(b5_8) == '0201FB'O)and(enc_CER_PDU8(b5_8) == '0201FB'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU8(b6_8) == '02020080'O)and(enc_CER_PDU8(b6_8) == '02020080'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU8(b7_8) == '0202FF7F'O)and(enc_CER_PDU8(b7_8) == '0202FF7F'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('020105'O) == b8_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('02810105'O) == b8_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('0282000105'O) == b8_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('020100'O) == b9_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('02810100'O) == b9_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('0282000100'O) == b9_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('02017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('0281017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('028200017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('020180'O) == b11_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('02810180'O) == b11_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('0282000180'O) == b11_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('0201FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('028101FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('02820001FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('02020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('0281020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('028200020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('0202FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('028102FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU8('02820002FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer with Context Specific TAG, EXPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit() runs on Test_CT { + const BERPDU9 b1_9 := 5 + const BERPDU9 b2_9 := 0 + const BERPDU9 b3_9 := 127 + const BERPDU9 b4_9 := -128 + const BERPDU9 b5_9 := -5 + const BERPDU9 b6_9 := 128 + const BERPDU9 b7_9 := -129 + if ((enc_DER_PDU9(b1_9) == 'A003020105'O)and(enc_CER_PDU9(b1_9) == 'A0800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU9(b2_9) == 'A003020100'O)and(enc_CER_PDU9(b2_9) == 'A0800201000000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU9(b3_9) == 'A00302017F'O)and(enc_CER_PDU9(b3_9) == 'A08002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU9(b4_9) == 'A003020180'O)and(enc_CER_PDU9(b4_9) == 'A0800201800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU9(b5_9) == 'A0030201FB'O)and(enc_CER_PDU9(b5_9) == 'A0800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU9(b6_9) == 'A00402020080'O)and(enc_CER_PDU9(b6_9) == 'A080020200800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU9(b7_9) == 'A0040202FF7F'O)and(enc_CER_PDU9(b7_9) == 'A0800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0800201050000'O) == b8_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A08103020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0810402810105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0800201000000'O) == b9_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A08103020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0810402810100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A08002017F0000'O) == b10_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0810302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A081040281017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0800201800000'O) == b11_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A08103020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0810402810180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0800201FB0000'O) == b12_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A081030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A08104028101FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A080020200800000'O) == b13_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0810402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A081050281020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0800202FF7F0000'O) == b14_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A081040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU9('A08105028102FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer with PRIVATE TAG, EXPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit() runs on Test_CT { + const BERPDU10 b1_10 := 5 + const BERPDU10 b2_10 := 0 + const BERPDU10 b3_10 := 127 + const BERPDU10 b4_10 := -128 + const BERPDU10 b5_10 := -5 + const BERPDU10 b6_10 := 128 + const BERPDU10 b7_10 := -129 + if ((enc_DER_PDU10(b1_10) == 'E103020105'O)and(enc_CER_PDU10(b1_10) == 'E1800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU10(b2_10) == 'E103020100'O)and(enc_CER_PDU10(b2_10) == 'E1800201000000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU10(b3_10) == 'E10302017F'O)and(enc_CER_PDU10(b3_10) == 'E18002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU10(b4_10) == 'E103020180'O)and(enc_CER_PDU10(b4_10) == 'E1800201800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU10(b5_10) == 'E1030201FB'O)and(enc_CER_PDU10(b5_10) == 'E1800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU10(b6_10) == 'E10402020080'O)and(enc_CER_PDU10(b6_10) == 'E180020200800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU10(b7_10) == 'E1040202FF7F'O)and(enc_CER_PDU10(b7_10) == 'E1800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E10402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E18103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1810402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1800201050000'O) == b8_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E10402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E18103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1810402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1800201000000'O) == b9_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E10302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1810302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E181040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E18002017F0000'O) == b10_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E10402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E18103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1810402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1800201800000'O) == b11_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E181030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E18104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1800201FB0000'O) == b12_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E10402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1810402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E181050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E180020200800000'O) == b13_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E181040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E18105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU10('E1800202FF7F0000'O) == b14_10){setverdict(pass);} else {setverdict(fail);} + +} +//=========================================== +// DER + CER coding of integer with APPLICATION TAG, EXPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit() runs on Test_CT { + const BERPDU11 b1_11 := 5 + const BERPDU11 b2_11 := 0 + const BERPDU11 b3_11 := 127 + const BERPDU11 b4_11 := -128 + const BERPDU11 b5_11 := -5 + const BERPDU11 b6_11 := 128 + const BERPDU11 b7_11 := -129 + if ((enc_DER_PDU11(b1_11) == '6203020105'O)and(enc_CER_PDU11(b1_11) == '62800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU11(b2_11) == '6203020100'O)and(enc_CER_PDU11(b2_11) == '62800201000000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU11(b3_11) == '620302017F'O)and(enc_CER_PDU11(b3_11) == '628002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU11(b4_11) == '6203020180'O)and(enc_CER_PDU11(b4_11) == '62800201800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU11(b5_11) == '62030201FB'O)and(enc_CER_PDU11(b5_11) == '62800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU11(b6_11) == '620402020080'O)and(enc_CER_PDU11(b6_11) == '6280020200800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU11(b7_11) == '62040202FF7F'O)and(enc_CER_PDU11(b7_11) == '62800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6203020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('620402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('628103020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62810402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62800201050000'O) == b8_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6203020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('620402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('628103020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62810402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62800201000000'O) == b9_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('620302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62810302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6281040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('628002017F0000'O) == b10_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6203020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('620402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('628103020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62810402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62800201800000'O) == b11_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6204028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6281030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('628104028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62800201FB0000'O) == b12_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('620402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62810402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6281050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6280020200800000'O) == b13_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6205028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('6281040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('628105028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU11('62800202FF7F0000'O) == b14_11){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DER + CER coding of integer with Context Specific TAG, IMPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit() runs on Test_CT { + const BERPDU11 b1_12 := 5 + const BERPDU11 b2_12 := 0 + const BERPDU11 b3_12 := 127 + const BERPDU11 b4_12 := -128 + const BERPDU11 b5_12 := -5 + const BERPDU11 b6_12 := 128 + const BERPDU11 b7_12 := -129 + if ((enc_DER_PDU12(b1_12) == '800105'O)and(enc_CER_PDU12(b1_12) == '800105'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU12(b2_12) == '800100'O)and(enc_CER_PDU12(b2_12) == '800100'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU12(b3_12) == '80017F'O)and(enc_CER_PDU12(b3_12) == '80017F'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU12(b4_12) == '800180'O)and(enc_CER_PDU12(b4_12) == '800180'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU12(b5_12) == '8001FB'O)and(enc_CER_PDU12(b5_12) == '8001FB'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU12(b6_12) == '80020080'O)and(enc_CER_PDU12(b6_12) == '80020080'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU12(b7_12) == '8002FF7F'O)and(enc_CER_PDU12(b7_12) == '8002FF7F'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('800105'O) == b8_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('80810105'O) == b8_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('800100'O) == b9_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('80810100'O) == b9_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('8081017F'O) == b10_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('800180'O) == b11_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('80810180'O) == b11_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('8001FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('808101FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('80020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('8081020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('8002FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU12('808102FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// DER + CER coding of integer with PRIVATE TAG, IMPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit () runs on Test_CT { + const BERPDU13 b1_13 := 5 + const BERPDU13 b2_13 := 0 + const BERPDU13 b3_13 := 127 + const BERPDU13 b4_13 := -128 + const BERPDU13 b5_13 := -5 + const BERPDU13 b6_13 := 128 + const BERPDU13 b7_13 := -129 + if ((enc_DER_PDU13(b1_13) == 'C10105'O)and(enc_CER_PDU13(b1_13) == 'C10105'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU13(b2_13) == 'C10100'O)and(enc_CER_PDU13(b2_13) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU13(b3_13) == 'C1017F'O)and(enc_CER_PDU13(b3_13) == 'C1017F'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU13(b4_13) == 'C10180'O)and(enc_CER_PDU13(b4_13) == 'C10180'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU13(b5_13) == 'C101FB'O)and(enc_CER_PDU13(b5_13) == 'C101FB'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU13(b6_13) == 'C1020080'O)and(enc_CER_PDU13(b6_13) == 'C1020080'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU13(b7_13) == 'C102FF7F'O)and(enc_CER_PDU13(b7_13) == 'C102FF7F'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C10105'O) == b8_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C1810105'O) == b8_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C10100'O) == b9_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C1810100'O) == b9_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C1017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C181017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C10180'O) == b11_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C1810180'O) == b11_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C18101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C1020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C181020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU13('C18102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer with APPLICATION TAG, IMPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit() runs on Test_CT { + const BERPDU14 b1_14 := 5 + const BERPDU14 b2_14 := 0 + const BERPDU14 b3_14 := 127 + const BERPDU14 b4_14 := -128 + const BERPDU14 b5_14 := -5 + const BERPDU14 b6_14 := 128 + const BERPDU14 b7_14 := -129 + if ((enc_DER_PDU14(b1_14) == '420105'O)and(enc_CER_PDU14(b1_14) == '420105'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU14(b2_14) == '420100'O)and(enc_CER_PDU14(b2_14) == '420100'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU14(b3_14) == '42017F'O)and(enc_CER_PDU14(b3_14) == '42017F'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU14(b4_14) == '420180'O)and(enc_CER_PDU14(b4_14) == '420180'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU14(b5_14) == '4201FB'O)and(enc_CER_PDU14(b5_14) == '4201FB'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU14(b6_14) == '42020080'O)and(enc_CER_PDU14(b6_14) == '42020080'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU14(b7_14) == '4202FF7F'O)and(enc_CER_PDU14(b7_14) == '4202FF7F'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('420105'O) == b8_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('42810105'O) == b8_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('420100'O) == b9_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('42810100'O) == b9_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('42017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('4281017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('420180'O) == b11_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('42810180'O) == b11_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('4201FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('428101FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('42020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('4281020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('4202FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU14('428102FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DER + CER coding of integer (5) with Context Specific TAG = 30, EXPLICIT (unified)) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit() runs on Test_CT { + const BERPDU15 b1_15 := 5 + if ((enc_DER_PDU15(b1_15) == 'BE03020105'O)and(enc_CER_PDU15(b1_15) == 'BE800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU15('BE03020105'O) == b2_15){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU15('BE800201050000'O) == b2_15){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer (5) with Context Specific TAG = 31, EXPLICIT (unified)) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit() runs on Test_CT { + const BERPDU16 b := 5 + if ((enc_DER_PDU16(b) == 'BF1F03020105'O)and(enc_CER_PDU16(b) == 'BF1F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU16('BF1F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU16('BF1F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer (5) with Context Specific TAG = 127, EXPLICIT (unified)) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit() runs on Test_CT { + const BERPDU17 b := 5 + if ((enc_DER_PDU17(b) == 'BF7F03020105'O)and(enc_CER_PDU17(b) == 'BF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU17('BF7F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);} //DER + if (dec_BER_PDU17('BF7F800201050000'O) == b){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer with Context Specific TAG = 128, EXPLICIT +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit() runs on Test_CT { + const BERPDU18 b := 5 + if ((enc_DER_PDU18(b) == 'BF810003020105'O)and(enc_CER_PDU18(b) == 'BF8100800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU18('BF8100800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU18('BF810003020105'O) == b) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer with Context Specific TAG = 16383, EXPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit() runs on Test_CT { + const BERPDU19 b := 5 + if ((enc_DER_PDU19(b) == 'BFFF7F03020105'O)and(enc_CER_PDU19(b) == 'BFFF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU19('BFFF7F03020105'O) == b){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU19('BFFF7F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of integer with Context Specific TAG = 16384, EXPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit() runs on Test_CT { + const BERPDU20 b := 5 + if ((enc_DER_PDU20(b) == 'BF81800003020105'O)and(enc_CER_PDU20(b) == 'BF818000800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU20('BF81800003020105'O) == b){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU20('BF818000800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DER + CER coding of ENUMERATED hardcoded positive (unified) +//=========================================== +testcase tc_DER_CER_coding_of_enumerated_hardcoded_positive() runs on Test_CT { + const BERPDU21 b1 := third + const BERPDU21 b2 := first + const BERPDU21 b3 := second + if ((enc_DER_PDU21(b1) == '0A0109'O)and(enc_CER_PDU21(b1) == '0A0109'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU21(b2) == '0A01FB'O)and(enc_CER_PDU21(b2) == '0A01FB'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU21(b3) == '0A0100'O)and(enc_CER_PDU21(b3) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of ENUMERATED third, no hardcoding (unified) +//=========================================== +testcase tc_DER_CER_coding_of_enumerated_third_no_hardcoding() runs on Test_CT { + const BERPDU22 b1 := third + const BERPDU22 b2 := first + if ((enc_DER_PDU22(b1) == '0A0102'O)and(enc_CER_PDU22(b1) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU22(b2) == '0A0100'O)and(enc_CER_PDU22(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// DER + CER coding of ENUMERATED first (unified) +//=========================================== +testcase tc_DER_CER_coding_of_enumerated_first1() runs on Test_CT { + const BERPDU23 b1 := first + const BERPDU23 b2 := second + const BERPDU23 b3 := third + if ((enc_DER_PDU23(b1) == '0A0101'O)and(enc_CER_PDU23(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU23(b2) == '0A0100'O)and(enc_CER_PDU23(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU23(b3) == '0A0102'O)and(enc_CER_PDU23(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// DER + CER coding of ENUMERATED first (unified) +//=========================================== +testcase tc_DER_CER_coding_of_enumerated_first2() runs on Test_CT { + const BERPDU24 b1 := first + const BERPDU24 b2 := second + const BERPDU24 b3 := third + const BERPDU24 b4 := fourth + const BERPDU24 b5 := fifth + const BERPDU24 b6 := sixth + + if ((enc_DER_PDU24(b1) == '0A0101'O)and(enc_CER_PDU24(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU24(b2) == '0A0100'O)and(enc_CER_PDU24(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU24(b3) == '0A0102'O)and(enc_CER_PDU24(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU24(b4) == '0A0103'O)and(enc_CER_PDU24(b4) == '0A0103'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU24(b5) == '0A0105'O)and(enc_CER_PDU24(b5) == '0A0105'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU24(b6) == '0A0106'O)and(enc_CER_PDU24(b6) == '0A0106'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A0101'O) == b7_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A810101'O) == b7_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A0102'O) == b8_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A810102'O) == b8_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A0103'O) == b9_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A810103'O) == b9_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A0105'O) == b10_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A810105'O) == b10_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A0106'O) == b11_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A810106'O) == b11_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A0100'O) == b12_24){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU24('0A810100'O) == b12_24){setverdict(pass);} else {setverdict(fail);} + +} +//=========================================== +// DER + CER coding of ENUMERATED , tagged, EXPLICIT +//=========================================== +testcase tc_DER_CER_coding_of_enumerated_tagged_explicit_6() runs on Test_CT { + const BERPDU25 b := sixth + if ((enc_DER_PDU25(b) == 'B5030A0106'O)and(enc_CER_PDU25(b) == 'B5800A01060000'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of ENUMERATED , tagged, IMPLICIT (unified) +//=========================================== +testcase tc_DER_CER_coding_of_enumerated_tagged_implicit() runs on Test_CT { + const BERPDU26 b1 := sixth + + if ((enc_DER_PDU26(b1) == '9F580106'O)and(enc_CER_PDU26(b1) == '9F580106'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F580101'O) == b2_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F58810101'O) == b2_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F580100'O) == b3_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F58810100'O) == b3_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F580102'O) == b4_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F58810102'O) == b4_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F580103'O) == b5_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F58810103'O) == b5_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F580105'O) == b6_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F58810105'O) == b6_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F580106'O) == b7_26){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU26('9F58810106'O) == b7_26){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DECODING OF EXPLICIT TAGGED ENUMERATED, (unified) +//=========================================== +testcase tc_decoding_of_explicit_tagged_enumerated() runs on Test_CT { + + if (dec_BER_PDU27('A0030A0101'O) == b1_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0800A01010000'O) == b1_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A081040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0030A0100'O) == b2_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0800A01000000'O) == b2_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A081040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0030A0102'O) == b3_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0800A01020000'O) == b3_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A081040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0030A0103'O) == b4_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0800A01030000'O) == b4_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A081040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0030A0105'O) == b5_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0800A01050000'O) == b5_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A081040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0030A0106'O) == b6_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0800A01060000'O) == b6_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A0040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU27('A081040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER coding of REAL, (unified) +//=========================================== +testcase tc_CER_DER_coding_of_real() runs on Test_CT { + if ((enc_DER_PDU28(b1_28) == '0900'O)and(enc_CER_PDU28(b1_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b2_28) == '0900'O)and(enc_CER_PDU28(b2_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b3_28) == '0900'O)and(enc_CER_PDU28(b3_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b4_28) == '0900'O)and(enc_CER_PDU28(b4_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b5_28) == '0900'O)and(enc_CER_PDU28(b5_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b6_28) == '0900'O)and(enc_CER_PDU28(b6_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b7_28) == '0900'O)and(enc_CER_PDU28(b7_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b8_28) == '0900'O)and(enc_CER_PDU28(b8_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b9_28) == '0900'O)and(enc_CER_PDU28(b9_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b10_28) == '0900'O)and(enc_CER_PDU28(b10_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b11_28) == '0900'O)and(enc_CER_PDU28(b11_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b12_28) == '0900'O)and(enc_CER_PDU28(b12_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b13_28) == '0900'O)and(enc_CER_PDU28(b13_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b14_28) == '0900'O)and(enc_CER_PDU28(b14_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b15_28) == '090603312E452B30'O)and(enc_CER_PDU28(b15_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b16_28) == '090603312E452B30'O)and(enc_CER_PDU28(b16_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b17_28) == '090603312E452B30'O)and(enc_CER_PDU28(b17_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b18_28) == '090603312E452B30'O)and(enc_CER_PDU28(b18_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b19_28) == '090603312E452B30'O)and(enc_CER_PDU28(b19_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b20_28) == '090603312E452B30'O)and(enc_CER_PDU28(b20_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b21_28) == '090603312E452B30'O)and(enc_CER_PDU28(b21_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b22_28) == '090603312E452B30'O)and(enc_CER_PDU28(b22_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b23_28) == '090603312E452B30'O)and(enc_CER_PDU28(b23_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b24_28) == '090603312E452B30'O)and(enc_CER_PDU28(b24_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b25_28) == '090603312E452B30'O)and(enc_CER_PDU28(b25_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b26_28) == '090603312E452B30'O)and(enc_CER_PDU28(b26_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b27_28) == '090603312E452B30'O)and(enc_CER_PDU28(b27_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b28_28) == '090603322E452B30'O)and(enc_CER_PDU28(b28_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b29_28) == '090603322E452B30'O)and(enc_CER_PDU28(b29_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b30_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b30_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b31_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b31_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b32_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b32_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b33_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b33_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b34_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b34_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b35_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b35_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b36_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b36_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b37_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b37_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b38_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b38_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b39_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b39_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b40_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b40_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b41_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b41_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b42_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b42_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b43_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b43_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b44_28) == '090603312E452B30'O)and(enc_CER_PDU28(b44_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b45_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b45_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b46_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b46_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b47_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b47_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b48_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b48_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b49_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b49_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b50_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b50_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b51_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b51_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b52_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b52_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b53_28) == '09070333342E452D32'O)and(enc_CER_PDU28(b53_28) == '09070333342E452D32'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b54_28) == '0908033334342E452D33'O)and(enc_CER_PDU28(b54_28) == '0908033334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b55_28) == '0908033334352E452D33'O)and(enc_CER_PDU28(b55_28) == '0908033334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b56_28) == '09070333342E452D33'O)and(enc_CER_PDU28(b56_28) == '09070333342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b57_28) == '09070333342E452D34'O)and(enc_CER_PDU28(b57_28) == '09070333342E452D34'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b58_28) == '0908033330342E452D33'O)and(enc_CER_PDU28(b58_28) == '0908033330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)and(enc_CER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b64_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b64_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b65_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b65_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b66_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b66_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b67_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b67_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b68_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b68_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b69_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b69_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b70_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b70_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b71_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b71_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b72_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b72_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b73_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b73_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b74_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b74_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b75_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b75_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b76_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b76_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b77_28) == '0908032D33342E452D32'O)and(enc_CER_PDU28(b77_28) == '0908032D33342E452D32'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b78_28) == '0909032D3334342E452D33'O)and(enc_CER_PDU28(b78_28) == '0909032D3334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b79_28) == '0909032D3334352E452D33'O)and(enc_CER_PDU28(b79_28) == '0909032D3334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b80_28) == '0908032D33342E452D33'O)and(enc_CER_PDU28(b80_28) == '0908032D33342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b81_28) == '0908032D33342E452D34'O)and(enc_CER_PDU28(b81_28) == '0908032D33342E452D34'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b82_28) == '0909032D3330342E452D33'O)and(enc_CER_PDU28(b82_28) == '0909032D3330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)and(enc_CER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b94_28) == '090140'O)and(enc_CER_PDU28(b94_28) == '090140'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU28(b95_28) == '090141'O)and(enc_CER_PDU28(b95_28) == '090141'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of REAL, 1 , IMPLICIT TAG +//=========================================== +testcase tc_CER_DER_coding_of_real_1_implicit() runs on Test_CT { + if ((enc_DER_PDU29(b_29) == '800603312E452B30'O)and(enc_CER_PDU29(b_29) == '800603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of REAL, 1 , EXPLICIT TAG +//=========================================== +testcase tc_CER_DER_coding_of_real_1_explicit() runs on Test_CT { + if ((enc_DER_PDU30(b_30) == 'A008090603312E452B30'O)and(enc_CER_PDU30(b_30) == 'A080090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// CER + DER coding of BIT STRING, (unified) +//=========================================== +testcase tc_CER_DER_coding_of_bitstring() runs on Test_CT { + const BERPDU31 b1 := ''B + const BERPDU31 b2 := '1'B + const BERPDU31 b3 := '1010101'B + const BERPDU31 b4 := '10101010'B + const BERPDU31 b5 := '111100001'B + if ((enc_DER_PDU31(b1) == '030100'O)and(enc_CER_PDU31(b1) == '030100'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU31(b2) == '03020780'O)and(enc_CER_PDU31(b2) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU31(b3) == '030201AA'O)and(enc_CER_PDU31(b3) == '030201AA'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU31(b4) == '030200AA'O)and(enc_CER_PDU31(b4) == '030200AA'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU31(b5) == '030307F080'O)and(enc_CER_PDU31(b5) == '030307F080'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) + and(enc_CER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU31(b7_31) == '038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) + and(enc_CER_PDU31(b7_31) == '2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2303030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2306030100030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23800301000000'O) == b8_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('03020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('0381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2381050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238003810207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23080302078003020780'O) == b10_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2306230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('03810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('230503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23810503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238003810201AA0000'O) == b11_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2308030201AA030201AA'O) == b12_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23062304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('03810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('230503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23810503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238003810200AA0000'O) == b13_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2308030200AA030200AA'O) == b14_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23062304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31( '030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('03810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('230603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23810603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238003810307F0800000'O) == b15_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('230A030307F080030307F080'O) == b16_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('23072305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('03830003E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238203EC038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b17_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238207D8038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b18_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238203F0038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF'O) == b19_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU31('238203ED038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU33('A080030207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU33('A00403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} + +} +//=========================================== +// CER + DER coding of BIT STRING, length = 1, IMPLICIT TAG (primitive) +//=========================================== +testcase tc_CER_DER_coding_of_bitstring_length1_implicit() runs on Test_CT { + const BERPDU32 b := '1'B + if ((enc_DER_PDU32(b) == '80020780'O)and(enc_CER_PDU32(b) == '80020780'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU32('80020780'O) == b_32){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of BIT STRING, length = 1, EXPLICIT TAG (constructed) +//=========================================== +testcase tc_CER_DER_coding_of_bitstring_length1_explicit() runs on Test_CT { + const BERPDU33 b := '1'B + if ((enc_DER_PDU33(b) == 'A00403020780'O)and(enc_CER_PDU33(b) == 'A080030207800000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER coding of OCTETSTRING, (unified) +//=========================================== +testcase tc_CER_DER_coding_of_OCTETSTRING() runs on Test_CT { + const BERPDU34 b1_34 := ''O + const BERPDU34 b2_34 := 'FFFF'O + const BERPDU34 b3_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O + const BERPDU34 b4_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O + if ((enc_DER_PDU34(b1_34) == '0400'O)and(enc_CER_PDU34(b1_34) == '0400'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU34(b2_34) == '0402FFFF'O)and(enc_CER_PDU34(b2_34) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) + and(enc_CER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU34(b4_34) == '048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) + and(enc_CER_PDU34(b4_34) == '2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + +if (dec_BER_PDU34('0400'O) == b5_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('24020400'O) == b5_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('240404000400'O) == b5_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('248004000000'O) == b5_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('0402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('24040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('2405048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('248105048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('24800402FFFF0000'O) == b6_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('24080402FFFF0402FFFF'O) == b7_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('240624040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('04830003E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('248203EC048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b8_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('248207D8048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b9_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O) == b10_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU34('248203ED048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);} + +if (dec_BER_PDU36('A0040402FFFF'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);} + +}//tc_ + +//=========================================== +// CER + DER encoding of OCTETSTRING, IMPLICIT TAG length = 2 (primitive) +//=========================================== +testcase tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2() runs on Test_CT { + const BERPDU35 b := 'FFFF'O + if ((enc_DER_PDU35(b) == '8002FFFF'O)and(enc_CER_PDU35(b) == '8002FFFF'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU35('8002FFFF'O) == myIntegerValue_35) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of OCTETSTRING, EXPLICIT TAG length = 2 (primitive) +//=========================================== +testcase tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2() runs on Test_CT { + const BERPDU36 b := 'FFFF'O + if ((enc_DER_PDU36(b) == 'A0040402FFFF'O)and(enc_CER_PDU36(b) == 'A0800402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU36('A0800402FFFF0000'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of NULL (unified) +//=========================================== +testcase tc_CER_DER_coding_of_NULL() runs on Test_CT { + const BERPDU37 b := NULL; + if ((enc_DER_PDU37(b) == '0500'O)and(enc_CER_PDU37(b) == '0500'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU37('0500'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU37('058100'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU37('05820000'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DER + CER coding of NULL with Context Specific TAG, EXPLICIT (unified) +//=========================================== +testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit() runs on Test_CT { + const BERPDU38 b := NULL; + if ((enc_DER_PDU38(b) == 'A0020500'O)and(enc_CER_PDU38(b) == 'A08005000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU38('A08005000000'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU38('A081020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU38('A08103058100'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER coding of NULL with PRIVATE TAG, EXPLICIT (unified) +//=========================================== +testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit() runs on Test_CT { + const BERPDU39 b := NULL; + if ((enc_DER_PDU39(b) == 'E1020500'O)and(enc_CER_PDU39(b) == 'E18005000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU39('E18005000000'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU39('E181020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU39('E18103058100'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// DER + CER coding of NULL with APPLICATION TAG, EXPLICIT (unified) +//=========================================== +testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit() runs on Test_CT { + const BERPDU40 b := NULL; + if ((enc_DER_PDU40(b) == '62020500'O)and(enc_CER_PDU40(b) == '628005000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU40('628005000000'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU40('6281020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU40('628103058100'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER encoding of NULL with Context Specific TAG, IMPLICIT (unified) +//=========================================== +testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit() runs on Test_CT { + const BERPDU40 b := NULL; + if ((enc_DER_PDU41(b) == '8000'O)and(enc_CER_PDU41(b) == '8000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU41('8000'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU41('808100'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER encoding of NULL with PRIVATE TAG, IMPLICIT (unified) +//=========================================== +testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit() runs on Test_CT { + const BERPDU42 b := NULL; + if ((enc_DER_PDU42(b) == 'C100'O)and(enc_CER_PDU42(b) == 'C100'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU42('C100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU42('C18100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// DER + CER encoding of NULL with APPLICATION TAG, IMPLICIT (unified) +//=========================================== +testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit() runs on Test_CT { + const BERPDU43 b := NULL; + if ((enc_DER_PDU43(b) == '4200'O)and(enc_CER_PDU43(b) == '4200'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU43('4200'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU43('428100'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// CER + DER encoding of SEQUENCE (unified) +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE() runs on Test_CT { + const BERPDU44 myValue1 := {b := omit, + c := omit } + const BERPDU44 myValue2 := {b := true, + c := omit } + const BERPDU44 myValue3 := {b := true, + c := 5 } + if ((enc_DER_PDU44(myValue1) == '3000'O)and(enc_CER_PDU44(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU44(myValue2) == '30030101FF'O)and(enc_CER_PDU44(myValue2) == '30800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU44(myValue3) == '30060101FF020105'O)and(enc_CER_PDU44(myValue3) == '30800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU44('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU44('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU44('30030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU44('30800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU44('30060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU44('30800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE (one element is equal to Default) (unified) +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault() runs on Test_CT { + const BERPDU45 myValue1 := { b := true, c := 5 } + const BERPDU45 myValue2 := { b := false, c := 5 } + + if ((enc_DER_PDU45(myValue1) == '3003020105'O)and(enc_CER_PDU45(myValue1) == '30800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU45(myValue2) == '3006010100020105'O)and(enc_CER_PDU45(myValue2) == '30800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU45('3003020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU45('30800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU45('3006010100020105'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU45('30800101000201050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements() runs on Test_CT { + const BERPDU48 myValue := {b := true, + c := 5 } + if ((enc_DER_PDU48(myValue) == '30079E01FF9F1F0105'O)and(enc_CER_PDU48(myValue) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU48('30079E01FF9F1F0105'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU48('30809E01FF9F1F01050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements() runs on Test_CT { + const BERPDU49 myValue := {b := true, + c := 5 } + if ((enc_DER_PDU49(myValue) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU49(myValue) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU49('300BBE030101FFBF1F03020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU49('3080BE800101FF0000BF1F8002010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of TAGGED SEQUENCE (both elements are used) +//=========================================== +testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed() runs on Test_CT { + const BERPDU50 myValue := {b := true, + c := 5 } + if ((enc_DER_PDU50(myValue) == 'A00830060101FF020105'O)and(enc_CER_PDU50(myValue) == 'A08030800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used) +//=========================================== +testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed() runs on Test_CT { + const BERPDU54 myValue := {b := true, + c := 5 } + if ((enc_DER_PDU54(myValue) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU54(myValue) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU54('A00C300AA0030101FFA103020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU54('A0803080A0800101FF0000A180020105000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE with CHOICE element +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement() runs on Test_CT { + const BERPDU65 myValue := {b := {x := true}, + c := 4 + } + if ((enc_DER_PDU65(myValue) == '30060101FF020104'O)and(enc_CER_PDU65(myValue) == '30800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU65('30060101FF020104'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU65('30800101FF0201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE with fields of different types +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT { + const BERPDU67 myValue_67 := {a := NULL, + b := true, + c := 2, + d := first, + e := 1.0, + f := '1'B, + g := 'FFFF'O, + h := myOBJID_67, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + + y2 := true } , + l := {y3 := 1.0 , + + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } + + if ((enc_DER_PDU67(myValue_67) == '305305000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1030101FF300505000101FF310C03020780090603312E452B30A3083006020101020102A40831060101FF0101FF'O) and(enc_CER_PDU67(myValue_67) == '308005000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1800101FF0000308005000101FF0000318003020780090603312E452B300000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) +{setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// DECODING , DER, SEQUENCE with fields of different types , (unified) +//=========================================== +testcase tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT { + const BERPDU69 myValue := {a := NULL, + b := true, + c := 2, + d := first, + // e := 1.0, + f := '1'B, + g := 'FFFF'O, + h := myOBJID_69, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + + y2 := true } , + l := {y3 := NULL , + + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } + if (dec_BER_PDU69('304505000101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU69('308005000101FF0201020A0100030207800402FFFF06030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE OF INTEGER (empty) (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFinteger_empty() runs on Test_CT { + const BERPDU71 myValue := { } + if ((enc_DER_PDU71(myValue) == '3000'O)and(enc_CER_PDU71(myValue) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU71('3000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU71('30800000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE OF BOOLEAN (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN() runs on Test_CT { + const BERPDU72 myValue := {true, false } + if ((enc_DER_PDU72(myValue) == '30060101FF010100'O)and(enc_CER_PDU72(myValue) == '30800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU72('30060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU72('30800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE OF OCTET STRING (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING() runs on Test_CT { + const BERPDU73 myValue := {'FFFF'O, 'AB'O }; + if ((enc_DER_PDU73(myValue) == '30070402FFFF0401AB'O)and(enc_CER_PDU73(myValue) == '30800402FFFF0401AB0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU73('30070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU73('30800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE OF SEQUENCE (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE() runs on Test_CT { + const BERPDU74 myValue := { + { + a := 5, + b := true + }, + { + a := 3, + b := false + } + }; + + if ((enc_DER_PDU74(myValue) == '301030060201050101FF3006020103010100'O)and(enc_CER_PDU74(myValue) == '308030800201050101FF0000308002010301010000000000'O)) + {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU74('301030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU74('308030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE OF SET (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFSET() runs on Test_CT { + const BERPDU75 myValue := { + { + a := 5, + b := true + }, + { + a := 3, + b := false + } + }; + if ((enc_DER_PDU75(myValue) == '301031060101FF0201053106010100020103'O)and(enc_CER_PDU75(myValue) == '308031800101FF0201050000318001010002010300000000'O)) + {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU75('301031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU75('308031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE OF SEQUENCE OF (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF() runs on Test_CT { + const BERPDU76 myValue := { + { + 5, + 6, + 7 + }, + { + 1, + 2, + 3 + } + }; + + if ((enc_DER_PDU76(myValue) == '301630090201050201060201073009020101020102020103'O)and(enc_CER_PDU76(myValue) == '308030800201050201060201070000308002010102010202010300000000'O)) + {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU76('301630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU76('308030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + + +} + +//=========================================== +// CER + DER encoding of SEQUENCE OF CHOICE (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFCHOICE() runs on Test_CT { + const BERPDU77 myValue := { + { + a := 5 + }, + { + b := false + } + }; + if ((enc_DER_PDU77(myValue) == '3006020105010100'O)and(enc_CER_PDU77(myValue) == '30800201050101000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU77('3006020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU77('30800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + + +//=========================================== +// CER + DER encoding of SEQUENCE OF SETOF (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SEQUENCEOFSETOF() runs on Test_CT { + const BERPDU78 myValue := { + { + 5, + 6, + 7 + }, + { + 1, + 2, + 3 + } + }; + if ((enc_DER_PDU78(myValue) == '301631090201050201060201073109020101020102020103'O)and(enc_CER_PDU78(myValue) == '308031800201050201060201070000318002010102010202010300000000'O)) + {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU78('301631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU78('308031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + + +} + +//=========================================== +// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN (unified) +//=========================================== +testcase tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN() runs on Test_CT { + const BERPDU79 myValue := {true, false } + if ((enc_DER_PDU79(myValue) == 'A00830060101FF010100'O)and(enc_CER_PDU79(myValue) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU79('A00830060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU79('A08030800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SET (EMPTY) (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SET_empty() runs on Test_CT { + const BERPDU82 myValue1 := {b := omit, + c := omit } + const BERPDU82 myValue2 := {b := true, + c := omit } + const BERPDU82 myValue3 := {b := true, + c := 5 } + const BERPDU82 myValue4 := { c := 5, + b := true } + if ((enc_DER_PDU82(myValue1) == '3100'O)and(enc_CER_PDU82(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU82(myValue2) == '31030101FF'O)and(enc_CER_PDU82(myValue2) == '31800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU82(myValue4) == '31060101FF020105'O)and(enc_CER_PDU82(myValue4) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU82('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU82('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU82('31030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU82('31800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU82('31060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU82('31800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU82('31060201050101FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// CER + DER encoding of SET (one element is equal to Default) (unified) +//=========================================== +testcase tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default() runs on Test_CT { + const BERPDU83 myValue1 := {b := true, c := 5 } + const BERPDU83 myValue2 := {c := 5, b := true } + const BERPDU83 myValue3 := {b := false, c := 5 } + const BERPDU83 myValue4 := {c := 5, b := false } + if ((enc_DER_PDU83(myValue1) == '3103020105'O)and(enc_CER_PDU83(myValue1) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU83(myValue2) == '3103020105'O)and(enc_CER_PDU83(myValue2) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU83(myValue3) == '3106010100020105'O)and(enc_CER_PDU83(myValue3) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU83(myValue4) == '3106010100020105'O)and(enc_CER_PDU83(myValue4) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('3103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('31800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('31060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('31800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('3106010100020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('31800101000201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('3106020105010100'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU83('31800201050101000000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +} +//=========================================== +// encoding of SET (different order2) (one element is not equal to Default) +//=========================================== +testcase tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default() runs on Test_CT { + const BERPDU84 myValue:= {c := 5, b := false } + if ((enc_DER_PDU84(myValue) == '3106010100020105'O)and(enc_CER_PDU84(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail)}; +} + +//********************************************* +// CONTROL PART +//********************************************* + +control { + execute(tc_DER_CER_encoding_of_BOOLEAN()); + execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit()); + execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit()); + execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit()); + execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit()); + execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit()); + execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit()); + execute(tc_BER_decoding_of_BOOLEAN()); + execute(tc_DER_decoding_of_BOOLEAN_Explicit()); + execute(tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit()); + execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit()); + execute(tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit()); + execute(tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit()); + execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit()); + execute(tc_DER_CER_coding_of_INTEGER()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit()); + execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit()); + execute(tc_DER_CER_coding_of_enumerated_hardcoded_positive()); + execute(tc_DER_CER_coding_of_enumerated_third_no_hardcoding()); + execute(tc_DER_CER_coding_of_enumerated_first1()); + execute(tc_DER_CER_coding_of_enumerated_first2()); + execute(tc_DER_CER_coding_of_enumerated_tagged_explicit_6()); + execute(tc_DER_CER_coding_of_enumerated_tagged_implicit()); + execute(tc_decoding_of_explicit_tagged_enumerated()); + execute(tc_CER_DER_coding_of_real()); + execute(tc_CER_DER_coding_of_real_1_implicit()); + execute(tc_CER_DER_coding_of_real_1_explicit()); + execute(tc_CER_DER_coding_of_bitstring()); + execute(tc_CER_DER_coding_of_bitstring_length1_implicit()); + execute(tc_CER_DER_coding_of_bitstring_length1_explicit()); + execute(tc_CER_DER_coding_of_OCTETSTRING()); + execute(tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2()); + execute(tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2()); + execute(tc_CER_DER_coding_of_NULL()); + execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit()); + execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit()); + execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit()); + execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit()); + execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit()); + execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit()); + execute(tc_CER_DER_encoding_of_SEQUENCE()); + execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault()); + execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements()); + execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements()); + execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed()); + execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed()); + execute(tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement()); + execute(tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes()); + execute(tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes()); + execute(tc_CER_DER_coding_of_SEQUENCEOFinteger_empty()) + execute(tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN()); + execute(tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING()); + execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE()); + execute(tc_CER_DER_coding_of_SEQUENCEOFSET()); + execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF()); + execute(tc_CER_DER_coding_of_SEQUENCEOFCHOICE()); + execute(tc_CER_DER_coding_of_SEQUENCEOFSETOF()); + execute(tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN()); + execute(tc_CER_DER_coding_of_SET_empty()); + execute(tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default()); + execute(tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default()); + +} + +} diff --git a/function_test/BER_EncDec/BER_EncDec_10.ttcn b/function_test/BER_EncDec/BER_EncDec_10.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f09c9707012b42a153d546be93152ad87186033f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_10.ttcn @@ -0,0 +1,43 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_10 { + +import from BER_EncDecA_10 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_100.ttcn b/function_test/BER_EncDec/BER_EncDec_100.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b75a52a3ed27c7ba8e87098555380965644a801c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_100.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_100 { + +import from BER_EncDecA_100 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_101.ttcn b/function_test/BER_EncDec/BER_EncDec_101.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ec26807965425188970dbea74f2de15728f2542d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_101.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_101 { + +import from BER_EncDecA_101 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_102.ttcn b/function_test/BER_EncDec/BER_EncDec_102.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d3ee6f30b38c5eec1dc08f036a6ccf8b409e3b3d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_102.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_102 { + +import from BER_EncDecA_102 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_103.ttcn b/function_test/BER_EncDec/BER_EncDec_103.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..35d779a75086d6756726d84bfa285563f505d950 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_103.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_103 { + +import from BER_EncDecA_103 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_104.ttcn b/function_test/BER_EncDec/BER_EncDec_104.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f2a3f1012d1595575a9c1b8ae28e675d79804a48 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_104.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_104 { + +import from BER_EncDecA_104 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_105.ttcn b/function_test/BER_EncDec/BER_EncDec_105.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..78d9538902a50963b866d7df9b22640c43c5b4ca --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_105.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_105 { + +import from BER_EncDecA_105 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_106.ttcn b/function_test/BER_EncDec/BER_EncDec_106.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9d094f0436dff6b8263db5de92556ece6de26726 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_106.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_106 { + +import from BER_EncDecA_106 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_107.ttcn b/function_test/BER_EncDec/BER_EncDec_107.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e900d0fea366f886f5b07fca2f353f30d6815e5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_107.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_107 { + +import from BER_EncDecA_107 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_108.ttcn b/function_test/BER_EncDec/BER_EncDec_108.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fd8e7b32c0b0c4c1b539e23b5cf9e45ef138a61f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_108.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_108 { + +import from BER_EncDecA_108 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_109.ttcn b/function_test/BER_EncDec/BER_EncDec_109.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3d6034d4539051ec5c65053b8ff0b57bebf6560d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_109.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_109 { + +import from BER_EncDecA_109 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_11.ttcn b/function_test/BER_EncDec/BER_EncDec_11.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..570f44f925e9785e6bad2028cb2358f4af335566 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_11.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_11 { + +import from BER_EncDecA_11 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_110.ttcn b/function_test/BER_EncDec/BER_EncDec_110.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..993ebfe742369e5c8c32356883b85ae9035c2472 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_110.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_110 { + +import from BER_EncDecA_110 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_111.ttcn b/function_test/BER_EncDec/BER_EncDec_111.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..47cba631961157278c725d17f67e9c2d48b6d74e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_111.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_111 { + +import from BER_EncDecA_111 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_112.ttcn b/function_test/BER_EncDec/BER_EncDec_112.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ee751bd3cd1075d6089799b68d14afe7eb749853 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_112.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_112 { + +import from BER_EncDecA_112 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_113.ttcn b/function_test/BER_EncDec/BER_EncDec_113.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f7de22cf16b3ecfc07786319699d192607d6b4e8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_113.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_113 { + +import from BER_EncDecA_113 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_114.ttcn b/function_test/BER_EncDec/BER_EncDec_114.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2f2d96581a14830029dd94b3f4ecdb6cef524c6c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_114.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_114 { + +import from BER_EncDecA_114 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_115.ttcn b/function_test/BER_EncDec/BER_EncDec_115.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a469a1bd784a3802464d64f65af98e91fc2f6b07 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_115.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_115 { + +import from BER_EncDecA_115 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_116.ttcn b/function_test/BER_EncDec/BER_EncDec_116.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0cafca44b955f38ccfed775901fc477030b99272 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_116.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_116 { + +import from BER_EncDecA_116 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '06075002038F509F20'O)and(enc_CER_PDU(b) == '06075002038F509F20'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_117.ttcn b/function_test/BER_EncDec/BER_EncDec_117.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..af6fa965f67f24b8e305e55da1debc26036096e9 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_117.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_117 { + +import from BER_EncDecA_117 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '8003000203'O)and(enc_CER_PDU(b) == '8003000203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_118.ttcn b/function_test/BER_EncDec/BER_EncDec_118.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..286672f674f12c9788f3d3960fe36cb5662bb283 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_118.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_118 { + +import from BER_EncDecA_118 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == 'A0050603000203'O)and(enc_CER_PDU(b) == 'A08006030002030000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_119.ttcn b/function_test/BER_EncDec/BER_EncDec_119.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..24a10d98d5f741f84bd7c32a9636dde33963a420 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_119.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_119 { + +import from BER_EncDecA_119 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603000203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_12.ttcn b/function_test/BER_EncDec/BER_EncDec_12.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..344d70a5f3bfe31b9e1b904f57a8fd0322e4f5e7 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_12.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_12 { + +import from BER_EncDecA_12 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_120.ttcn b/function_test/BER_EncDec/BER_EncDec_120.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..47def6f566def1b5662bb6522a06da0e4e1b75a6 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_120.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_120 { + +import from BER_EncDecA_120 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603000203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_121.ttcn b/function_test/BER_EncDec/BER_EncDec_121.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..294e367dc7a532f4b74d625eb9f51837e2a2bd62 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_121.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_121 { + +import from BER_EncDecA_121 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603000203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_122.ttcn b/function_test/BER_EncDec/BER_EncDec_122.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fa7aacbe513f8bba6a799c18f70e27e7435b8f38 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_122.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_122 { + +import from BER_EncDecA_122 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603010203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_123.ttcn b/function_test/BER_EncDec/BER_EncDec_123.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..15c347a4734540ce74681dd89713277e5197cab8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_123.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_123 { + +import from BER_EncDecA_123 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603010203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_124.ttcn b/function_test/BER_EncDec/BER_EncDec_124.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f698bf23445b1bed5320ab21ec77ce958911782e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_124.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_124 { + +import from BER_EncDecA_124 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603010203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_125.ttcn b/function_test/BER_EncDec/BER_EncDec_125.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7da9905e1f1fc821d4af1400088f1fef49da5e72 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_125.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_125 { + +import from BER_EncDecA_125 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603020203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_126.ttcn b/function_test/BER_EncDec/BER_EncDec_126.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6e84022f658119934d6f535881bf85721e891f3b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_126.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_126 { + +import from BER_EncDecA_126 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603020203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_127.ttcn b/function_test/BER_EncDec/BER_EncDec_127.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dddfbae52244b8799ad4bc128b030c07cedcdd57 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_127.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_127 { + +import from BER_EncDecA_127 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603020203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_128.ttcn b/function_test/BER_EncDec/BER_EncDec_128.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4f23d4902fe82df56e70ebb16f9b1c808c6e6ea3 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_128.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_128 { + +import from BER_EncDecA_128 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603030203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_129.ttcn b/function_test/BER_EncDec/BER_EncDec_129.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..41c480fdb6596e10481bf56794b0924af53e3f81 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_129.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_129 { + +import from BER_EncDecA_129 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603030203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_13.ttcn b/function_test/BER_EncDec/BER_EncDec_13.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9dacc9485039b731caa2250f92859dbb504048b8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_13.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_13 { + +import from BER_EncDecA_13 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_130.ttcn b/function_test/BER_EncDec/BER_EncDec_130.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4b47235e0c1b6e9fa7f863b5273a8de07d4bc1da --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_130.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_130 { + +import from BER_EncDecA_130 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603030203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_131.ttcn b/function_test/BER_EncDec/BER_EncDec_131.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8f5941a235e6cd507bdb7785f529ae33376a2e80 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_131.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_131 { + +import from BER_EncDecA_131 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603040203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_132.ttcn b/function_test/BER_EncDec/BER_EncDec_132.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..caa76e8813cc96b819a62e002765813cd706b8ed --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_132.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_132 { + +import from BER_EncDecA_132 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603040203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_133.ttcn b/function_test/BER_EncDec/BER_EncDec_133.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..646a2b9e488e3e3d86e28fccc2a0aae37c075645 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_133.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_133 { + +import from BER_EncDecA_133 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603040203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_134.ttcn b/function_test/BER_EncDec/BER_EncDec_134.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..551dfdb7b54eeddcb78babaafe98fb154c274f6f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_134.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_134 { + +import from BER_EncDecA_134 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603280203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_135.ttcn b/function_test/BER_EncDec/BER_EncDec_135.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a2e027fe4476678cd41fe2e230be60ad58669059 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_135.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_135 { + +import from BER_EncDecA_135 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603280203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_136.ttcn b/function_test/BER_EncDec/BER_EncDec_136.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b869dfeeecfe4ea66872ba69a00071c2b95ff54d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_136.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_136 { + +import from BER_EncDecA_136 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603280203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_137.ttcn b/function_test/BER_EncDec/BER_EncDec_137.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6147bdb4f4338bfef8ec4aae68bcfc35d3e356f1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_137.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_137 { + +import from BER_EncDecA_137 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('06032A0203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_138.ttcn b/function_test/BER_EncDec/BER_EncDec_138.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..19d87ade200e013a18c41302678922c7a7654703 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_138.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_138 { + +import from BER_EncDecA_138 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('06032A0203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_139.ttcn b/function_test/BER_EncDec/BER_EncDec_139.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c3f8172d31e0f27b75ad1b9c33a3682331617fe5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_139.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_139 { + +import from BER_EncDecA_139 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('06032A0203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_14.ttcn b/function_test/BER_EncDec/BER_EncDec_14.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6fc54409561ae757846375455d29fa1130c3faf7 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_14.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_14 { + +import from BER_EncDecA_14 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0800201050101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_140.ttcn b/function_test/BER_EncDec/BER_EncDec_140.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0615ddc7dd90084d0302d94f265a4526fc140365 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_140.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_140 { + +import from BER_EncDecA_140 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('06032B0203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_141.ttcn b/function_test/BER_EncDec/BER_EncDec_141.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49ad28cf8cbd4ad8a58b3c70208ca69820c974c1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_141.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_141 { + +import from BER_EncDecA_141 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('06032B0203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_142.ttcn b/function_test/BER_EncDec/BER_EncDec_142.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..73faf5c0593d5525faf0a37833a9debe56375ea7 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_142.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_142 { + +import from BER_EncDecA_142 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('06032B0203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_143.ttcn b/function_test/BER_EncDec/BER_EncDec_143.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d145b410fa894cbad8039b807665a51b59ca0980 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_143.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_143 { + +import from BER_EncDecA_143 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603500203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_144.ttcn b/function_test/BER_EncDec/BER_EncDec_144.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7974ebbde7de1d4de5a0f7863a470b5809d7c906 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_144.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_144 { + +import from BER_EncDecA_144 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603500203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_145.ttcn b/function_test/BER_EncDec/BER_EncDec_145.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..402321e59076f4bee504a7b7d13b50d999855124 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_145.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_145 { + +import from BER_EncDecA_145 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('0603500203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_146.ttcn b/function_test/BER_EncDec/BER_EncDec_146.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..67393e4efabcdd7c38ebe84eb3e071d6bc8b044b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_146.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_146 { + +import from BER_EncDecA_146 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('060481340203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_147.ttcn b/function_test/BER_EncDec/BER_EncDec_147.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d845255d3ed12f77c6c9bcf1fa90a2b8edfc38ab --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_147.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_147 { + +import from BER_EncDecA_147 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('060481340203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_148.ttcn b/function_test/BER_EncDec/BER_EncDec_148.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..abb6f7936ac02e4d97c2aed5cd256ffd71501986 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_148.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_148 { + +import from BER_EncDecA_148 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('060481340203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_149.ttcn b/function_test/BER_EncDec/BER_EncDec_149.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f7e9600d4e330829fa1ec81d831ffcd60dc85811 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_149.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_149 { + +import from BER_EncDecA_149 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('06075002038F509F20'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_15.ttcn b/function_test/BER_EncDec/BER_EncDec_15.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6fe2b174f1e225f31704bc4f38e5237a10a03fdf --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_15.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_15 { + +import from BER_EncDecA_15 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_150.ttcn b/function_test/BER_EncDec/BER_EncDec_150.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cb3e2af045e52ef6b467dfc4cfd5bd9151b13b8b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_150.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_150 { + +import from BER_EncDecA_150 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('8003000203'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_151.ttcn b/function_test/BER_EncDec/BER_EncDec_151.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e9d88129f7696c10b7580d453ff794eefd0b8808 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_151.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_151 { + +import from BER_EncDecA_151 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('A0050603000203'O) == myValue) + + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_152.ttcn b/function_test/BER_EncDec/BER_EncDec_152.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d6a7d86e2d692f21e65183a153401edf35f43e84 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_152.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_152 { + +import from BER_EncDecA_152 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('A08006030002030000'O) == myValue) + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_153.ttcn b/function_test/BER_EncDec/BER_EncDec_153.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ef295016d7881a761a49e8ee5cefe6ecc39dcb11 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_153.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_153 { + +import from BER_EncDecA_153 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}},field2 := 999 }; + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_154.ttcn b/function_test/BER_EncDec/BER_EncDec_154.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..419ae1271a840b7eca34a5cc54b6fef86dc8b841 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_154.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_154 { + +import from BER_EncDecA_154 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := { field1 := {f1 := 8},field2 := 999 }; + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_155.ttcn b/function_test/BER_EncDec/BER_EncDec_155.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..13805082ed9a58c15b01de4ebe397f075a4fcedc --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_155.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_155 { + +import from BER_EncDecA_155 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999}; + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('30093003020108020203E7'O) == myValue) + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_156.ttcn b/function_test/BER_EncDec/BER_EncDec_156.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..78ecead6bb971a8e4b9be6cbd4f2ea6603a83920 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_156.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_156 { + +import from BER_EncDecA_156 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999}; + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue) + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_157.ttcn b/function_test/BER_EncDec/BER_EncDec_157.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f6ef9734828429c56eed21c0eab7f0b1de9a25f2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_157.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_157 { + +import from BER_EncDecA_157 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999}; + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('30093003020108020203E7'O) == myValue) + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_158.ttcn b/function_test/BER_EncDec/BER_EncDec_158.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e8aad4f4313b19f9b7def7fcf46cf7a4ecd45cf2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_158.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_158 { + +import from BER_EncDecA_158 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999}; + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue) + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_159.ttcn b/function_test/BER_EncDec/BER_EncDec_159.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..213525e7d55ab0529016f837cc542520828f9637 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_159.ttcn @@ -0,0 +1,125 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_159 { + +import from BER_EncDecA_159 all; + +external function enc_ber1(in Rec_ber r) return octetstring + with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } +external function dec_ber1(in octetstring r) return Rec_ber + with { extension "decode(BER:BER_ACCEPT_ALL) prototype(convert) errorbehavior(ALL:WARNING)" } +external function enc_ber2(in integer r) return octetstring + with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } +// Attributes are not checked in the compiler. +external function dec_ber2(in octetstring r) return integer + with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } +external function dec_ber3(inout octetstring r, out Rec_ber s) return integer + with { extension "decode(BER:BER_ACCEPT_ALL) prototype(sliding) errorbehavior(ALL:WARNING)" } + +type component comp_ber { } + + +type component TempComp {} +testcase TC() runs on TempComp { + + const integer a := 2147483647 + const integer b := 2147483648 + const integer c := 2147483649 + const integer d := 128 + const integer e := myNumber + const integer f := 12147483648 + var Rec_ber myrec1 := {int1 := a, int2 := b} + var Rec_ber myrec2 := {int1 := c, int2 := d} + var Rec_ber myrec3 := {int1 := 1048576, int2 := 321768} + var Rec_ber myrec4 := {65536, 131072} + var Rec_ber myrec5 := {4294967296, 8388608} + var Rec_ber myrec6 := {12345678910111213141516, 11111111111111111111} + var Rec_ber myrec7 := {8589934592, 1099511627776} + var Rec_ber myrec8 := {int1 := a, int2 := b} + var Rec_ber myrec9 := {int1 := 12345678910111213141516, int2 := -1234} + var Rec_ber myrec10 := {int1 := -12345678910111213141516, int2 := -1234} + var Rec_ber myrec11 := {2147483648, -2147483648} + var Rec_ber myrec12 := {-2147483647, 2147483647} + var Rec_ber myrec13 := {2147483649, -2147483649} + var Rec_ber myrec14 := {-4294967296, 4294967296} + var Rec_ber myrec15 := {4294967295, -4294967295} + var Rec_ber myrec16 := {-4294967297, 4294967297} + var Rec_ber pdu1 := {12345678910111213141516, -2147483648} + var Rec_ber pdu2 := {123, 456} + var octetstring encoded_pdu + var Rec_ber decoded_pdu + var integer ret_val + encoded_pdu := enc_ber1(pdu2) + ret_val := dec_ber3(encoded_pdu, decoded_pdu) + if (ret_val == 0 and decoded_pdu == pdu2) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := '800100'O + ret_val := dec_ber3(encoded_pdu, decoded_pdu) + if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := substr(enc_ber1(pdu1), 0, 4) + ret_val := dec_ber3(encoded_pdu, decoded_pdu) + if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber2(-2147483648) + if (encoded_pdu == '020480000000'O) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec1) + if (myrec1 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec2) + if (myrec2 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({int1 := c, int2 := d} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec3) + if (myrec3 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({int1 := 1048576, int2 := 321768} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec4) + if (myrec4 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({65536, 131072} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec5) + if (myrec5 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({4294967296, 8388608} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec6) + if (myrec6 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({12345678910111213141516, 11111111111111111111} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec7) + if (myrec7 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({8589934592, 1099511627776} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec8) + if (myrec8 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec9) + if (myrec9 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({int1 := 12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec10) + if (myrec10 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({int1 := -12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec11) + if (myrec11 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({2147483648, -2147483648} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec12) + if (myrec12 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({-2147483647, 2147483647} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec13) + if (myrec13 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({2147483649, -2147483649} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec14) + if (myrec14 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({-4294967296, 4294967296} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec15) + if (myrec15 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({4294967295, -4294967295} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + encoded_pdu := enc_ber1(myrec16) + if (myrec16 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + if ({-4294967297, 4294967297} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_16.ttcn b/function_test/BER_EncDec/BER_EncDec_16.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a949211be9fc065d33585274ab779c8dbb0a3ea9 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_16.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_16 { + +import from BER_EncDecA_16 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_160.ttcn b/function_test/BER_EncDec/BER_EncDec_160.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9cffc8881f24a7b05b3dbd17935b49363f8a6bd1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_160.ttcn @@ -0,0 +1,47 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_160 { + +import from BER_EncDecA_160 all; + + +type float BERPDU; + +external function dec_BER_PDU(in octetstring os, out BERPDU pdu) + with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } + +// pi: 31415926.E-7 +const octetstring der_encoded := '090D0133313431353932362E452D37'O; +const BERPDU myValue := 3.1415926; + + +type component TempComp {} +testcase TC() runs on TempComp { + +var BERPDU der_decoded, cer_decoded; + +@try { + dec_BER_PDU(der_encoded, der_decoded); + if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*Internal error: While BER-decoding type '@BER_EncDec_160.BERPDU': No BER descriptor available for type '@BER_EncDec_160.BERPDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_161.ttcn b/function_test/BER_EncDec/BER_EncDec_161.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f28ed83a6be3cdea9534976d78d268966d395620 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_161.ttcn @@ -0,0 +1,47 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_161 { + +import from BER_EncDecA_161 all; + + +type float BERPDU; + +external function dec_BER_PDU(in octetstring os, out BERPDU pdu) + with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } + +// pi: 31415926.E-7 +const octetstring der_encoded := '090D0233313431353932362E452D37'O; +const BERPDU myValue := 3.1415926; + + +type component TempComp {} +testcase TC() runs on TempComp { + +var BERPDU der_decoded, cer_decoded; + +@try { + dec_BER_PDU(der_encoded, der_decoded); + if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*Internal error: While BER-decoding type '@BER_EncDec_161.BERPDU': No BER descriptor available for type '@BER_EncDec_161.BERPDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_162.ttcn b/function_test/BER_EncDec/BER_EncDec_162.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..99d23d83df6bffa9511a29bc33d497c3e53c68fe --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_162.ttcn @@ -0,0 +1,47 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_162 { + +import from BER_EncDecA_162 all; + + +type float BERPDU; + +external function dec_BER_PDU(in octetstring os, out BERPDU pdu) + with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } + +// pi: 31415926.E-7 +const octetstring der_encoded := '090D2033313431353932362E452D37'O; +const BERPDU myValue := 3.1415926; + + +type component TempComp {} +testcase TC() runs on TempComp { + +var BERPDU der_decoded, cer_decoded; + +@try { + dec_BER_PDU(der_encoded, der_decoded); + if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*Internal error: While BER-decoding type '@BER_EncDec_162.BERPDU': No BER descriptor available for type '@BER_EncDec_162.BERPDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_163.ttcn b/function_test/BER_EncDec/BER_EncDec_163.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..05175c1bacdddecf4010dcbb0aa64ad3254aee9f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_163.ttcn @@ -0,0 +1,47 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_163 { + +import from BER_EncDecA_163 all; + + +type float BERPDU; + +external function dec_BER_PDU(in octetstring os, out BERPDU pdu) + with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } + +// pi: 31415926.E-7 +const octetstring der_encoded := '090D0033313431353932362E452D37'O; +const BERPDU myValue := 3.1415926; + + +type component TempComp {} +testcase TC() runs on TempComp { + +var BERPDU der_decoded, cer_decoded; + +@try { + dec_BER_PDU(der_encoded, der_decoded); + if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*Internal error: While BER-decoding type '@BER_EncDec_163.BERPDU': No BER descriptor available for type '@BER_EncDec_163.BERPDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_164.ttcn b/function_test/BER_EncDec/BER_EncDec_164.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e0eaca2d422e93e527975b3e9abb2404e37aba5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_164.ttcn @@ -0,0 +1,47 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_164 { + +import from BER_EncDecA_164 all; + + +type float BERPDU; + +external function dec_BER_PDU(in octetstring os, out BERPDU pdu) + with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } + +// pi: 31415926.E-7 +const octetstring der_encoded := '090D0433313431353932362E452D37'O; +const BERPDU myValue := 3.1415926; + + +type component TempComp {} +testcase TC() runs on TempComp { + +var BERPDU der_decoded, cer_decoded; + +@try { + dec_BER_PDU(der_encoded, der_decoded); + if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*Internal error: While BER-decoding type '@BER_EncDec_164.BERPDU': No BER descriptor available for type '@BER_EncDec_164.BERPDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_165.ttcn b/function_test/BER_EncDec/BER_EncDec_165.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..435d6d7cd6ea64b227087ca4d36cdadf70c75f68 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_165.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_165 { + +import from BER_EncDecA_165 all; + +// Test for memory leak problem in BER decoder: HO73756. +external function dec_backtrack(in octetstring stream, out BERPDU outpdu) return integer with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } + +type component empty { + var BERPDU mypdu +} + + +testcase mytc() runs on empty { + dec_backtrack('30093003020108020203E7'O, mypdu) + dec_backtrack('30093003020108020203E7'O, mypdu) + setverdict(pass) +} + +control { + execute(mytc()) +} + +} diff --git a/function_test/BER_EncDec/BER_EncDec_17.ttcn b/function_test/BER_EncDec/BER_EncDec_17.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f98081eba8165a35614766ac36a7720eca58afac --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_17.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_17 { + +import from BER_EncDecA_17 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_18.ttcn b/function_test/BER_EncDec/BER_EncDec_18.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0196e11505c55d7b4150f96c328fcdf859d5e05d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_18.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_18 { + +import from BER_EncDecA_18 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_19.ttcn b/function_test/BER_EncDec/BER_EncDec_19.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..90f1dc3935a13ad6e85e9165c823a1cb50953e07 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_19.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_19 { + +import from BER_EncDecA_19 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_2.ttcn b/function_test/BER_EncDec/BER_EncDec_2.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d23a9dcdbb035b497865bd365c314c6b482aeda8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_2.ttcn @@ -0,0 +1,410 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_2 { + +import from BER_EncDecA_2 all; + + +type component Test_CT {} +external function enc_DER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU46(in octetstring stream) return BERPDU46 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU47(in octetstring stream) return BERPDU47 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU51(in octetstring stream) return BERPDU51 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU58(in octetstring stream) return BERPDU58 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU59(in octetstring stream) return BERPDU59 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU60(in octetstring stream) return BERPDU60 with { extension "prototype(convert) decode(BER)" } + + +external function enc_DER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU61(in octetstring stream) return BERPDU61 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU62(in octetstring stream) return BERPDU62 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU63(in octetstring stream) return BERPDU63 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU64(in octetstring stream) return BERPDU64 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU66(in octetstring stream) return BERPDU66 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU68(in octetstring stream) return BERPDU68 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU70(in octetstring stream) return BERPDU70 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU85(in octetstring stream) return BERPDU85 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU86(in octetstring stream) return BERPDU86 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU87(in octetstring stream) return BERPDU87 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" } + + +//********************************************* +// TESTCASES +//********************************************* + +//=========================================== +// CER + DER encoding of SEQUENCE (EMPTY), AUTOMATIC TAGGING (unified) +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging() runs on Test_CT { + const BERPDU46 myValue1 := {b := omit, + c := omit } + const BERPDU46 myValue2 := {b := true, + c := omit } + const BERPDU46 myValue3 := {b := true, + c := 5 } + + if ((enc_DER_PDU46(myValue1) == '3000'O)and(enc_CER_PDU46(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU46(myValue2) == '30038001FF'O)and(enc_CER_PDU46(myValue2) == '30808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU46(myValue3) == '30068001FF810105'O)and(enc_CER_PDU46(myValue3) == '30808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU46('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU46('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU46('30038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU46('30808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU46('30068001FF810105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU46('30808001FF8101050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING (unified) +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT { + + const BERPDU47 myValue1 := {b := true, + c := 5 } + const BERPDU47 myValue2 := {b := false, + c := 5 } + if ((enc_DER_PDU47(myValue1) == '3003810105'O)and(enc_CER_PDU47(myValue1) == '30808101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU47(myValue2) == '3006800100810105'O)and(enc_CER_PDU47(myValue2) == '30808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU47('3003810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU47('30808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU47('3006800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU47('30808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of TAGGED SEQUENCE (both elements are used), AUTOMATIC TAGGING ENVIRONMENT +//=========================================== +testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging() runs on Test_CT { + const BERPDU51 myValue := {b := true, + c := 5 } + if ((enc_DER_PDU51(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU51(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT +//=========================================== +testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging() runs on Test_CT { + const BERPDU58 myValue := {b := true, + c := 5 } + if ((enc_DER_PDU58(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU58(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU58('A0068001FF810105'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU58('A0808001FF8101050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging() runs on Test_CT { + const BERPDU59 myValue := {b := true, + c := 5 } + if ((enc_DER_PDU59(myValue) == '30068501FF020105'O)and(enc_CER_PDU59(myValue) == '30808501FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU59('30068501FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU59('30808501FF0201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT { + const BERPDU60 myValue := {b := true, + c := 5 , + x := 6, + y := 'FF'O } + if ((enc_DER_PDU60(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU60(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU60('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU60('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SEQUENCE , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT { + const BERPDU61 myValue := {b := true, + c := 5 , + x := 6, + y := 'FF'O } + if ((enc_DER_PDU61(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU61(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU61('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU61('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT { + const BERPDU62 myValue := {b := true, + c := '1'B , + x := 6, + y := 'FF'O } + + if ((enc_DER_PDU62(myValue) == '300D8001FF030207800201060401FF'O)and(enc_CER_PDU62(myValue) == '30808001FF030207800201060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU62('300D8001FF030207800201060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU62('30808001FF030207800201060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + + +} + +//=========================================== +// CER + DER encoding of SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT { + const BERPDU63 myValue := {b := true, + c := '1'B , + x := 6, + y := 'FF'O } + if ((enc_DER_PDU63(myValue) == '300D8001FF030207808101060401FF'O)and(enc_CER_PDU63(myValue) == '30808001FF030207808101060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU63('300D8001FF030207808101060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU63('30808001FF030207808101060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + + +//=========================================== +// CER + DER encoding of SEQUENCE with CHOICE element, AUTOMATIC TAGS +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging() runs on Test_CT { + const BERPDU64 myValue := {b := {x := true}, + c := 4 + } + if ((enc_DER_PDU64(myValue) == '3008A0038001FF810104'O)and(enc_CER_PDU64(myValue) == '3080A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU64('3008A0038001FF810104'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU64('3080A0808001FF00008101040000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE with EXTENSION , AUTOMATIC TAGS +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging() runs on Test_CT { + const BERPDU66 myValue := { + a := 'FF'O, + b := true, + d := '1'B, + c := 4 + } + if ((enc_DER_PDU66(myValue) == '300D8001FF8101FF83020780820104'O)and(enc_CER_PDU66(myValue) == '30808001FF8101FF830207808201040000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU66('300D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU66('30808001FF8101FF830207808201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU66('308300000D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SEQUENCE with fields of different types, AUTOMATIC TAGS +//=========================================== +testcase tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging() runs on Test_CT { +const BERPDU68 myValue := {a := NULL, + b := true, + c := 2, + d := first, + e := 1.0, + f := '1'B, + g := 'FFFF'O, + h := myOBJID_68, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + + y2 := true } , + l := {y3 := 1.0 , + + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } + if ((enc_DER_PDU68(myValue) == '304F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O) +and(enc_CER_PDU68(myValue) == '308080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) +{setverdict(pass);} else {setverdict(fail);} + + +} + +//=========================================== +// DECODING , DER, SEQUENCE with fields of different types , AUTOMATIC TAGS (unified) +//=========================================== +testcase tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging() runs on Test_CT { + const BERPDU70 myValue := {a := NULL, + b := true, + c := 2, + d := first, + e := NULL, + f := '1'B, + g := 'FFFF'O, + h := myOBJID_70, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + y2 := true } , + l := {y3 := NULL , + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } + + + + if (dec_BER_PDU70('304380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue) + {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU70('308080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue) + {setverdict(pass);} else {setverdict(fail);} + +} + +//=========================================== +// CER + DER encoding of SET (EMPTY), AUTOMATIC TAGGING (unified) +//=========================================== +testcase tc_CER_DER_encoding_of_SET_empty_automaticTagging() runs on Test_CT { + const BERPDU85 myValue1 := {b := omit, + c := omit } + const BERPDU85 myValue2 := {b := true, + c := omit } + const BERPDU85 myValue3 := { + c := omit, + b := true } + const BERPDU85 myValue4 := {b := true, + c := 5 } + const BERPDU85 myValue5 := { + c := 5, + b := true } + + if ((enc_DER_PDU85(myValue1) == '3100'O)and(enc_CER_PDU85(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU85(myValue2) == '31038001FF'O)and(enc_CER_PDU85(myValue2) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU85(myValue3) == '31038001FF'O)and(enc_CER_PDU85(myValue3) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU85(myValue4) == '31068001FF810105'O)and(enc_CER_PDU85(myValue4) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU85(myValue5) == '31068001FF810105'O)and(enc_CER_PDU85(myValue5) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('31038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('31808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('31068001FF810105'O) == myValue4){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('31808001FF8101050000'O) == myValue4){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('31068101058001FF'O) == myValue4){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU85('31808101058001FF0000'O) == myValue4){setverdict(pass);} else {setverdict(fail);} + +} +//=========================================== +// CER + DER encoding of SET (both elements are used)(different order2) AUTOMATIC TAGGING +//=========================================== +testcase tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging() runs on Test_CT { + const BERPDU86 myValue := {b := true, c := 5 } + if ((enc_DER_PDU86(myValue) == '31068001058101FF'O)and(enc_CER_PDU86(myValue) == '31808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//=========================================== +// CER + DER encoding of SET (one element is equal to Default) AUTOMATIC TAGGING (unified) +//=========================================== +testcase tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT { + const BERPDU87 myValue1 := {b := true,c := 5 } + const BERPDU87 myValue2 := {b := false,c := 5 } + const BERPDU87 myValue3 := {c := 5,b := false } + const BERPDU87 myValue4 := {c := 5 , b := true } + + if ((enc_DER_PDU87(myValue1) == '3103810105'O)and(enc_CER_PDU87(myValue1) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU87(myValue2) == '3106800100810105'O)and(enc_CER_PDU87(myValue2) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU87(myValue3) == '3106800100810105'O)and(enc_CER_PDU87(myValue3) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if ((enc_DER_PDU87(myValue4) == '3103810105'O)and(enc_CER_PDU87(myValue4) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('3103810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('31808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('31068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('31808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('3106800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('31808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('3106810105800100'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + if (dec_BER_PDU87('31808101058001000000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} + +} +//=========================================== +// CER + DER encoding of SET (different order2)(one element is not equal to Default) AUTOMATIC TAGGING +//=========================================== +testcase tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging() runs on Test_CT { + const BERPDU88 myValue := {b := false, c := 5 } + if ((enc_DER_PDU88(myValue) == '3106800105810100'O)and(enc_CER_PDU88(myValue) == '31808001058101000000'O)) {setverdict(pass);} else {setverdict(fail);} +} + +//********************************************* +// CONTROL PART +//********************************************* + +control { + execute(tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging()); + execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging()); + execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging()); + execute(tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging()); + execute(tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging()) + execute(tc_CER_DER_encoding_of_SET_empty_automaticTagging()); + execute(tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging()); + execute(tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging()); + execute(tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging()); +} + +} diff --git a/function_test/BER_EncDec/BER_EncDec_20.ttcn b/function_test/BER_EncDec/BER_EncDec_20.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..25e96d52f92a4b07add9dc706f6f9f19e5a69262 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_20.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_20 { + +import from BER_EncDecA_20 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_21.ttcn b/function_test/BER_EncDec/BER_EncDec_21.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c962db887cdafe387cf95ec71f9073e4cb54be3d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_21.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_21 { + +import from BER_EncDecA_21 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_22.ttcn b/function_test/BER_EncDec/BER_EncDec_22.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f9946a6c50e44200f7469fa01ffed6c14534067b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_22.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_22 { + +import from BER_EncDecA_22 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_23.ttcn b/function_test/BER_EncDec/BER_EncDec_23.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e9b9d8db09dda7d8dd2de4dd078ad6049bba41b7 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_23.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_23 { + +import from BER_EncDecA_23 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_24.ttcn b/function_test/BER_EncDec/BER_EncDec_24.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..056a48a5668c5cdb87396d93acb523c064f57d5f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_24.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_24 { + +import from BER_EncDecA_24 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true} + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_25.ttcn b/function_test/BER_EncDec/BER_EncDec_25.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..184cee7d1a40bb9140de5a4bcdaed9da52607d2f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_25.ttcn @@ -0,0 +1,36 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_25 { + +import from BER_EncDecA_25 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_26.ttcn b/function_test/BER_EncDec/BER_EncDec_26.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..09750760dac59ee9734fa25037e956f100d25d64 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_26.ttcn @@ -0,0 +1,39 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_26 { + +import from BER_EncDecA_26 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { c := 5 , + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '31060201058501FF'O)and(enc_CER_PDU(myValue1) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '31060201058501FF'O)and(enc_CER_PDU(myValue2) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31060201058501FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800201058501FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31068501FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808501FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_27.ttcn b/function_test/BER_EncDec/BER_EncDec_27.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..927a32161706896fae5361572654adb49574e5a2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_27.ttcn @@ -0,0 +1,39 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_27 { + +import from BER_EncDecA_27 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true, + c := 5 , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310C8001FF8201068101058301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808001FF8201068101058301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_28.ttcn b/function_test/BER_EncDec/BER_EncDec_28.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5334dc7a69788f1ee1bfba1d13522e4e945f90a1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_28.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_28 { + +import from BER_EncDecA_28 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_29.ttcn b/function_test/BER_EncDec/BER_EncDec_29.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e6aece84b5683350cff5bdde984fea0dc9d58a10 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_29.ttcn @@ -0,0 +1,39 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_29 { + +import from BER_EncDecA_29 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true, + c := 5 , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310C8301FF8001FF820106810105'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808301FF8101058201068001FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_3.ttcn b/function_test/BER_EncDec/BER_EncDec_3.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..234f4c821a32fa666d28003849afa9f35d61b5d6 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_3.ttcn @@ -0,0 +1,66 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_3 { + +import from BER_EncDecA_3 all; + +external function enc_DER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU55(in octetstring stream) return BERPDU55 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU56(in octetstring stream) return BERPDU56 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU80(in octetstring stream) return BERPDU80 with { extension "prototype(convert) decode(BER)" } + + +const BERPDU55 myValue_55 := {b := true, + c := 5 } +const BERPDU56 myValue_56 := {b := true, + c := 5 } + +const BERPDU80 myValue_80 := {true, false } + + +type component TempComp {} +testcase TC() runs on TempComp { +//=================================================== +//CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT +//=================================================== +if ((enc_DER_PDU55(myValue_55) == '30079E01FF9F1F0105'O)and(enc_CER_PDU55(myValue_55) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU55('30079E01FF9F1F0105'O) == myValue_55){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU55('30809E01FF9F1F01050000'O) == myValue_55){setverdict(pass);} else {setverdict(fail);} + +//=================================================== +// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT +//=================================================== +if ((enc_DER_PDU56(myValue_56) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU56(myValue_56) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU56('A00C300AA0030101FFA103020105'O) == myValue_56){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU56('A0803080A0800101FF0000A180020105000000000000'O) == myValue_56){setverdict(pass);} else {setverdict(fail);} + + +//=================================================== +// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING (unified) +//=================================================== +if ((enc_DER_PDU80(myValue_80) == 'A00830060101FF010100'O)and(enc_CER_PDU80(myValue_80) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU80('A00830060101FF010100'O) == myValue_80){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU80('A08030800101FF01010000000000'O) == myValue_80){setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_30.ttcn b/function_test/BER_EncDec/BER_EncDec_30.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9d149687ed0915c42034a3be9e5717a0c2195e1b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_30.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_30 { + +import from BER_EncDecA_30 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_31.ttcn b/function_test/BER_EncDec/BER_EncDec_31.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..29bd9e0febfd4bf784f4f59b2acc3a2f994d9406 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_31.ttcn @@ -0,0 +1,39 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_31 { + +import from BER_EncDecA_31 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := '1'B , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue1) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310D020106030207800401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180020106030207800401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310D030207800201060401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180030207800201060401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_32.ttcn b/function_test/BER_EncDec/BER_EncDec_32.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f0695914aa1e15484830c1446d2463191e96c96d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_32.ttcn @@ -0,0 +1,38 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_32 { + +import from BER_EncDecA_32 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true, + c := '1'B , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_33.ttcn b/function_test/BER_EncDec/BER_EncDec_33.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0f7dc3d2319ffc9af182ea237e679c319b99da7b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_33.ttcn @@ -0,0 +1,39 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_33 { + +import from BER_EncDecA_33 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := '1'B , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue1) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310D030207800401FF8001FF810106'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180030207800401FF8001FF8101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310D8101060401FF8001FF03020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808001FF0401FF030207808101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_34.ttcn b/function_test/BER_EncDec/BER_EncDec_34.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ed42f5b58831a1ecddb018b724e4214ad75307c2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_34.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_34 { + +import from BER_EncDecA_34 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := '1'B , + x := 6, + y := 'FF'O } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_35.ttcn b/function_test/BER_EncDec/BER_EncDec_35.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1eabead7d0695ae4e6595ae514493f97f021d3d1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_35.ttcn @@ -0,0 +1,39 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_35 { + +import from BER_EncDecA_35 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := {x := true}, + c := 4} +const BERPDU myValue2 := { c := 4, + b := {x := true} } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue1) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue2) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3108A0038001FF810104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180A0808001FF00008101040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3108810104A0038001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180810104A0808001FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_36.ttcn b/function_test/BER_EncDec/BER_EncDec_36.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..be68d9a81c1e054398228244263ae159b526f8c2 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_36.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_36 { + +import from BER_EncDecA_36 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := { + c := 4, + b := {x := true} } + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '3108800104A1038001FF'O)and(enc_CER_PDU(myValue) == '3180800104A1808001FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_37.ttcn b/function_test/BER_EncDec/BER_EncDec_37.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..06a1fcc4ddda4000c15e4a6d3b2eb34aaae6defb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_37.ttcn @@ -0,0 +1,46 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_37 { + +import from BER_EncDecA_37 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := {x := true}, + c := 4} +const BERPDU myValue2 := {c := 4 , + b := {x := true}} +const BERPDU myValue3 := {b := {y := 'FF'O}, + c := 4} + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '31060101FF020104'O)and(enc_CER_PDU(myValue1) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '31060101FF020104'O)and(enc_CER_PDU(myValue2) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue3) == '31060201040401FF'O)and(enc_CER_PDU(myValue3) == '31800401FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31060101FF020104'O) == myValue1) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800101FF0201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31060201040101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800201040101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31060201040401FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800401FF0201040000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31060401FF020104'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800201040401FF0000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_38.ttcn b/function_test/BER_EncDec/BER_EncDec_38.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2e200c7f4c7062be60927befd6c62959ae46cc6d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_38.ttcn @@ -0,0 +1,49 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_38 { + +import from BER_EncDecA_38 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := { + a := 'FF'O, + b := true, + d := '1'B, + c := 4 + } +const BERPDU myValue2 := { + a := 'FF'O, + d := '1'B, + b := true, + c := 4 + } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue1) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue2) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808001FF8101FF820104830207800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310D8001FF830207808101FF820104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31808001FF830207808101FF8201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318300000D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318300000D8101FF820104830207808001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_39.ttcn b/function_test/BER_EncDec/BER_EncDec_39.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a6c8b2e3978c3c82908d10e03b306235fec2d86a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_39.ttcn @@ -0,0 +1,56 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_39 { + +import from BER_EncDecA_39 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {a := NULL, + b := true, + c := 2, + d := first, + e := 1.0, + f := '1'B, + g := 'FFFF'O, + h := myOBJID, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + + y2 := true } , + l := {y3 := 1.0 , + + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '31530101FF020102030207800402FFFF05000603000203090603312E452B300A0100300505000101FF310C03020780090603312E452B301603414243A1030101FFA3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '31800101FF020102030207800402FFFF05000603000203090603312E452B300A0100308005000101FF0000318003020780090603312E452B3000001603414243A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_4.ttcn b/function_test/BER_EncDec/BER_EncDec_4.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e90c769240ec68ab92ebe5dca760c1803d449ccf --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_4.ttcn @@ -0,0 +1,103 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_4 { + +import from BER_EncDecA_4 all; + +external function enc_DER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU52(in octetstring stream) return BERPDU52 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU53(in octetstring stream) return BERPDU53 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU57(in octetstring stream) return BERPDU57 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU81(in octetstring stream) return BERPDU81 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +//external function dec_BER_PDU89(in octetstring stream) return BERPDU89 with { extension "prototype(convert) decode(BER)" } + +external function enc_DER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +//external function dec_BER_PDU90(in octetstring stream) return BERPDU90 with { extension "prototype(convert) decode(BER)" } + +const BERPDU52 myValue_52 := {b := true,c := 5 } +const BERPDU53 myValue_53 := {b := true,c := 5 } +const BERPDU57 myValue_57 := {b := true,c := 5 } +const BERPDU81 myValue_81 := {true, false } +const BERPDU88 myValue1_88 := {b := true, c := 5 } +const BERPDU88 myValue2_88 := { c := 5, b := true } +const BERPDU89 myValue_89 := {b := true,c := 5 } +const BERPDU90 myValue_90 := {b := true,c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { +//=========================================== +//CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT +//=========================================== +if ((enc_DER_PDU52(myValue_52) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU52(myValue_52) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU52('300BBE030101FFBF1F03020105'O) == myValue_52){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU52('3080BE800101FF0000BF1F8002010500000000'O) == myValue_52){setverdict(pass);} else {setverdict(fail);} +//=========================================== +//CER + DER encoding of TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT +//=========================================== +if ((enc_DER_PDU53(myValue_53) == 'A0060101FF020105'O)and(enc_CER_PDU53(myValue_53) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU53('A0060101FF020105'O) == myValue_53){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU53('A0800101FF0201050000'O) == myValue_53){setverdict(pass);} else {setverdict(fail);} + +//=========================================== +// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT +//=========================================== +if ((enc_DER_PDU57(myValue_57) == 'A0068001FF810105'O)and(enc_CER_PDU57(myValue_57) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU57('A0068001FF810105'O) == myValue_57){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU57('A0808001FF8101050000'O) == myValue_57){setverdict(pass);} else {setverdict(fail);} +//=========================================== +// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING (unified) +//=========================================== +if ((enc_DER_PDU81(myValue_81) == 'A0060101FF010100'O)and(enc_CER_PDU81(myValue_81) == 'A0800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU81('A0060101FF010100'O) == myValue_81){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU81('A0800101FF0101000000'O) == myValue_81){setverdict(pass);} else {setverdict(fail);} +//=========================================== +// CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements (unified) +//=========================================== +if ((enc_DER_PDU88(myValue1_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue1_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU88(myValue2_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue2_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU88('31079E01FF9F1F0105'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU88('31809E01FF9F1F01050000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU88('31079F1F01059E01FF'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU88('31809F1F01059E01FF0000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} +//=========================================== +// CER + DER encoding of SET (different order2) (both elements are used) IMPLICIT TAGS for elements +//=========================================== +if ((enc_DER_PDU89(myValue_89) == '31079E01FF9F1F0105'O)and(enc_CER_PDU89(myValue_89) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} +//=========================================== +// CER + DER encoding of SET (different order2)(both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT +//=========================================== +if ((enc_DER_PDU90(myValue_90) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU90(myValue_90) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_40.ttcn b/function_test/BER_EncDec/BER_EncDec_40.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..667c197d0ed6236bfb3e8f0be0e742d450d25a9f --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_40.ttcn @@ -0,0 +1,71 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_40 { + +import from BER_EncDecA_40 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue1 := {a := NULL, + b := true, + c := 2, + d := first, + e := 1.0, + f := '1'B, + g := 'FFFF'O, + h := myOBJID, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + y2 := true } , + l := {y3 := 1.0 , + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } +const BERPDU myValue2 := {a := NULL, + c := 2, + d := first, + e := 1.0, + b := true, + f := '1'B, + g := 'FFFF'O, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + y2 := true } , + l := {y3 := 1.0 , + x3 := '1'B } , + h := myOBJID, + m := + { 1 ,2 } , + n := + { true, true } + } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O) + and(enc_CER_PDU(myValue1) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O) + and(enc_CER_PDU(myValue2) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_41.ttcn b/function_test/BER_EncDec/BER_EncDec_41.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fd1557bb4b06bf8993556fbf2abf0e3abd14aebd --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_41.ttcn @@ -0,0 +1,38 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_41 { + +import from BER_EncDecA_41 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := { + a := 1, + c := 3, + d := 4, + b := 2 } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '310C020101400102800103C00104'O)and(enc_CER_PDU(myValue1) == '3180020101400102800103C001040000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310C020101400102800103C00104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180020101400102800103C001040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_42.ttcn b/function_test/BER_EncDec/BER_EncDec_42.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9c2e4321c80c212dfaaced598e1a293b4676c150 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_42.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_42 { + +import from BER_EncDecA_42 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := { + a := 1, + c := 3, + d := 4, + b := 2 } + + +type component TempComp {} +testcase TC() runs on TempComp { +if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_43.ttcn b/function_test/BER_EncDec/BER_EncDec_43.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c0875a22cf92d9eaedd4e062368dbaac38f4955c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_43.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_43 { + +import from BER_EncDecA_43 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := { + a := 1, + c := 3, + d := 4, + b := 2 } + + +type component TempComp {} +testcase TC() runs on TempComp { +if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_44.ttcn b/function_test/BER_EncDec/BER_EncDec_44.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..19975345968c2b1422b1671eb0729b06a85ce609 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_44.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_44 { + +import from BER_EncDecA_44 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := { + a := 1, + b := {c:= 2}, + e := { f := {g := 3 } } + } + + +type component TempComp {} +testcase TC() runs on TempComp { +if ((enc_DER_PDU(myValue1) == '310BA103820102830101850103'O)and(enc_CER_PDU(myValue1) == '3180850103A18082010200008301010000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310BA103820102830101850103'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180850103A18082010200008301010000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_45.ttcn b/function_test/BER_EncDec/BER_EncDec_45.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ebeee46ce3602eb41566a73190382fa570f71f3d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_45.ttcn @@ -0,0 +1,38 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_45 { + +import from BER_EncDecA_45 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := { + a := 1, + b := {c:= 2}, + e := { f := { g := 3 } } + } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '3111A105A203020102A303020101A503020103'O)and(enc_CER_PDU(myValue1) == '3180A5800201030000A180A28002010200000000A38002010100000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3111A105A203020102A303020101A503020103'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180A5800201030000A180A28002010200000000A38002010100000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_46.ttcn b/function_test/BER_EncDec/BER_EncDec_46.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..50b6df11c4a1e799209b7bb44186a713e7711413 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_46.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_46 { + +import from BER_EncDecA_46 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + + +const BERPDU myValue := { + c := 5, + b := true } + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('31800201050101FF0000'O) == myValue) + + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_47.ttcn b/function_test/BER_EncDec/BER_EncDec_47.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..72e57d0a4ffd06386af07b942447387f8e50e0ea --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_47.ttcn @@ -0,0 +1,52 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_47 { + +import from BER_EncDecA_47 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {a := NULL, + b := true, + c := 2, + d := first, + // e := 1.0, + f := '1'B, + g := 'FFFF'O, + h := myOBJID, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + y2 := true } , + l := {y3 := NULL , + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('31450101FF020102030207800402FFFF050006030002030A01001603414243300505000101FF3106030207800500A1030101FFA3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800101FF020102030207800402FFFF050006030002030A01001603414243308005000101FF000031800302078005000000A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31450101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF0500'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800101FF0201020A0100030207800402FFFF050006030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_48.ttcn b/function_test/BER_EncDec/BER_EncDec_48.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c99126097065ba1c9b057f1d7861203de8a2eab4 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_48.ttcn @@ -0,0 +1,52 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_48 { + +import from BER_EncDecA_48 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {a := NULL, + b := true, + c := 2, + d := first, + e := NULL, + f := '1'B, + g := 'FFFF'O, + h := myOBJID, + i := "ABC", + j := {x1 := true } , + k := {x2 := NULL, + y2 := true } , + l := {y3 := NULL , + x3 := '1'B } , + m := + { 1 ,2 } , + n := + { true, true } + } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('314380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31438101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF8000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318080008201028101FF8301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_49.ttcn b/function_test/BER_EncDec/BER_EncDec_49.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f7abe4238e85f8e5b01d0dbbffbc3b7e12b28df1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_49.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_49 { + +import from BER_EncDecA_49 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := { } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '3100'O)and(enc_CER_PDU(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_5.ttcn b/function_test/BER_EncDec/BER_EncDec_5.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..69844c30655e8fa5214f3928206822b88cc77a1b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_5.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_5 { + +import from BER_EncDecA_5 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5 , + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue1) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue2) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_50.ttcn b/function_test/BER_EncDec/BER_EncDec_50.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..66f6b04098dc70e00370e81fb5a2d2890baa8d36 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_50.ttcn @@ -0,0 +1,36 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_50 { + +import from BER_EncDecA_50 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {true, false } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '31060101000101FF'O)and(enc_CER_PDU(myValue) == '31800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_51.ttcn b/function_test/BER_EncDec/BER_EncDec_51.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5b0247927c512addc650f271ae993a26ac2f8de5 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_51.ttcn @@ -0,0 +1,36 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_51 { + +import from BER_EncDecA_51 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {'FFFF'O, 'AB'O }; + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '31070401AB0402FFFF'O)and(enc_CER_PDU(myValue) == '31800401AB0402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31070401AB0402FFFF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800401AB0402FFFF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_52.ttcn b/function_test/BER_EncDec/BER_EncDec_52.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..77d8cdb6ce3c52ab654a34eac5e480ec16a3f317 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_52.ttcn @@ -0,0 +1,47 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_52 { + +import from BER_EncDecA_52 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { + { + a := 5, + b := true + }, + + { + a := 3, + b := false + } + + }; + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '3110300602010301010030060201050101FF'O)and(enc_CER_PDU(myValue) == '31803080020103010100000030800201050101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3110300602010301010030060201050101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31803080020103010100000030800201050101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('311030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_53.ttcn b/function_test/BER_EncDec/BER_EncDec_53.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a4bc3272cec2f3f12b5da0cd6fd5b6501064dbf --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_53.ttcn @@ -0,0 +1,46 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_53 { + +import from BER_EncDecA_53 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { + { + a := 5, + b := true + }, + + { + a := 3, + b := false + } + }; + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '3110310601010002010331060101FF020105'O)and(enc_CER_PDU(myValue) == '31803180010100020103000031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3110310601010002010331060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31803180010100020103000031800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('311031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_54.ttcn b/function_test/BER_EncDec/BER_EncDec_54.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5565195eb00bab99c80fa849080e2598c4f7be88 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_54.ttcn @@ -0,0 +1,43 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_54 { + +import from BER_EncDecA_54 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { + { + a := 5 + }, + { + b := false + } + }; + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3106010100020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800101000201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3106020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('31800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_55.ttcn b/function_test/BER_EncDec/BER_EncDec_55.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..89005371328b09112e19e3c497a436f438e98a9a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_55.ttcn @@ -0,0 +1,47 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_55 { + +import from BER_EncDecA_55 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { + { + 5, + 6, + 7 + }, + { + 1, + 2, + 3 + } + }; + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '311630090201010201020201033009020105020106020107'O)and(enc_CER_PDU(myValue) == '318030800201010201020201030000308002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('311630090201010201020201033009020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318030800201010201020201030000308002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('311630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_56.ttcn b/function_test/BER_EncDec/BER_EncDec_56.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1090902449d3a72b95d87f5470a8fd49ac725667 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_56.ttcn @@ -0,0 +1,39 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_56 { + +import from BER_EncDecA_56 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := { + {5,6,7}, + {1,2,3} + }; + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '311631090201010201020201033109020105020106020107'O)and(enc_CER_PDU(myValue) == '318031800201010201020201030000318002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('311631090201010201020201033109020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318031800201010201020201030000318002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('311631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('318031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_57.ttcn b/function_test/BER_EncDec/BER_EncDec_57.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2c1995ee4f76c6f978945d8640e2dddb896feb29 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_57.ttcn @@ -0,0 +1,36 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_57 { + +import from BER_EncDecA_57 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {true, false } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_58.ttcn b/function_test/BER_EncDec/BER_EncDec_58.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f4c870a602431676c76dfec7dbf501560db2cddf --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_58.ttcn @@ -0,0 +1,36 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_58 { + +import from BER_EncDecA_58 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {true, false } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_59.ttcn b/function_test/BER_EncDec/BER_EncDec_59.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6a705d059affcea2095d8d9372fd660d1545a309 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_59.ttcn @@ -0,0 +1,36 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_59 { + +import from BER_EncDecA_59 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {true, false } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A0060101000101FF'O)and(enc_CER_PDU(myValue) == 'A0800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_6.ttcn b/function_test/BER_EncDec/BER_EncDec_6.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0a5b8d80a9fc5ae1378eb0599b588dbe469a954b --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_6.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_6 { + +import from BER_EncDecA_6 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_60.ttcn b/function_test/BER_EncDec/BER_EncDec_60.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7e584ccf5170fb7d30845f54bcd1a063889ad210 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_60.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_60 { + +import from BER_EncDecA_60 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {'FFFF'O, ''O }; + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '310604000402FFFF'O)and(enc_CER_PDU(myValue) == '318004000402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_61.ttcn b/function_test/BER_EncDec/BER_EncDec_61.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..504329b13f3d78d0d13226a3fee929419e2a3c48 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_61.ttcn @@ -0,0 +1,77 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_61 { + +import from BER_EncDecA_61 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {a := NULL} +const BERPDU myValue2 := {b := true} +const BERPDU myValue3 := {c := 2} +const BERPDU myValue4 := {d := first} +const BERPDU myValue5 := {e := 1.0} +const BERPDU myValue6 := {f := '1'B} +const BERPDU myValue7 := {g := 'FFFF'O} + +const BERPDU myValue9 := {i := "ABC"} +const BERPDU myValue10 := {j := {x1 := true } } +const BERPDU myValue11 := {k := {x2 := NULL, + y2 := true } } +const BERPDU myValue12 := {l := {y3 := 1.0 , + x3 := '1'B } } +const BERPDU myValue13 := {m := + { 1 ,2 } } +const BERPDU myValue14 := {n := + { true, true } } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '0500'O)and(enc_CER_PDU(myValue1) == '0500'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '0101FF'O)and(enc_CER_PDU(myValue2) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue3) == '020102'O)and(enc_CER_PDU(myValue3) == '020102'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue4) == '0A0100'O)and(enc_CER_PDU(myValue4) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue5) == '090603312E452B30'O)and(enc_CER_PDU(myValue5) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue6) == '03020780'O)and(enc_CER_PDU(myValue6) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue7) == '0402FFFF'O)and(enc_CER_PDU(myValue7) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue8) == '0603000203'O)and(enc_CER_PDU(myValue8) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue9) == '1603414243'O)and(enc_CER_PDU(myValue9) == '1603414243'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue10) == 'A1030101FF'O)and(enc_CER_PDU(myValue10) == 'A1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue11) == '300505000101FF'O)and(enc_CER_PDU(myValue11) == '308005000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue12) == '310C03020780090603312E452B30'O)and(enc_CER_PDU(myValue12) == '318003020780090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue13) == 'A3083006020101020102'O)and(enc_CER_PDU(myValue13) == 'A380308002010102010200000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue14) == 'A40831060101FF0101FF'O)and(enc_CER_PDU(myValue14) == 'A48031800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0500'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('020102'O) == myValue3){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0A0100'O) == myValue4){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('03020780'O) == myValue6){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0402FFFF'O) == myValue7){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0603000203'O) == myValue8){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('1603414243'O) == myValue9){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A1030101FF'O) == myValue10){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A1800101FF0000'O) == myValue10){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('300505000101FF'O) == myValue11){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('308005000101FF0000'O) == myValue11){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3083006020101020102'O) == myValue13){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A380308002010102010200000000'O) == myValue13){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A40831060101FF0101FF'O) == myValue14){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A48031800101FF0101FF00000000'O) == myValue14){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_62.ttcn b/function_test/BER_EncDec/BER_EncDec_62.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2e5b9d7728896ebff14f1d350d2a2bc486e68aee --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_62.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_62 { + +import from BER_EncDecA_62 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '0101FF'O)and(enc_CER_PDU(myValue1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_63.ttcn b/function_test/BER_EncDec/BER_EncDec_63.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bf43205fe2529afefd422d7e370b915e8602cefb --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_63.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_63 { + +import from BER_EncDecA_63 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_64.ttcn b/function_test/BER_EncDec/BER_EncDec_64.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fe800284b824ab00c9ed4c6ed8e1db913f9174d4 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_64.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_64 { + +import from BER_EncDecA_64 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_65.ttcn b/function_test/BER_EncDec/BER_EncDec_65.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0cd0fc67d1dad6c319a78035e5b56e6a1e3f72df --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_65.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_65 { + +import from BER_EncDecA_65 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '8001FF'O)and(enc_CER_PDU(myValue) == '8001FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('8001FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_66.ttcn b/function_test/BER_EncDec/BER_EncDec_66.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a456c2345261b975b57547694982be810fae64e0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_66.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_66 { + +import from BER_EncDecA_66 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_67.ttcn b/function_test/BER_EncDec/BER_EncDec_67.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..531ab4003b29c462e26c076be223339a29ced0f4 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_67.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_67 { + +import from BER_EncDecA_67 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_68.ttcn b/function_test/BER_EncDec/BER_EncDec_68.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49c81a30df52d63f77a8df08a48628c9de078e4a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_68.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_68 { + +import from BER_EncDecA_68 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_69.ttcn b/function_test/BER_EncDec/BER_EncDec_69.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b045d6be8b8db6406120721a3932e68ebc86b6f7 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_69.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_69 { + +import from BER_EncDecA_69 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_7.ttcn b/function_test/BER_EncDec/BER_EncDec_7.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3a5d127cc3502a8932b8ea69645efe0f552394e1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_7.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_7 { + +import from BER_EncDecA_7 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5, + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_70.ttcn b/function_test/BER_EncDec/BER_EncDec_70.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..06e902aed41216821ad443c097049797e18a49e8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_70.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_70 { + +import from BER_EncDecA_70 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_71.ttcn b/function_test/BER_EncDec/BER_EncDec_71.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..746103382e9cba75245763e6b8f7239ba108f506 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_71.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_71 { + +import from BER_EncDecA_71 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_72.ttcn b/function_test/BER_EncDec/BER_EncDec_72.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e1ef62448520d1e94d94bd7b443c2ead1e522d26 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_72.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_72 { + +import from BER_EncDecA_72 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_73.ttcn b/function_test/BER_EncDec/BER_EncDec_73.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7878bcb552e29f6c4f3cba9a6b82f1ed7100be51 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_73.ttcn @@ -0,0 +1,33 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_73 { + +import from BER_EncDecA_73 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_74.ttcn b/function_test/BER_EncDec/BER_EncDec_74.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8d007281227b97c2d9cd50b36a378a6fab6380b8 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_74.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_74 { + +import from BER_EncDecA_74 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_75.ttcn b/function_test/BER_EncDec/BER_EncDec_75.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c0329a06121510d44e869c52a8819fef3d459c8d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_75.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_75 { + +import from BER_EncDecA_75 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_76.ttcn b/function_test/BER_EncDec/BER_EncDec_76.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5125628c2670d8fdd46413c43fc3839e4b00c78d --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_76.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_76 { + +import from BER_EncDecA_76 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_77.ttcn b/function_test/BER_EncDec/BER_EncDec_77.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a3f2cff5170a0729fdebb2d164718a8a9fcfe364 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_77.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_77 { + +import from BER_EncDecA_77 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_78.ttcn b/function_test/BER_EncDec/BER_EncDec_78.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b6fdd976dde407b06c2ab7ad16a13ebfc608cd23 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_78.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_78 { + +import from BER_EncDecA_78 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0038301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A0808301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_79.ttcn b/function_test/BER_EncDec/BER_EncDec_79.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..943c9dcbfd7304adf0ba42d21490e8401ce938ea --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_79.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_79 { + +import from BER_EncDecA_79 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_8.ttcn b/function_test/BER_EncDec/BER_EncDec_8.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c8eea667d23cc1f12d9e5bc4298a0c1e1e9591d0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_8.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_8 { + +import from BER_EncDecA_8 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true, + c := 5 } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_80.ttcn b/function_test/BER_EncDec/BER_EncDec_80.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0f19aa3016a60c88d876ad0fa116dbe070778d53 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_80.ttcn @@ -0,0 +1,34 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_80 { + +import from BER_EncDecA_80 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_81.ttcn b/function_test/BER_EncDec/BER_EncDec_81.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e4287b18a3656588bb514dd0153b7aa936149c34 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_81.ttcn @@ -0,0 +1,35 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_81 { + +import from BER_EncDecA_81 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + +const BERPDU myValue := {b := true } + + +type component TempComp {} +testcase TC() runs on TempComp { + + + + +if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_82.ttcn b/function_test/BER_EncDec/BER_EncDec_82.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2bbd9bf58f3d6a92840afcde9eb9237e56393ef0 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_82.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_82 { + +import from BER_EncDecA_82 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {l := {y3 := 'FFFF'O , + + x3 := '1'B } } + + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('3108030207800402FFFF'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_83.ttcn b/function_test/BER_EncDec/BER_EncDec_83.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55cf3fdd9e149f004a36cc87cd949b61df1f6439 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_83.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_83 { + +import from BER_EncDecA_83 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {l := {y3 := 'FFFF'O , + + x3 := '1'B } } + + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('3180030207800402FFFF0000'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_84.ttcn b/function_test/BER_EncDec/BER_EncDec_84.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4363e93bc0e46b20699f948f6f5c66a71291bc65 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_84.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_84 { + +import from BER_EncDecA_84 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('A0038301FF'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_85.ttcn b/function_test/BER_EncDec/BER_EncDec_85.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..58a74ce46548fff72074dc509b3a18dde3186429 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_85.ttcn @@ -0,0 +1,37 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_85 { + +import from BER_EncDecA_85 all; + + +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue := {b := true } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if (dec_BER_PDU('A0808301FF0000'O) == myValue) + + +{setverdict(pass);} else {setverdict(fail);} + + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_86.ttcn b/function_test/BER_EncDec/BER_EncDec_86.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4cfd80b9b17dbd8231c84eb586da99c84eb87de9 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_86.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_86 { + +import from BER_EncDecA_86 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_87.ttcn b/function_test/BER_EncDec/BER_EncDec_87.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..99fba54c4d3988b19101f991e2cb18595435d431 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_87.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_87 { + +import from BER_EncDecA_87 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_88.ttcn b/function_test/BER_EncDec/BER_EncDec_88.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..01ceede5a7d6bd007ab9d852bde0a9614945204a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_88.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_88 { + +import from BER_EncDecA_88 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_89.ttcn b/function_test/BER_EncDec/BER_EncDec_89.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3392efe809519cfe51de793518f4a9eaeb282912 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_89.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_89 { + +import from BER_EncDecA_89 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_9.ttcn b/function_test/BER_EncDec/BER_EncDec_9.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b4a1318963397e3d9393740cbe74e5db94dbc58a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_9.ttcn @@ -0,0 +1,40 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_9 { + +import from BER_EncDecA_9 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } +external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } + +const BERPDU myValue1 := {b := true, + c := 5 } +const BERPDU myValue2 := { + c := 5 , + b := true } + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} +if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_90.ttcn b/function_test/BER_EncDec/BER_EncDec_90.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5c9122500317e75fb99c7b843c8c82803b97e022 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_90.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_90 { + +import from BER_EncDecA_90 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_91.ttcn b/function_test/BER_EncDec/BER_EncDec_91.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..274983c28829f1de2cd1584ff0f83aa1e38c437e --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_91.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_91 { + +import from BER_EncDecA_91 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_92.ttcn b/function_test/BER_EncDec/BER_EncDec_92.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..880713a0fe2adbc3d068de8119ad52a885b18c54 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_92.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_92 { + +import from BER_EncDecA_92 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_93.ttcn b/function_test/BER_EncDec/BER_EncDec_93.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..57728790e0fe0492f271ba2c908443003511d5f6 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_93.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_93 { + +import from BER_EncDecA_93 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_94.ttcn b/function_test/BER_EncDec/BER_EncDec_94.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e5d060047353a9293a508d9700921108a2a14c1 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_94.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_94 { + +import from BER_EncDecA_94 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_95.ttcn b/function_test/BER_EncDec/BER_EncDec_95.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ac5377317269c7a5eb7504c6c99a45814cd98a7c --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_95.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_95 { + +import from BER_EncDecA_95 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_96.ttcn b/function_test/BER_EncDec/BER_EncDec_96.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c872c7adcf2be6aefa5743aa8e3cbdbbba08f0ac --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_96.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_96 { + +import from BER_EncDecA_96 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_97.ttcn b/function_test/BER_EncDec/BER_EncDec_97.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3f5052938f8b8d11e347f6cdc027ac28f08e4496 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_97.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_97 { + +import from BER_EncDecA_97 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_98.ttcn b/function_test/BER_EncDec/BER_EncDec_98.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a6787f8697fd726f071c4b6137e6ad38cc72b98a --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_98.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_98 { + +import from BER_EncDecA_98 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_99.ttcn b/function_test/BER_EncDec/BER_EncDec_99.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..17065e7d2cd1a90266946940354410c104bcef70 --- /dev/null +++ b/function_test/BER_EncDec/BER_EncDec_99.ttcn @@ -0,0 +1,31 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module BER_EncDec_99 { + +import from BER_EncDecA_99 all; + +external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } +external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } + + + + +type component TempComp {} +testcase TC() runs on TempComp { + +if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/BER_EncDec/BER_EncDec_TD.fast_script b/function_test/BER_EncDec/BER_EncDec_TD.fast_script deleted file mode 100644 index fabf81bace15f51ca756d617801bab897953cf3b..0000000000000000000000000000000000000000 --- a/function_test/BER_EncDec/BER_EncDec_TD.fast_script +++ /dev/null @@ -1,11126 +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 -.* -.******************************************************************************/ -: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 - BER 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 BER coder function. -The original test cases can be found in the BER_EncDec_TD.script file. -The reason for the unification was to get a really fast version of the tests. - -: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 FIELDLENGTH Attribute -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN, (unified test) -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. DER + CER coding without AUTOMATIC TAGGING (unified test) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN, (unified test)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= - -BEGIN - - IMPORTS; - - BERPDU1 ::= BOOLEAN - BERPDU2 ::= [0] EXPLICIT BOOLEAN - BERPDU3 ::= [PRIVATE 1] EXPLICIT BOOLEAN - BERPDU4 ::= [APPLICATION 2] EXPLICIT BOOLEAN - BERPDU5 ::= [0] IMPLICIT BOOLEAN - BERPDU6 ::= [PRIVATE 1] IMPLICIT BOOLEAN - BERPDU7 ::= [APPLICATION 2] IMPLICIT BOOLEAN - - BERPDU8 ::= INTEGER - BERPDU9 ::= [0] EXPLICIT INTEGER - BERPDU10 ::= [PRIVATE 1] EXPLICIT INTEGER - BERPDU11 ::= [APPLICATION 2] EXPLICIT INTEGER - BERPDU12 ::= [0] IMPLICIT INTEGER - BERPDU13 ::= [PRIVATE 1] IMPLICIT INTEGER - BERPDU14 ::= [APPLICATION 2] IMPLICIT INTEGER - BERPDU15 ::= [30] EXPLICIT INTEGER - BERPDU16 ::= [31] EXPLICIT INTEGER - BERPDU17 ::= [127] EXPLICIT INTEGER - BERPDU18 ::= [128] EXPLICIT INTEGER - BERPDU19 ::= [16383] EXPLICIT INTEGER - BERPDU20 ::= [16384] EXPLICIT INTEGER - - BERPDU21 ::= ENUMERATED {first(-5), second(0), third(9)} - BERPDU22 ::= ENUMERATED {first, second, third} - BERPDU23 ::= ENUMERATED {first, second(0),third} - BERPDU24 ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - BERPDU25 ::= [21] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - BERPDU26 ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - BERPDU27 ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - BERPDU28 ::= REAL - BERPDU29 ::= [0] IMPLICIT REAL - BERPDU30 ::= [0] EXPLICIT REAL - - BERPDU31 ::= BIT STRING - BERPDU32 ::= [0] IMPLICIT BIT STRING - BERPDU33 ::= [0] EXPLICIT BIT STRING - - BERPDU34 ::= OCTET STRING - BERPDU35 ::= [0] IMPLICIT OCTET STRING - BERPDU36 ::= [0] EXPLICIT OCTET STRING - BERPDU37 ::= NULL - BERPDU38 ::= [0] EXPLICIT NULL - BERPDU39 ::= [PRIVATE 1] EXPLICIT NULL - BERPDU40 ::= [APPLICATION 2] EXPLICIT NULL - BERPDU41 ::= [0] IMPLICIT NULL - BERPDU42 ::= [PRIVATE 1] IMPLICIT NULL - BERPDU43 ::= [APPLICATION 2] IMPLICIT NULL - - BERPDU44 ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - BERPDU45 ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - BERPDU48 ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - BERPDU49 ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - BERPDU50 ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - BERPDU54 ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - BERPDU65 ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - c INTEGER OPTIONAL - - } - - BERPDU67 ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - myOBJID-67 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - BERPDU69 ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - --e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - l SET { x3 BIT STRING, - y3 NULL}, - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - myOBJID-69 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - BERPDU71 ::= SEQUENCE OF INTEGER - BERPDU72 ::= SEQUENCE OF BOOLEAN - BERPDU73 ::= SEQUENCE OF OCTET STRING - BERPDU74 ::= SEQUENCE OF SEQUENCE {a INTEGER, b BOOLEAN} - BERPDU75 ::= SEQUENCE OF SET {a INTEGER, b BOOLEAN} - BERPDU76 ::= SEQUENCE OF SEQUENCE OF INTEGER - BERPDU77 ::= SEQUENCE OF CHOICE{a INTEGER, b BOOLEAN} - BERPDU78 ::= SEQUENCE OF SET OF INTEGER - BERPDU79 ::= [0] SEQUENCE OF BOOLEAN - BERPDU82 ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - BERPDU83 ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - BERPDU84 ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN DEFAULT TRUE - } - - - myBooleanValue1-1 BERPDU1 ::= TRUE - myBooleanValue2-1 BERPDU1 ::= FALSE - - myBooleanValue1-2 BERPDU2 ::= TRUE - myBooleanValue1-3 BERPDU3 ::= TRUE - - myBooleanValue1-4 BERPDU4 ::= TRUE - myBooleanValue1-5 BERPDU5 ::= TRUE - myBooleanValue1-6 BERPDU6 ::= FALSE - myBooleanValue2-6 BERPDU6 ::= TRUE - myBooleanValue1-7 BERPDU6 ::= FALSE - myBooleanValue2-7 BERPDU6 ::= TRUE - - b8-8 BERPDU8 ::= 5 - b9-8 BERPDU8 ::= 0 - b10-8 BERPDU8 ::= 127 - b11-8 BERPDU8 ::= -128 - b12-8 BERPDU8 ::= -5 - b13-8 BERPDU8 ::= 128 - b14-8 BERPDU8 ::= -129 - - b8-9 BERPDU9 ::= 5 - b9-9 BERPDU9 ::= 0 - b10-9 BERPDU9 ::= 127 - b11-9 BERPDU9 ::= -128 - b12-9 BERPDU9 ::= -5 - b13-9 BERPDU9 ::= 128 - b14-9 BERPDU9 ::= -129 - - b8-10 BERPDU10 ::= 5 - b9-10 BERPDU10 ::= 0 - b10-10 BERPDU10 ::= 127 - b11-10 BERPDU10 ::= -128 - b12-10 BERPDU10 ::= -5 - b13-10 BERPDU10 ::= 128 - b14-10 BERPDU10 ::= -129 - - b8-11 BERPDU11 ::= 5 - b9-11 BERPDU11 ::= 0 - b10-11 BERPDU11 ::= 127 - b11-11 BERPDU11 ::= -128 - b12-11 BERPDU11 ::= -5 - b13-11 BERPDU11 ::= 128 - b14-11 BERPDU11 ::= -129 - - b8-12 BERPDU12 ::= 5 - b9-12 BERPDU12 ::= 0 - b10-12 BERPDU12 ::= 127 - b11-12 BERPDU12 ::= -128 - b12-12 BERPDU12 ::= -5 - b13-12 BERPDU12 ::= 128 - b14-12 BERPDU12 ::= -129 - - b8-13 BERPDU13 ::= 5 - b9-13 BERPDU13 ::= 0 - b10-13 BERPDU13 ::= 127 - b11-13 BERPDU13 ::= -128 - b12-13 BERPDU13 ::= -5 - b13-13 BERPDU13 ::= 128 - b14-13 BERPDU13 ::= -129 - - b8-14 BERPDU14 ::= 5 - b9-14 BERPDU14 ::= 0 - b10-14 BERPDU14 ::= 127 - b11-14 BERPDU14 ::= -128 - b12-14 BERPDU14 ::= -5 - b13-14 BERPDU14 ::= 128 - b14-14 BERPDU14 ::= -129 - - b2-15 BERPDU15 ::= 5 - - b7-24 BERPDU24 ::= first - b8-24 BERPDU24 ::= third - b9-24 BERPDU24 ::= fourth - b10-24 BERPDU24 ::= fifth - b11-24 BERPDU24 ::= sixth - b12-24 BERPDU24 ::= second - - b2-26 BERPDU26 ::= first - b3-26 BERPDU26 ::= second - b4-26 BERPDU26 ::= third - b5-26 BERPDU26 ::= fourth - b6-26 BERPDU26 ::= fifth - b7-26 BERPDU26 ::= sixth - - b1-27 BERPDU27 ::= first - b2-27 BERPDU27 ::= second - b3-27 BERPDU27 ::= third - b4-27 BERPDU27 ::= fourth - b5-27 BERPDU27 ::= fifth - b6-27 BERPDU27 ::= sixth - - b1-28 BERPDU28 ::= 0 - b2-28 BERPDU28 ::= 0.0 - b3-28 BERPDU28 ::= 0E0 - b4-28 BERPDU28 ::= 0.0E0 - b5-28 BERPDU28 ::= 0e0 - b6-28 BERPDU28 ::= 0.0e0 - b7-28 BERPDU28 ::= 0E+0 - b8-28 BERPDU28 ::= 0.0E+0 - b9-28 BERPDU28 ::= 0e+0 - b10-28 BERPDU28 ::= 0.0e+0 - b11-28 BERPDU28 ::= 0E-0 - b12-28 BERPDU28 ::= 0.0E-0 - b13-28 BERPDU28 ::= 0e-0 - b14-28 BERPDU28 ::= 0.0e-0 - b15-28 BERPDU28 ::= 1 - b16-28 BERPDU28 ::= 1e0 - b17-28 BERPDU28 ::= 1E0 - b18-28 BERPDU28 ::= 1.0e0 - b19-28 BERPDU28 ::= 1.0E0 - b20-28 BERPDU28 ::= 1e+0 - b21-28 BERPDU28 ::= 1E+0 - b22-28 BERPDU28 ::= 1.0e+0 - b23-28 BERPDU28 ::= 1.0E+0 - b24-28 BERPDU28 ::= 1e-0 - b25-28 BERPDU28 ::= 1E-0 - b26-28 BERPDU28 ::= 1.0e-0 - b27-28 BERPDU28 ::= 1.0E-0 - b28-28 BERPDU28 ::= 2 - b29-28 BERPDU28 ::= 2.0 - b30-28 BERPDU28 ::= -1 - b31-28 BERPDU28 ::= -1e0 - b32-28 BERPDU28 ::= -1E0 - b33-28 BERPDU28 ::= -1.0e0 - b34-28 BERPDU28 ::= -1.0E0 - b35-28 BERPDU28 ::= -1e+0 - b36-28 BERPDU28 ::= -1E+0 - b37-28 BERPDU28 ::= -1.0e+0 - b38-28 BERPDU28 ::= -1.0E+0 - b39-28 BERPDU28 ::= -1e-0 - b40-28 BERPDU28 ::= -1E-0 - b41-28 BERPDU28 ::= -1.0e-0 - b42-28 BERPDU28 ::= -1.0E-0 - b43-28 BERPDU28 ::= -1.0 - b44-28 BERPDU28 ::= 1.000 - b45-28 BERPDU28 ::= -1.000 - b46-28 BERPDU28 ::= 12 - b47-28 BERPDU28 ::= 12.0 - b48-28 BERPDU28 ::= 12.0E0 - b49-28 BERPDU28 ::= 1.2E1 - b50-28 BERPDU28 ::= 0.12E2 - b51-28 BERPDU28 ::= 1.2E1 - b52-28 BERPDU28 ::= 0.12E2 - b53-28 BERPDU28 ::= 0.34 - b54-28 BERPDU28 ::= 0.344 - b55-28 BERPDU28 ::= 0.345 - b56-28 BERPDU28 ::= 0.034 - b57-28 BERPDU28 ::= 0.0034 - b58-28 BERPDU28 ::= 0.304 - b59-28 BERPDU28 ::= 0.1234567890 - b60-28 BERPDU28 ::= 0.123456789 - b61-28 BERPDU28 ::= 0.0123456789 - b62-28 BERPDU28 ::= 123456789.0 - b63-28 BERPDU28 ::= 123456789 - b64-28 BERPDU28 ::= 1234567890 - b65-28 BERPDU28 ::= 1234567890.0 - b66-28 BERPDU28 ::= 1234567890.00 - b67-28 BERPDU28 ::= 12345678900.0 - b68-28 BERPDU28 ::= 12345678900.0 - b69-28 BERPDU28 ::= 12345678900.00 - b70-28 BERPDU28 ::= -12 - b71-28 BERPDU28 ::= -12.0 - b72-28 BERPDU28 ::= -12.0E0 - b73-28 BERPDU28 ::= -1.2E1 - b74-28 BERPDU28 ::= -0.12E2 - b75-28 BERPDU28 ::= -1.2E1 - b76-28 BERPDU28 ::= -0.12E2 - b77-28 BERPDU28 ::= -0.34 - b78-28 BERPDU28 ::= -0.344 - b79-28 BERPDU28 ::= -0.345 - b80-28 BERPDU28 ::= -0.034 - b81-28 BERPDU28 ::= -0.0034 - b82-28 BERPDU28 ::= -0.304 - b83-28 BERPDU28 ::= -0.1234567890 - b84-28 BERPDU28 ::= -0.123456789 - b85-28 BERPDU28 ::= -0.0123456789 - b86-28 BERPDU28 ::= -123456789.0 - b87-28 BERPDU28 ::= -123456789 - b88-28 BERPDU28 ::= -1234567890 - b89-28 BERPDU28 ::= -1234567890.0 - b90-28 BERPDU28 ::= -1234567890.00 - b91-28 BERPDU28 ::= -12345678900.0 - b92-28 BERPDU28 ::= -12345678900.0 - b93-28 BERPDU28 ::= -12345678900.00 - b94-28 BERPDU28 ::= PLUS-INFINITY - b95-28 BERPDU28 ::= MINUS-INFINITY - - b-29 BERPDU29 ::= 1 - b-30 BERPDU30 ::= 1 - - b6-31 BERPDU31 ::= -'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H -b7-31 BERPDU31 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H -b8-31 BERPDU31 ::= ''B -b9-31 BERPDU31 ::='1'B -b10-31 BERPDU31 ::='11'B -b11-31 BERPDU31 ::='1010101'B -b12-31 BERPDU31 ::='10101011010101'B -b13-31 BERPDU31 ::='10101010'B -b14-31 BERPDU31 ::='1010101010101010'B -b15-31 BERPDU31 ::='111100001'B -b16-31 BERPDU31 ::='111100001111100001'B -b17-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H -b18-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H -b19-31 BERPDU31 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -b-32 BERPDU32 ::='1'B - -b5-34 BERPDU34 ::=''H -b6-34 BERPDU34 ::='FFFF'H -b7-34 BERPDU34 ::='FFFFFFFF'H -b8-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H -b9-34 BERPDU34 ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H -b10-34 BERPDU34 ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H -myIntegerValue-34 BERPDU34 ::='FFFF'H -myIntegerValue-35 BERPDU35 ::='FFFF'H -myIntegerValue-36 BERPDU36 ::='FFFF'H - -myNullValue-37 BERPDU37 ::= NULL -myNullValue-38 BERPDU38 ::= NULL -myNullValue-39 BERPDU39 ::= NULL -myNullValue-40 BERPDU40 ::= NULL -myNullValue-41 BERPDU41 ::= NULL -myNullValue-42 BERPDU42 ::= NULL -myNullValue-43 BERPDU43 ::= NULL - - - -END - -<STATIC> - - -type component Test_CT {} - -<TTCN_TC:PURE_EXEC> - -import from TempA all; -external function enc_DER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU1(in BERPDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -external function enc_DER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU2(in BERPDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU3(in BERPDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU4(in BERPDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU5(in BERPDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU6(in BERPDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU7(in BERPDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU8(in BERPDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU9(in BERPDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU10(in BERPDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU11(in BERPDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU12(in BERPDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU13(in BERPDU13 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU14(in BERPDU14 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU15(in BERPDU15 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU16(in BERPDU16 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU17(in BERPDU17 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU18(in BERPDU18 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU19(in BERPDU19 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU20(in BERPDU20 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU21(in BERPDU21 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU22(in BERPDU22 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU23(in BERPDU23 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU24(in BERPDU24 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU25(in BERPDU25 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU26(in BERPDU26 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU27(in BERPDU27 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU28(in BERPDU28 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU29(in BERPDU29 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU30(in BERPDU30 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU31(in BERPDU31 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU32(in BERPDU32 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU33(in BERPDU33 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU34(in BERPDU34 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU35(in BERPDU35 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU36(in BERPDU36 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU37(in BERPDU37 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU38(in BERPDU38 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU39(in BERPDU39 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU40(in BERPDU40 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU41(in BERPDU41 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU42(in BERPDU42 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU43(in BERPDU43 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU44(in BERPDU44 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU45(in BERPDU45 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU48(in BERPDU48 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU49(in BERPDU49 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU50(in BERPDU50 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU54(in BERPDU54 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU65(in BERPDU65 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU67(in BERPDU67 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU71(in BERPDU71 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU72(in BERPDU72 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU73(in BERPDU73 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU74(in BERPDU74 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU75(in BERPDU75 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU76(in BERPDU76 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU77(in BERPDU77 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU78(in BERPDU78 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU79(in BERPDU79 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU82(in BERPDU82 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU83(in BERPDU83 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function enc_DER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU84(in BERPDU84 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -external function dec_BER_PDU1(in octetstring stream) return BERPDU1 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU2(in octetstring stream) return BERPDU2 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU3(in octetstring stream) return BERPDU3 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU4(in octetstring stream) return BERPDU4 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU5(in octetstring stream) return BERPDU5 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU6(in octetstring stream) return BERPDU6 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU7(in octetstring stream) return BERPDU7 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU8(in octetstring stream) return BERPDU8 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU9(in octetstring stream) return BERPDU9 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU10(in octetstring stream) return BERPDU10 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU11(in octetstring stream) return BERPDU11 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU12(in octetstring stream) return BERPDU12 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU13(in octetstring stream) return BERPDU13 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU14(in octetstring stream) return BERPDU14 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU15(in octetstring stream) return BERPDU15 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU16(in octetstring stream) return BERPDU16 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU17(in octetstring stream) return BERPDU17 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU18(in octetstring stream) return BERPDU18 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU19(in octetstring stream) return BERPDU19 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU20(in octetstring stream) return BERPDU20 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU21(in octetstring stream) return BERPDU21 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU22(in octetstring stream) return BERPDU22 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU23(in octetstring stream) return BERPDU23 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU24(in octetstring stream) return BERPDU24 with { extension "prototype(convert) decode(BER)" } -//external function dec_BER_PDU25(in octetstring stream) return BERPDU25 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU26(in octetstring stream) return BERPDU26 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU27(in octetstring stream) return BERPDU27 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU28(in octetstring stream) return BERPDU28 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU29(in octetstring stream) return BERPDU29 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU30(in octetstring stream) return BERPDU30 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU31(in octetstring stream) return BERPDU31 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU32(in octetstring stream) return BERPDU32 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU33(in octetstring stream) return BERPDU33 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } -external function dec_BER_PDU34(in octetstring stream) return BERPDU34 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } -external function dec_BER_PDU35(in octetstring stream) return BERPDU35 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU36(in octetstring stream) return BERPDU36 with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } -external function dec_BER_PDU37(in octetstring stream) return BERPDU37 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU38(in octetstring stream) return BERPDU38 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU39(in octetstring stream) return BERPDU39 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU40(in octetstring stream) return BERPDU40 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU41(in octetstring stream) return BERPDU41 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU42(in octetstring stream) return BERPDU42 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU43(in octetstring stream) return BERPDU43 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU44(in octetstring stream) return BERPDU44 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU45(in octetstring stream) return BERPDU45 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU48(in octetstring stream) return BERPDU48 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU49(in octetstring stream) return BERPDU49 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU50(in octetstring stream) return BERPDU50 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU54(in octetstring stream) return BERPDU54 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU65(in octetstring stream) return BERPDU65 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU67(in octetstring stream) return BERPDU67 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU69(in octetstring stream) return BERPDU69 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU71(in octetstring stream) return BERPDU71 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU72(in octetstring stream) return BERPDU72 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU73(in octetstring stream) return BERPDU73 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU74(in octetstring stream) return BERPDU74 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU75(in octetstring stream) return BERPDU75 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU76(in octetstring stream) return BERPDU76 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU77(in octetstring stream) return BERPDU77 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU78(in octetstring stream) return BERPDU78 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU79(in octetstring stream) return BERPDU79 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU82(in octetstring stream) return BERPDU82 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU83(in octetstring stream) return BERPDU83 with { extension "prototype(convert) decode(BER)" } -external function dec_BER_PDU84(in octetstring stream) return BERPDU84 with { extension "prototype(convert) decode(BER)" } - -//********************************************* -// TESTCASES -//********************************************* - -//=========================================== -// DER + CER encoding of BOOLEAN TRUE, FALSE -//=========================================== -testcase tc_DER_CER_encoding_of_BOOLEAN() runs on Test_CT { - const BERPDU1 b1 := true - const BERPDU1 b2 := false - if ((enc_DER_PDU1(b1) == '0101FF'O)and(enc_CER_PDU1(b1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU1(b2) == '010100'O)and(enc_CER_PDU1(b2) == '010100'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER encoding of BOOLEAN with Context Specific TAG, EXPLICIT -//=========================================== -testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit() runs on Test_CT { - const BERPDU2 b := true - if ((enc_DER_PDU2(b) == 'A0030101FF'O)and(enc_CER_PDU2(b) == 'A0800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER encoding of BOOLEAN with PRIVATE TAG, EXPLICIT -//=========================================== -testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT { - const BERPDU3 b := true - - if ((enc_DER_PDU3(b) == 'E1030101FF'O)and(enc_CER_PDU3(b) == 'E1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// DER + CER encoding of BOOLEAN with APPLICATION TAG, EXPLICIT -//=========================================== -testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT { - const BERPDU4 b := true - if ((enc_DER_PDU4(b) == '62030101FF'O)and(enc_CER_PDU4(b) == '62800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER encoding of BOOLEAN with Context Specific TAG, IMPLICIT -//=========================================== -testcase tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT { - const BERPDU5 b := false - if ((enc_DER_PDU5(b) == '800100'O)and(enc_CER_PDU5(b) == '800100'O)) {setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DER + CER encoding of BOOLEAN with Private TAG, IMPLICIT -//=========================================== -testcase tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT { - const BERPDU6 b := false - if ((enc_DER_PDU6(b) == 'C10100'O)and(enc_CER_PDU6(b) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DER + CER encoding of BOOLEAN with Application TAG, IMPLICIT -//=========================================== -testcase tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT { - const BERPDU7 b := true - if ((enc_DER_PDU7(b) == '4201FF'O)and(enc_CER_PDU7(b) == '4201FF'O)) {setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DECODING BOOLEAN, CER+DER, (unified test) -//=========================================== -testcase tc_BER_decoding_of_BOOLEAN() runs on Test_CT { - if (dec_BER_PDU1('0101FF'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU1('010100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU1('01810101'O) == myBooleanValue1_1){setverdict(pass);} else {setverdict(fail);} //(LENGTH OF LENGTH = 1) - if (dec_BER_PDU1('0182000100'O) == myBooleanValue2_1){setverdict(pass);} else {setverdict(fail);}//(LENGTH OF LENGTH = 2) -} - -//=========================================== -// DECODING [0] EXPLICIT BOOLEAN, DER, (unified test) -//=========================================== -testcase tc_DER_decoding_of_BOOLEAN_Explicit() runs on Test_CT { - if (dec_BER_PDU2('A0030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU2('A0800101FF0000'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU2('A081030101FF'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU2('A0810401810199'O) == myBooleanValue1_2){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DECODING [PRIVATE 1] EXPLICIT BOOLEAN, DER-CER, (unified test) -//=========================================== -testcase tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit() runs on Test_CT { - if (dec_BER_PDU3('E1030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//DER - if (dec_BER_PDU3('E1800101FF0000'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);}//CER - if (dec_BER_PDU3('E181030101FF'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long - if (dec_BER_PDU3('E1810401810199'O) == myBooleanValue1_3){setverdict(pass);} else {setverdict(fail);} //long -} - -//=========================================== -// DER + CER decoding of BOOLEAN with APPLICATION TAG, EXPLICIT -//=========================================== -testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit() runs on Test_CT { - if (dec_BER_PDU4('62030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU4('62800101FF0000'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU4('6281030101FF'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU4('62810401810199'O) == myBooleanValue1_4){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DECODING [0] IMPLICIT BOOLEAN ,(unified) -//=========================================== -testcase tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit() runs on Test_CT { - if (dec_BER_PDU5('8001FF'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU5('80810133'O) == myBooleanValue1_5){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DECODING [PRIVATE 1] IMPLICIT BOOLEAN,(unified) -//=========================================== -testcase tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit() runs on Test_CT { - if (dec_BER_PDU6('C10100'O) == myBooleanValue1_6){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU6('C1810105'O) == myBooleanValue2_6){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DECODING [APPLICATION 2] IMPLICIT BOOLEAN,(unified) -//=========================================== -testcase tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit() runs on Test_CT { - if (dec_BER_PDU7('420100'O) == myBooleanValue1_7){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU7('42810188'O) == myBooleanValue2_7){setverdict(pass);} else {setverdict(fail);} -} - - - -//=========================================== -// DER + CER coding of integer (unified) -//=========================================== - -testcase tc_DER_CER_coding_of_INTEGER() runs on Test_CT { - const BERPDU8 b1_8 := 5 - const BERPDU8 b2_8 := 0 - const BERPDU8 b3_8 := 127 - const BERPDU8 b4_8 := -128 - const BERPDU8 b5_8 := -5 - const BERPDU8 b6_8 := 128 - const BERPDU8 b7_8 := -129 - if ((enc_DER_PDU8(b1_8) == '020105'O)and(enc_CER_PDU8(b1_8) == '020105'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU8(b2_8) == '020100'O)and(enc_CER_PDU8(b2_8) == '020100'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU8(b3_8) == '02017F'O)and(enc_CER_PDU8(b3_8) == '02017F'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU8(b4_8) == '020180'O)and(enc_CER_PDU8(b4_8) == '020180'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU8(b5_8) == '0201FB'O)and(enc_CER_PDU8(b5_8) == '0201FB'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU8(b6_8) == '02020080'O)and(enc_CER_PDU8(b6_8) == '02020080'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU8(b7_8) == '0202FF7F'O)and(enc_CER_PDU8(b7_8) == '0202FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('020105'O) == b8_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('02810105'O) == b8_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('0282000105'O) == b8_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('020100'O) == b9_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('02810100'O) == b9_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('0282000100'O) == b9_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('02017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('0281017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('028200017F'O) == b10_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('020180'O) == b11_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('02810180'O) == b11_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('0282000180'O) == b11_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('0201FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('028101FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('02820001FB'O) == b12_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('02020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('0281020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('028200020080'O) == b13_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('0202FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('028102FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU8('02820002FF7F'O) == b14_8){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer with Context Specific TAG, EXPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit() runs on Test_CT { - const BERPDU9 b1_9 := 5 - const BERPDU9 b2_9 := 0 - const BERPDU9 b3_9 := 127 - const BERPDU9 b4_9 := -128 - const BERPDU9 b5_9 := -5 - const BERPDU9 b6_9 := 128 - const BERPDU9 b7_9 := -129 - if ((enc_DER_PDU9(b1_9) == 'A003020105'O)and(enc_CER_PDU9(b1_9) == 'A0800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU9(b2_9) == 'A003020100'O)and(enc_CER_PDU9(b2_9) == 'A0800201000000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU9(b3_9) == 'A00302017F'O)and(enc_CER_PDU9(b3_9) == 'A08002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU9(b4_9) == 'A003020180'O)and(enc_CER_PDU9(b4_9) == 'A0800201800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU9(b5_9) == 'A0030201FB'O)and(enc_CER_PDU9(b5_9) == 'A0800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU9(b6_9) == 'A00402020080'O)and(enc_CER_PDU9(b6_9) == 'A080020200800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU9(b7_9) == 'A0040202FF7F'O)and(enc_CER_PDU9(b7_9) == 'A0800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0800201050000'O) == b8_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A003020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A08103020105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0810402810105'O) == b8_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0800201000000'O) == b9_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A003020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A08103020100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0810402810100'O) == b9_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A08002017F0000'O) == b10_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A00302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0810302017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A081040281017F'O) == b10_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0800201800000'O) == b11_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A003020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A08103020180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0810402810180'O) == b11_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0800201FB0000'O) == b12_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A081030201FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A08104028101FB'O) == b12_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A080020200800000'O) == b13_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A00402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0810402020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A081050281020080'O) == b13_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0800202FF7F0000'O) == b14_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A0040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A081040202FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU9('A08105028102FF7F'O) == b14_9){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer with PRIVATE TAG, EXPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit() runs on Test_CT { - const BERPDU10 b1_10 := 5 - const BERPDU10 b2_10 := 0 - const BERPDU10 b3_10 := 127 - const BERPDU10 b4_10 := -128 - const BERPDU10 b5_10 := -5 - const BERPDU10 b6_10 := 128 - const BERPDU10 b7_10 := -129 - if ((enc_DER_PDU10(b1_10) == 'E103020105'O)and(enc_CER_PDU10(b1_10) == 'E1800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU10(b2_10) == 'E103020100'O)and(enc_CER_PDU10(b2_10) == 'E1800201000000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU10(b3_10) == 'E10302017F'O)and(enc_CER_PDU10(b3_10) == 'E18002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU10(b4_10) == 'E103020180'O)and(enc_CER_PDU10(b4_10) == 'E1800201800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU10(b5_10) == 'E1030201FB'O)and(enc_CER_PDU10(b5_10) == 'E1800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU10(b6_10) == 'E10402020080'O)and(enc_CER_PDU10(b6_10) == 'E180020200800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU10(b7_10) == 'E1040202FF7F'O)and(enc_CER_PDU10(b7_10) == 'E1800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E10402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E18103020105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1810402810105'O) == b8_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1800201050000'O) == b8_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E10402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E18103020100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1810402810100'O) == b9_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1800201000000'O) == b9_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E10302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1810302017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E181040281017F'O) == b10_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E18002017F0000'O) == b10_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E10402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E18103020180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1810402810180'O) == b11_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1800201800000'O) == b11_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E181030201FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E18104028101FB'O) == b12_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1800201FB0000'O) == b12_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E10402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1810402020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E181050281020080'O) == b13_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E180020200800000'O) == b13_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E181040202FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E18105028102FF7F'O) == b14_10){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU10('E1800202FF7F0000'O) == b14_10){setverdict(pass);} else {setverdict(fail);} - -} -//=========================================== -// DER + CER coding of integer with APPLICATION TAG, EXPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit() runs on Test_CT { - const BERPDU11 b1_11 := 5 - const BERPDU11 b2_11 := 0 - const BERPDU11 b3_11 := 127 - const BERPDU11 b4_11 := -128 - const BERPDU11 b5_11 := -5 - const BERPDU11 b6_11 := 128 - const BERPDU11 b7_11 := -129 - if ((enc_DER_PDU11(b1_11) == '6203020105'O)and(enc_CER_PDU11(b1_11) == '62800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU11(b2_11) == '6203020100'O)and(enc_CER_PDU11(b2_11) == '62800201000000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU11(b3_11) == '620302017F'O)and(enc_CER_PDU11(b3_11) == '628002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU11(b4_11) == '6203020180'O)and(enc_CER_PDU11(b4_11) == '62800201800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU11(b5_11) == '62030201FB'O)and(enc_CER_PDU11(b5_11) == '62800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU11(b6_11) == '620402020080'O)and(enc_CER_PDU11(b6_11) == '6280020200800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU11(b7_11) == '62040202FF7F'O)and(enc_CER_PDU11(b7_11) == '62800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6203020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('620402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('628103020105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62810402810105'O) == b8_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62800201050000'O) == b8_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6203020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('620402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('628103020100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62810402810100'O) == b9_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62800201000000'O) == b9_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('620302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62810302017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6281040281017F'O) == b10_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('628002017F0000'O) == b10_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6203020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('620402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('628103020180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62810402810180'O) == b11_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62800201800000'O) == b11_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6204028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6281030201FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('628104028101FB'O) == b12_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62800201FB0000'O) == b12_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('620402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62810402020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6281050281020080'O) == b13_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6280020200800000'O) == b13_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6205028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('6281040202FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('628105028102FF7F'O) == b14_11){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU11('62800202FF7F0000'O) == b14_11){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DER + CER coding of integer with Context Specific TAG, IMPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit() runs on Test_CT { - const BERPDU11 b1_12 := 5 - const BERPDU11 b2_12 := 0 - const BERPDU11 b3_12 := 127 - const BERPDU11 b4_12 := -128 - const BERPDU11 b5_12 := -5 - const BERPDU11 b6_12 := 128 - const BERPDU11 b7_12 := -129 - if ((enc_DER_PDU12(b1_12) == '800105'O)and(enc_CER_PDU12(b1_12) == '800105'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU12(b2_12) == '800100'O)and(enc_CER_PDU12(b2_12) == '800100'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU12(b3_12) == '80017F'O)and(enc_CER_PDU12(b3_12) == '80017F'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU12(b4_12) == '800180'O)and(enc_CER_PDU12(b4_12) == '800180'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU12(b5_12) == '8001FB'O)and(enc_CER_PDU12(b5_12) == '8001FB'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU12(b6_12) == '80020080'O)and(enc_CER_PDU12(b6_12) == '80020080'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU12(b7_12) == '8002FF7F'O)and(enc_CER_PDU12(b7_12) == '8002FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('800105'O) == b8_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('80810105'O) == b8_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('800100'O) == b9_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('80810100'O) == b9_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('8081017F'O) == b10_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('800180'O) == b11_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('80810180'O) == b11_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('8001FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('808101FB'O) == b12_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('80020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('8081020080'O) == b13_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('8002FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU12('808102FF7F'O) == b14_12){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// DER + CER coding of integer with PRIVATE TAG, IMPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit () runs on Test_CT { - const BERPDU13 b1_13 := 5 - const BERPDU13 b2_13 := 0 - const BERPDU13 b3_13 := 127 - const BERPDU13 b4_13 := -128 - const BERPDU13 b5_13 := -5 - const BERPDU13 b6_13 := 128 - const BERPDU13 b7_13 := -129 - if ((enc_DER_PDU13(b1_13) == 'C10105'O)and(enc_CER_PDU13(b1_13) == 'C10105'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU13(b2_13) == 'C10100'O)and(enc_CER_PDU13(b2_13) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU13(b3_13) == 'C1017F'O)and(enc_CER_PDU13(b3_13) == 'C1017F'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU13(b4_13) == 'C10180'O)and(enc_CER_PDU13(b4_13) == 'C10180'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU13(b5_13) == 'C101FB'O)and(enc_CER_PDU13(b5_13) == 'C101FB'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU13(b6_13) == 'C1020080'O)and(enc_CER_PDU13(b6_13) == 'C1020080'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU13(b7_13) == 'C102FF7F'O)and(enc_CER_PDU13(b7_13) == 'C102FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C10105'O) == b8_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C1810105'O) == b8_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C10100'O) == b9_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C1810100'O) == b9_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C1017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C181017F'O) == b10_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C10180'O) == b11_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C1810180'O) == b11_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C18101FB'O) == b12_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C1020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C181020080'O) == b13_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU13('C18102FF7F'O) == b14_13){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer with APPLICATION TAG, IMPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit() runs on Test_CT { - const BERPDU14 b1_14 := 5 - const BERPDU14 b2_14 := 0 - const BERPDU14 b3_14 := 127 - const BERPDU14 b4_14 := -128 - const BERPDU14 b5_14 := -5 - const BERPDU14 b6_14 := 128 - const BERPDU14 b7_14 := -129 - if ((enc_DER_PDU14(b1_14) == '420105'O)and(enc_CER_PDU14(b1_14) == '420105'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU14(b2_14) == '420100'O)and(enc_CER_PDU14(b2_14) == '420100'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU14(b3_14) == '42017F'O)and(enc_CER_PDU14(b3_14) == '42017F'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU14(b4_14) == '420180'O)and(enc_CER_PDU14(b4_14) == '420180'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU14(b5_14) == '4201FB'O)and(enc_CER_PDU14(b5_14) == '4201FB'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU14(b6_14) == '42020080'O)and(enc_CER_PDU14(b6_14) == '42020080'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU14(b7_14) == '4202FF7F'O)and(enc_CER_PDU14(b7_14) == '4202FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('420105'O) == b8_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('42810105'O) == b8_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('420100'O) == b9_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('42810100'O) == b9_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('42017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('4281017F'O) == b10_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('420180'O) == b11_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('42810180'O) == b11_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('4201FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('428101FB'O) == b12_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('42020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('4281020080'O) == b13_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('4202FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU14('428102FF7F'O) == b14_14){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DER + CER coding of integer (5) with Context Specific TAG = 30, EXPLICIT (unified)) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit() runs on Test_CT { - const BERPDU15 b1_15 := 5 - if ((enc_DER_PDU15(b1_15) == 'BE03020105'O)and(enc_CER_PDU15(b1_15) == 'BE800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU15('BE03020105'O) == b2_15){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU15('BE800201050000'O) == b2_15){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer (5) with Context Specific TAG = 31, EXPLICIT (unified)) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit() runs on Test_CT { - const BERPDU16 b := 5 - if ((enc_DER_PDU16(b) == 'BF1F03020105'O)and(enc_CER_PDU16(b) == 'BF1F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU16('BF1F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU16('BF1F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer (5) with Context Specific TAG = 127, EXPLICIT (unified)) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit() runs on Test_CT { - const BERPDU17 b := 5 - if ((enc_DER_PDU17(b) == 'BF7F03020105'O)and(enc_CER_PDU17(b) == 'BF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU17('BF7F03020105'O) == b) {setverdict(pass);} else {setverdict(fail);} //DER - if (dec_BER_PDU17('BF7F800201050000'O) == b){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer with Context Specific TAG = 128, EXPLICIT -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit() runs on Test_CT { - const BERPDU18 b := 5 - if ((enc_DER_PDU18(b) == 'BF810003020105'O)and(enc_CER_PDU18(b) == 'BF8100800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU18('BF8100800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU18('BF810003020105'O) == b) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer with Context Specific TAG = 16383, EXPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit() runs on Test_CT { - const BERPDU19 b := 5 - if ((enc_DER_PDU19(b) == 'BFFF7F03020105'O)and(enc_CER_PDU19(b) == 'BFFF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU19('BFFF7F03020105'O) == b){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU19('BFFF7F800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of integer with Context Specific TAG = 16384, EXPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit() runs on Test_CT { - const BERPDU20 b := 5 - if ((enc_DER_PDU20(b) == 'BF81800003020105'O)and(enc_CER_PDU20(b) == 'BF818000800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU20('BF81800003020105'O) == b){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU20('BF818000800201050000'O) == b) {setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DER + CER coding of ENUMERATED hardcoded positive (unified) -//=========================================== -testcase tc_DER_CER_coding_of_enumerated_hardcoded_positive() runs on Test_CT { - const BERPDU21 b1 := third - const BERPDU21 b2 := first - const BERPDU21 b3 := second - if ((enc_DER_PDU21(b1) == '0A0109'O)and(enc_CER_PDU21(b1) == '0A0109'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU21(b2) == '0A01FB'O)and(enc_CER_PDU21(b2) == '0A01FB'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU21(b3) == '0A0100'O)and(enc_CER_PDU21(b3) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of ENUMERATED third, no hardcoding (unified) -//=========================================== -testcase tc_DER_CER_coding_of_enumerated_third_no_hardcoding() runs on Test_CT { - const BERPDU22 b1 := third - const BERPDU22 b2 := first - if ((enc_DER_PDU22(b1) == '0A0102'O)and(enc_CER_PDU22(b1) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU22(b2) == '0A0100'O)and(enc_CER_PDU22(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// DER + CER coding of ENUMERATED first (unified) -//=========================================== -testcase tc_DER_CER_coding_of_enumerated_first1() runs on Test_CT { - const BERPDU23 b1 := first - const BERPDU23 b2 := second - const BERPDU23 b3 := third - if ((enc_DER_PDU23(b1) == '0A0101'O)and(enc_CER_PDU23(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU23(b2) == '0A0100'O)and(enc_CER_PDU23(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU23(b3) == '0A0102'O)and(enc_CER_PDU23(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// DER + CER coding of ENUMERATED first (unified) -//=========================================== -testcase tc_DER_CER_coding_of_enumerated_first2() runs on Test_CT { - const BERPDU24 b1 := first - const BERPDU24 b2 := second - const BERPDU24 b3 := third - const BERPDU24 b4 := fourth - const BERPDU24 b5 := fifth - const BERPDU24 b6 := sixth - - if ((enc_DER_PDU24(b1) == '0A0101'O)and(enc_CER_PDU24(b1) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU24(b2) == '0A0100'O)and(enc_CER_PDU24(b2) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU24(b3) == '0A0102'O)and(enc_CER_PDU24(b3) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU24(b4) == '0A0103'O)and(enc_CER_PDU24(b4) == '0A0103'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU24(b5) == '0A0105'O)and(enc_CER_PDU24(b5) == '0A0105'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU24(b6) == '0A0106'O)and(enc_CER_PDU24(b6) == '0A0106'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A0101'O) == b7_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A810101'O) == b7_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A0102'O) == b8_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A810102'O) == b8_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A0103'O) == b9_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A810103'O) == b9_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A0105'O) == b10_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A810105'O) == b10_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A0106'O) == b11_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A810106'O) == b11_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A0100'O) == b12_24){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU24('0A810100'O) == b12_24){setverdict(pass);} else {setverdict(fail);} - -} -//=========================================== -// DER + CER coding of ENUMERATED , tagged, EXPLICIT -//=========================================== -testcase tc_DER_CER_coding_of_enumerated_tagged_explicit_6() runs on Test_CT { - const BERPDU25 b := sixth - if ((enc_DER_PDU25(b) == 'B5030A0106'O)and(enc_CER_PDU25(b) == 'B5800A01060000'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of ENUMERATED , tagged, IMPLICIT (unified) -//=========================================== -testcase tc_DER_CER_coding_of_enumerated_tagged_implicit() runs on Test_CT { - const BERPDU26 b1 := sixth - - if ((enc_DER_PDU26(b1) == '9F580106'O)and(enc_CER_PDU26(b1) == '9F580106'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F580101'O) == b2_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F58810101'O) == b2_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F580100'O) == b3_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F58810100'O) == b3_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F580102'O) == b4_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F58810102'O) == b4_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F580103'O) == b5_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F58810103'O) == b5_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F580105'O) == b6_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F58810105'O) == b6_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F580106'O) == b7_26){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU26('9F58810106'O) == b7_26){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DECODING OF EXPLICIT TAGGED ENUMERATED, (unified) -//=========================================== -testcase tc_decoding_of_explicit_tagged_enumerated() runs on Test_CT { - - if (dec_BER_PDU27('A0030A0101'O) == b1_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0800A01010000'O) == b1_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A081040A810101'O) == b1_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0030A0100'O) == b2_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0800A01000000'O) == b2_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A081040A810100'O) == b2_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0030A0102'O) == b3_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0800A01020000'O) == b3_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A081040A810102'O) == b3_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0030A0103'O) == b4_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0800A01030000'O) == b4_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A081040A810103'O) == b4_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0030A0105'O) == b5_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0800A01050000'O) == b5_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A081040A810105'O) == b5_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0030A0106'O) == b6_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0800A01060000'O) == b6_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A0040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU27('A081040A810106'O) == b6_27){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER coding of REAL, (unified) -//=========================================== -testcase tc_CER_DER_coding_of_real() runs on Test_CT { - if ((enc_DER_PDU28(b1_28) == '0900'O)and(enc_CER_PDU28(b1_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b2_28) == '0900'O)and(enc_CER_PDU28(b2_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b3_28) == '0900'O)and(enc_CER_PDU28(b3_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b4_28) == '0900'O)and(enc_CER_PDU28(b4_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b5_28) == '0900'O)and(enc_CER_PDU28(b5_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b6_28) == '0900'O)and(enc_CER_PDU28(b6_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b7_28) == '0900'O)and(enc_CER_PDU28(b7_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b8_28) == '0900'O)and(enc_CER_PDU28(b8_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b9_28) == '0900'O)and(enc_CER_PDU28(b9_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b10_28) == '0900'O)and(enc_CER_PDU28(b10_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b11_28) == '0900'O)and(enc_CER_PDU28(b11_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b12_28) == '0900'O)and(enc_CER_PDU28(b12_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b13_28) == '0900'O)and(enc_CER_PDU28(b13_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b14_28) == '0900'O)and(enc_CER_PDU28(b14_28) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b15_28) == '090603312E452B30'O)and(enc_CER_PDU28(b15_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b16_28) == '090603312E452B30'O)and(enc_CER_PDU28(b16_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b17_28) == '090603312E452B30'O)and(enc_CER_PDU28(b17_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b18_28) == '090603312E452B30'O)and(enc_CER_PDU28(b18_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b19_28) == '090603312E452B30'O)and(enc_CER_PDU28(b19_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b20_28) == '090603312E452B30'O)and(enc_CER_PDU28(b20_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b21_28) == '090603312E452B30'O)and(enc_CER_PDU28(b21_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b22_28) == '090603312E452B30'O)and(enc_CER_PDU28(b22_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b23_28) == '090603312E452B30'O)and(enc_CER_PDU28(b23_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b24_28) == '090603312E452B30'O)and(enc_CER_PDU28(b24_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b25_28) == '090603312E452B30'O)and(enc_CER_PDU28(b25_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b26_28) == '090603312E452B30'O)and(enc_CER_PDU28(b26_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b27_28) == '090603312E452B30'O)and(enc_CER_PDU28(b27_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b28_28) == '090603322E452B30'O)and(enc_CER_PDU28(b28_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b29_28) == '090603322E452B30'O)and(enc_CER_PDU28(b29_28) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b30_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b30_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b31_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b31_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b32_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b32_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b33_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b33_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b34_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b34_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b35_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b35_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b36_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b36_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b37_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b37_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b38_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b38_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b39_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b39_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b40_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b40_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b41_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b41_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b42_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b42_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b43_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b43_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b44_28) == '090603312E452B30'O)and(enc_CER_PDU28(b44_28) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b45_28) == '0907032D312E452B30'O)and(enc_CER_PDU28(b45_28) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b46_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b46_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b47_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b47_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b48_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b48_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b49_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b49_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b50_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b50_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b51_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b51_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b52_28) == '09070331322E452B30'O)and(enc_CER_PDU28(b52_28) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b53_28) == '09070333342E452D32'O)and(enc_CER_PDU28(b53_28) == '09070333342E452D32'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b54_28) == '0908033334342E452D33'O)and(enc_CER_PDU28(b54_28) == '0908033334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b55_28) == '0908033334352E452D33'O)and(enc_CER_PDU28(b55_28) == '0908033334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b56_28) == '09070333342E452D33'O)and(enc_CER_PDU28(b56_28) == '09070333342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b57_28) == '09070333342E452D34'O)and(enc_CER_PDU28(b57_28) == '09070333342E452D34'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b58_28) == '0908033330342E452D33'O)and(enc_CER_PDU28(b58_28) == '0908033330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b59_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU28(b60_28) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)and(enc_CER_PDU28(b61_28) == '090F033132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b62_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU28(b63_28) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b64_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b64_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b65_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b65_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b66_28) == '090D033132333435363738392E4531'O)and(enc_CER_PDU28(b66_28) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b67_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b67_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b68_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b68_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b69_28) == '090D033132333435363738392E4532'O)and(enc_CER_PDU28(b69_28) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b70_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b70_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b71_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b71_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b72_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b72_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b73_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b73_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b74_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b74_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b75_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b75_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b76_28) == '0908032D31322E452B30'O)and(enc_CER_PDU28(b76_28) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b77_28) == '0908032D33342E452D32'O)and(enc_CER_PDU28(b77_28) == '0908032D33342E452D32'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b78_28) == '0909032D3334342E452D33'O)and(enc_CER_PDU28(b78_28) == '0909032D3334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b79_28) == '0909032D3334352E452D33'O)and(enc_CER_PDU28(b79_28) == '0909032D3334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b80_28) == '0908032D33342E452D33'O)and(enc_CER_PDU28(b80_28) == '0908032D33342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b81_28) == '0908032D33342E452D34'O)and(enc_CER_PDU28(b81_28) == '0908032D33342E452D34'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b82_28) == '0909032D3330342E452D33'O)and(enc_CER_PDU28(b82_28) == '0909032D3330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b83_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU28(b84_28) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)and(enc_CER_PDU28(b85_28) == '0910032D3132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b86_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU28(b87_28) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b88_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b89_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU28(b90_28) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b91_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b92_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU28(b93_28) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b94_28) == '090140'O)and(enc_CER_PDU28(b94_28) == '090140'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU28(b95_28) == '090141'O)and(enc_CER_PDU28(b95_28) == '090141'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of REAL, 1 , IMPLICIT TAG -//=========================================== -testcase tc_CER_DER_coding_of_real_1_implicit() runs on Test_CT { - if ((enc_DER_PDU29(b_29) == '800603312E452B30'O)and(enc_CER_PDU29(b_29) == '800603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of REAL, 1 , EXPLICIT TAG -//=========================================== -testcase tc_CER_DER_coding_of_real_1_explicit() runs on Test_CT { - if ((enc_DER_PDU30(b_30) == 'A008090603312E452B30'O)and(enc_CER_PDU30(b_30) == 'A080090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// CER + DER coding of BIT STRING, (unified) -//=========================================== -testcase tc_CER_DER_coding_of_bitstring() runs on Test_CT { - const BERPDU31 b1 := ''B - const BERPDU31 b2 := '1'B - const BERPDU31 b3 := '1010101'B - const BERPDU31 b4 := '10101010'B - const BERPDU31 b5 := '111100001'B - if ((enc_DER_PDU31(b1) == '030100'O)and(enc_CER_PDU31(b1) == '030100'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU31(b2) == '03020780'O)and(enc_CER_PDU31(b2) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU31(b3) == '030201AA'O)and(enc_CER_PDU31(b3) == '030201AA'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU31(b4) == '030200AA'O)and(enc_CER_PDU31(b4) == '030200AA'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU31(b5) == '030307F080'O)and(enc_CER_PDU31(b5) == '030307F080'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) - and(enc_CER_PDU31(b6_31) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU31(b7_31) == '038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) - and(enc_CER_PDU31(b7_31) == '2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2303030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2306030100030100'O) == b8_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23800301000000'O) == b8_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('03020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('0381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2381050381020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238003810207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23080302078003020780'O) == b10_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2306230403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('03810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('230503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23810503810201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238003810201AA0000'O) == b11_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2308030201AA030201AA'O) == b12_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23062304030201AA'O) == b11_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('03810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('230503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23810503810200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238003810200AA0000'O) == b13_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2308030200AA030200AA'O) == b14_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23062304030200AA'O) == b13_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31( '030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('03810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('230603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23810603810307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238003810307F0800000'O) == b15_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('230A030307F080030307F080'O) == b16_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('23072305030307F080'O) == b15_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('03830003E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238203EC038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b17_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b17_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238207D8038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b18_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238203F0038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF'O) == b19_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU31('238203ED038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b19_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU33('A080030207800000'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU33('A00403020780'O) == b9_31){setverdict(pass);} else {setverdict(fail);} - -} -//=========================================== -// CER + DER coding of BIT STRING, length = 1, IMPLICIT TAG (primitive) -//=========================================== -testcase tc_CER_DER_coding_of_bitstring_length1_implicit() runs on Test_CT { - const BERPDU32 b := '1'B - if ((enc_DER_PDU32(b) == '80020780'O)and(enc_CER_PDU32(b) == '80020780'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU32('80020780'O) == b_32){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of BIT STRING, length = 1, EXPLICIT TAG (constructed) -//=========================================== -testcase tc_CER_DER_coding_of_bitstring_length1_explicit() runs on Test_CT { - const BERPDU33 b := '1'B - if ((enc_DER_PDU33(b) == 'A00403020780'O)and(enc_CER_PDU33(b) == 'A080030207800000'O)) {setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER coding of OCTETSTRING, (unified) -//=========================================== -testcase tc_CER_DER_coding_of_OCTETSTRING() runs on Test_CT { - const BERPDU34 b1_34 := ''O - const BERPDU34 b2_34 := 'FFFF'O - const BERPDU34 b3_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O - const BERPDU34 b4_34 := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O - if ((enc_DER_PDU34(b1_34) == '0400'O)and(enc_CER_PDU34(b1_34) == '0400'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU34(b2_34) == '0402FFFF'O)and(enc_CER_PDU34(b2_34) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) - and(enc_CER_PDU34(b3_34) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU34(b4_34) == '048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) - and(enc_CER_PDU34(b4_34) == '2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -if (dec_BER_PDU34('0400'O) == b5_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('24020400'O) == b5_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('240404000400'O) == b5_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('248004000000'O) == b5_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('0402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('24040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('2405048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('248105048102FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('24800402FFFF0000'O) == b6_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('24080402FFFF0402FFFF'O) == b7_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('240624040402FFFF'O) == b6_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('04830003E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('248203EC048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b8_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == b8_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('248207D8048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b9_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O) == b10_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU34('248203ED048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == b10_34){setverdict(pass);} else {setverdict(fail);} - -if (dec_BER_PDU36('A0040402FFFF'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);} - -}//tc_ - -//=========================================== -// CER + DER encoding of OCTETSTRING, IMPLICIT TAG length = 2 (primitive) -//=========================================== -testcase tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2() runs on Test_CT { - const BERPDU35 b := 'FFFF'O - if ((enc_DER_PDU35(b) == '8002FFFF'O)and(enc_CER_PDU35(b) == '8002FFFF'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU35('8002FFFF'O) == myIntegerValue_35) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of OCTETSTRING, EXPLICIT TAG length = 2 (primitive) -//=========================================== -testcase tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2() runs on Test_CT { - const BERPDU36 b := 'FFFF'O - if ((enc_DER_PDU36(b) == 'A0040402FFFF'O)and(enc_CER_PDU36(b) == 'A0800402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU36('A0800402FFFF0000'O) == myIntegerValue_36) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of NULL (unified) -//=========================================== -testcase tc_CER_DER_coding_of_NULL() runs on Test_CT { - const BERPDU37 b := NULL; - if ((enc_DER_PDU37(b) == '0500'O)and(enc_CER_PDU37(b) == '0500'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU37('0500'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU37('058100'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU37('05820000'O) == myNullValue_37){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DER + CER coding of NULL with Context Specific TAG, EXPLICIT (unified) -//=========================================== -testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit() runs on Test_CT { - const BERPDU38 b := NULL; - if ((enc_DER_PDU38(b) == 'A0020500'O)and(enc_CER_PDU38(b) == 'A08005000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU38('A08005000000'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU38('A0020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU38('A081020500'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU38('A08103058100'O) == myNullValue_38){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER coding of NULL with PRIVATE TAG, EXPLICIT (unified) -//=========================================== -testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit() runs on Test_CT { - const BERPDU39 b := NULL; - if ((enc_DER_PDU39(b) == 'E1020500'O)and(enc_CER_PDU39(b) == 'E18005000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU39('E18005000000'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU39('E1020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU39('E181020500'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU39('E18103058100'O) == myNullValue_39){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// DER + CER coding of NULL with APPLICATION TAG, EXPLICIT (unified) -//=========================================== -testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit() runs on Test_CT { - const BERPDU40 b := NULL; - if ((enc_DER_PDU40(b) == '62020500'O)and(enc_CER_PDU40(b) == '628005000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU40('628005000000'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU40('62020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU40('6281020500'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU40('628103058100'O) == myNullValue_40){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER encoding of NULL with Context Specific TAG, IMPLICIT (unified) -//=========================================== -testcase tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit() runs on Test_CT { - const BERPDU40 b := NULL; - if ((enc_DER_PDU41(b) == '8000'O)and(enc_CER_PDU41(b) == '8000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU41('8000'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU41('808100'O) == myNullValue_41){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER encoding of NULL with PRIVATE TAG, IMPLICIT (unified) -//=========================================== -testcase tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit() runs on Test_CT { - const BERPDU42 b := NULL; - if ((enc_DER_PDU42(b) == 'C100'O)and(enc_CER_PDU42(b) == 'C100'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU42('C100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU42('C18100'O) == myNullValue_42){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// DER + CER encoding of NULL with APPLICATION TAG, IMPLICIT (unified) -//=========================================== -testcase tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit() runs on Test_CT { - const BERPDU43 b := NULL; - if ((enc_DER_PDU43(b) == '4200'O)and(enc_CER_PDU43(b) == '4200'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU43('4200'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU43('428100'O) == myNullValue_43){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// CER + DER encoding of SEQUENCE (unified) -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE() runs on Test_CT { - const BERPDU44 myValue1 := {b := omit, - c := omit } - const BERPDU44 myValue2 := {b := true, - c := omit } - const BERPDU44 myValue3 := {b := true, - c := 5 } - if ((enc_DER_PDU44(myValue1) == '3000'O)and(enc_CER_PDU44(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU44(myValue2) == '30030101FF'O)and(enc_CER_PDU44(myValue2) == '30800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU44(myValue3) == '30060101FF020105'O)and(enc_CER_PDU44(myValue3) == '30800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU44('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU44('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU44('30030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU44('30800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU44('30060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU44('30800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE (one element is equal to Default) (unified) -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault() runs on Test_CT { - const BERPDU45 myValue1 := { b := true, c := 5 } - const BERPDU45 myValue2 := { b := false, c := 5 } - - if ((enc_DER_PDU45(myValue1) == '3003020105'O)and(enc_CER_PDU45(myValue1) == '30800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU45(myValue2) == '3006010100020105'O)and(enc_CER_PDU45(myValue2) == '30800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU45('3003020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU45('30800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU45('3006010100020105'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU45('30800101000201050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements() runs on Test_CT { - const BERPDU48 myValue := {b := true, - c := 5 } - if ((enc_DER_PDU48(myValue) == '30079E01FF9F1F0105'O)and(enc_CER_PDU48(myValue) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU48('30079E01FF9F1F0105'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU48('30809E01FF9F1F01050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements() runs on Test_CT { - const BERPDU49 myValue := {b := true, - c := 5 } - if ((enc_DER_PDU49(myValue) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU49(myValue) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU49('300BBE030101FFBF1F03020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU49('3080BE800101FF0000BF1F8002010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of TAGGED SEQUENCE (both elements are used) -//=========================================== -testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed() runs on Test_CT { - const BERPDU50 myValue := {b := true, - c := 5 } - if ((enc_DER_PDU50(myValue) == 'A00830060101FF020105'O)and(enc_CER_PDU50(myValue) == 'A08030800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU50('A00830060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU50('A08030800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used) -//=========================================== -testcase tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed() runs on Test_CT { - const BERPDU54 myValue := {b := true, - c := 5 } - if ((enc_DER_PDU54(myValue) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU54(myValue) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU54('A00C300AA0030101FFA103020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU54('A0803080A0800101FF0000A180020105000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE with CHOICE element -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement() runs on Test_CT { - const BERPDU65 myValue := {b := {x := true}, - c := 4 - } - if ((enc_DER_PDU65(myValue) == '30060101FF020104'O)and(enc_CER_PDU65(myValue) == '30800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU65('30060101FF020104'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU65('30800101FF0201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE with fields of different types -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT { - const BERPDU67 myValue_67 := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID_67, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - if ((enc_DER_PDU67(myValue_67) == '305305000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1030101FF300505000101FF310C03020780090603312E452B30A3083006020101020102A40831060101FF0101FF'O) and(enc_CER_PDU67(myValue_67) == '308005000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1800101FF0000308005000101FF0000318003020780090603312E452B300000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) -{setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// DECODING , DER, SEQUENCE with fields of different types , (unified) -//=========================================== -testcase tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes() runs on Test_CT { - const BERPDU69 myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID_69, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - if (dec_BER_PDU69('304505000101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU69('308005000101FF0201020A0100030207800402FFFF06030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE OF INTEGER (empty) (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFinteger_empty() runs on Test_CT { - const BERPDU71 myValue := { } - if ((enc_DER_PDU71(myValue) == '3000'O)and(enc_CER_PDU71(myValue) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU71('3000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU71('30800000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE OF BOOLEAN (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN() runs on Test_CT { - const BERPDU72 myValue := {true, false } - if ((enc_DER_PDU72(myValue) == '30060101FF010100'O)and(enc_CER_PDU72(myValue) == '30800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU72('30060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU72('30800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE OF OCTET STRING (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING() runs on Test_CT { - const BERPDU73 myValue := {'FFFF'O, 'AB'O }; - if ((enc_DER_PDU73(myValue) == '30070402FFFF0401AB'O)and(enc_CER_PDU73(myValue) == '30800402FFFF0401AB0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU73('30070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU73('30800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE OF SEQUENCE (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE() runs on Test_CT { - const BERPDU74 myValue := { - { - a := 5, - b := true - }, - { - a := 3, - b := false - } - }; - - if ((enc_DER_PDU74(myValue) == '301030060201050101FF3006020103010100'O)and(enc_CER_PDU74(myValue) == '308030800201050101FF0000308002010301010000000000'O)) - {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU74('301030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU74('308030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE OF SET (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFSET() runs on Test_CT { - const BERPDU75 myValue := { - { - a := 5, - b := true - }, - { - a := 3, - b := false - } - }; - if ((enc_DER_PDU75(myValue) == '301031060101FF0201053106010100020103'O)and(enc_CER_PDU75(myValue) == '308031800101FF0201050000318001010002010300000000'O)) - {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU75('301031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU75('308031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE OF SEQUENCE OF (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF() runs on Test_CT { - const BERPDU76 myValue := { - { - 5, - 6, - 7 - }, - { - 1, - 2, - 3 - } - }; - - if ((enc_DER_PDU76(myValue) == '301630090201050201060201073009020101020102020103'O)and(enc_CER_PDU76(myValue) == '308030800201050201060201070000308002010102010202010300000000'O)) - {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU76('301630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU76('308030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - - -} - -//=========================================== -// CER + DER encoding of SEQUENCE OF CHOICE (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFCHOICE() runs on Test_CT { - const BERPDU77 myValue := { - { - a := 5 - }, - { - b := false - } - }; - if ((enc_DER_PDU77(myValue) == '3006020105010100'O)and(enc_CER_PDU77(myValue) == '30800201050101000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU77('3006020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU77('30800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - - -//=========================================== -// CER + DER encoding of SEQUENCE OF SETOF (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SEQUENCEOFSETOF() runs on Test_CT { - const BERPDU78 myValue := { - { - 5, - 6, - 7 - }, - { - 1, - 2, - 3 - } - }; - if ((enc_DER_PDU78(myValue) == '301631090201050201060201073109020101020102020103'O)and(enc_CER_PDU78(myValue) == '308031800201050201060201070000318002010102010202010300000000'O)) - {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU78('301631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU78('308031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - - -} - -//=========================================== -// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN (unified) -//=========================================== -testcase tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN() runs on Test_CT { - const BERPDU79 myValue := {true, false } - if ((enc_DER_PDU79(myValue) == 'A00830060101FF010100'O)and(enc_CER_PDU79(myValue) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU79('A00830060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU79('A08030800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SET (EMPTY) (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SET_empty() runs on Test_CT { - const BERPDU82 myValue1 := {b := omit, - c := omit } - const BERPDU82 myValue2 := {b := true, - c := omit } - const BERPDU82 myValue3 := {b := true, - c := 5 } - const BERPDU82 myValue4 := { c := 5, - b := true } - if ((enc_DER_PDU82(myValue1) == '3100'O)and(enc_CER_PDU82(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU82(myValue2) == '31030101FF'O)and(enc_CER_PDU82(myValue2) == '31800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU82(myValue4) == '31060101FF020105'O)and(enc_CER_PDU82(myValue4) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU82(myValue3) == '31060101FF020105'O)and(enc_CER_PDU82(myValue3) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU82('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU82('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU82('31030101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU82('31800101FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU82('31060101FF020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU82('31800101FF0201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU82('31060201050101FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// CER + DER encoding of SET (one element is equal to Default) (unified) -//=========================================== -testcase tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default() runs on Test_CT { - const BERPDU83 myValue1 := {b := true, c := 5 } - const BERPDU83 myValue2 := {c := 5, b := true } - const BERPDU83 myValue3 := {b := false, c := 5 } - const BERPDU83 myValue4 := {c := 5, b := false } - if ((enc_DER_PDU83(myValue1) == '3103020105'O)and(enc_CER_PDU83(myValue1) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU83(myValue2) == '3103020105'O)and(enc_CER_PDU83(myValue2) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU83(myValue3) == '3106010100020105'O)and(enc_CER_PDU83(myValue3) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU83(myValue4) == '3106010100020105'O)and(enc_CER_PDU83(myValue4) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('3103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('31800201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('31060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('31800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('3106010100020105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('31800101000201050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('3106020105010100'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU83('31800201050101000000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -} -//=========================================== -// encoding of SET (different order2) (one element is not equal to Default) -//=========================================== -testcase tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default() runs on Test_CT { - const BERPDU84 myValue:= {c := 5, b := false } - if ((enc_DER_PDU84(myValue) == '3106010100020105'O)and(enc_CER_PDU84(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail)}; -} - -//********************************************* -// CONTROL PART -//********************************************* - -control { - execute(tc_DER_CER_encoding_of_BOOLEAN()); - execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Explicit()); - execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Explicit()); - execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Explicit()); - execute(tc_DER_CER_encoding_of_BOOLEAN_with_ContextSpecTag_Implicit()); - execute(tc_DER_CER_encoding_of_BOOLEAN_with_PrivateTag_Implicit()); - execute(tc_DER_CER_encoding_of_BOOLEAN_with_ApplicationTag_Implicit()); - execute(tc_BER_decoding_of_BOOLEAN()); - execute(tc_DER_decoding_of_BOOLEAN_Explicit()); - execute(tc_BER_decoding_of_BOOLEAN_with_PrivateTag_Explicit()); - execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Explicit()); - execute(tc_DER_CER_decoding_of_BOOLEAN_with_ContextSpecTag_Implicit()); - execute(tc_DER_CER_decoding_of_BOOLEAN_with_PrivateTag_Implicit()); - execute(tc_DER_CER_decoding_of_BOOLEAN_with_ApplicationTag_Implicit()); - execute(tc_DER_CER_coding_of_INTEGER()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag_Implicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_PrivateTag_Implicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ApplicationTag_Implicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag30_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag31_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag127_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag128_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16383_Explicit()); - execute(tc_DER_CER_coding_of_INTEGER_with_ContextSpecTag16384_Explicit()); - execute(tc_DER_CER_coding_of_enumerated_hardcoded_positive()); - execute(tc_DER_CER_coding_of_enumerated_third_no_hardcoding()); - execute(tc_DER_CER_coding_of_enumerated_first1()); - execute(tc_DER_CER_coding_of_enumerated_first2()); - execute(tc_DER_CER_coding_of_enumerated_tagged_explicit_6()); - execute(tc_DER_CER_coding_of_enumerated_tagged_implicit()); - execute(tc_decoding_of_explicit_tagged_enumerated()); - execute(tc_CER_DER_coding_of_real()); - execute(tc_CER_DER_coding_of_real_1_implicit()); - execute(tc_CER_DER_coding_of_real_1_explicit()); - execute(tc_CER_DER_coding_of_bitstring()); - execute(tc_CER_DER_coding_of_bitstring_length1_implicit()); - execute(tc_CER_DER_coding_of_bitstring_length1_explicit()); - execute(tc_CER_DER_coding_of_OCTETSTRING()); - execute(tc_CER_DER_coding_of_OCTETSTRING_implicit_length_2()); - execute(tc_CER_DER_coding_of_OCTETSTRING_explicit_length_2()); - execute(tc_CER_DER_coding_of_NULL()); - execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Explicit()); - execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Explicit()); - execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Explicit()); - execute(tc_CER_DER_coding_of_NULL_with_ContextSpecificTag_Implicit()); - execute(tc_CER_DER_coding_of_NULL_with_PrivateTag_Implicit()); - execute(tc_CER_DER_coding_of_NULL_with_ApplicationTag_Implicit()); - execute(tc_CER_DER_encoding_of_SEQUENCE()); - execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault()); - execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_implicitTagsForElements()); - execute(tc_CER_DER_encoding_of_SEQUENCE_bothElementsAreUsed_explicitTagsForElements()); - execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreUsed()); - execute(tc_CER_DER_coding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed()); - execute(tc_CER_DER_coding_of_SEQUENCE_withCHOICEelement()); - execute(tc_CER_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes()); - execute(tc_DER_decoding_of_SEQUENCE_withFieldsOfDifferentTypes()); - execute(tc_CER_DER_coding_of_SEQUENCEOFinteger_empty()) - execute(tc_CER_DER_coding_of_SEQUENCEOFBOOLEAN()); - execute(tc_CER_DER_coding_of_SEQUENCEOFOCTETSTRING()); - execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCE()); - execute(tc_CER_DER_coding_of_SEQUENCEOFSET()); - execute(tc_CER_DER_coding_of_SEQUENCEOFSEQUENCEOF()); - execute(tc_CER_DER_coding_of_SEQUENCEOFCHOICE()); - execute(tc_CER_DER_coding_of_SEQUENCEOFSETOF()); - execute(tc_CER_DER_coding_of_TAGGEDSEQUENCEOFBOOLEAN()); - execute(tc_CER_DER_coding_of_SET_empty()); - execute(tc_CER_DER_coding_of_SET_one_element_is_equal_to_Default()); - execute(tc_CER_DER_coding_of_SET_diffOrder_one_element_is_equal_to_Default()); - -} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER coding, AUTOMATIC TAGGING (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER coding, AUTOMATIC TAGGING (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; - -BERPDU46 ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -BERPDU47 ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -BERPDU51 ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -BERPDU58 ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - -BERPDU59 ::= SEQUENCE - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -MySeq60 ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} - -BERPDU60 ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq60 - } - -MySeq61 ::= SEQUENCE - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - -BERPDU61 ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq61 - } - -MySeq62 ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} -BERPDU62 ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq62 - } - -MySeq63 ::= SEQUENCE - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - -BERPDU63 ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq63 - } - -BERPDU64 ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - c INTEGER OPTIONAL - - } - -BERPDU66 ::= SEQUENCE - { - a OCTET STRING, - b BOOLEAN, - ..., - d BIT STRING, - ..., - c INTEGER OPTIONAL - } - -BERPDU68 ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } - - -myOBJID-68 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - -BERPDU70 ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - l SET { x3 BIT STRING, - y3 NULL}, - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } - -BERPDU85 ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -BERPDU86 ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - -BERPDU87 ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -BERPDU88 ::= SET - { - c INTEGER OPTIONAL, - b BOOLEAN DEFAULT TRUE - } - -myOBJID-70 OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - - -END - -<STATIC> - -type component Test_CT {} - -import from TempA all; -external function enc_DER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU46(in BERPDU46 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU46(in octetstring stream) return BERPDU46 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU47(in BERPDU47 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU47(in octetstring stream) return BERPDU47 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU51(in BERPDU51 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU51(in octetstring stream) return BERPDU51 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU58(in BERPDU58 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU58(in octetstring stream) return BERPDU58 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU59(in BERPDU59 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU59(in octetstring stream) return BERPDU59 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU60(in BERPDU60 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU60(in octetstring stream) return BERPDU60 with { extension "prototype(convert) decode(BER)" } - - -external function enc_DER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU61(in BERPDU61 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU61(in octetstring stream) return BERPDU61 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU62(in BERPDU62 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU62(in octetstring stream) return BERPDU62 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU63(in BERPDU63 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU63(in octetstring stream) return BERPDU63 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU64(in BERPDU64 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU64(in octetstring stream) return BERPDU64 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU66(in BERPDU66 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU66(in octetstring stream) return BERPDU66 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU68(in BERPDU68 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU68(in octetstring stream) return BERPDU68 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU70(in BERPDU70 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU70(in octetstring stream) return BERPDU70 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU85(in BERPDU85 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU85(in octetstring stream) return BERPDU85 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU86(in BERPDU86 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU86(in octetstring stream) return BERPDU86 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU87(in BERPDU87 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU87(in octetstring stream) return BERPDU87 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" } - -<TTCN_TC:PURE_EXEC> - -//********************************************* -// TESTCASES -//********************************************* - -//=========================================== -// CER + DER encoding of SEQUENCE (EMPTY), AUTOMATIC TAGGING (unified) -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging() runs on Test_CT { - const BERPDU46 myValue1 := {b := omit, - c := omit } - const BERPDU46 myValue2 := {b := true, - c := omit } - const BERPDU46 myValue3 := {b := true, - c := 5 } - - if ((enc_DER_PDU46(myValue1) == '3000'O)and(enc_CER_PDU46(myValue1) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU46(myValue2) == '30038001FF'O)and(enc_CER_PDU46(myValue2) == '30808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU46(myValue3) == '30068001FF810105'O)and(enc_CER_PDU46(myValue3) == '30808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU46('3000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU46('30800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU46('30038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU46('30808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU46('30068001FF810105'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU46('30808001FF8101050000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING (unified) -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT { - - const BERPDU47 myValue1 := {b := true, - c := 5 } - const BERPDU47 myValue2 := {b := false, - c := 5 } - if ((enc_DER_PDU47(myValue1) == '3003810105'O)and(enc_CER_PDU47(myValue1) == '30808101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU47(myValue2) == '3006800100810105'O)and(enc_CER_PDU47(myValue2) == '30808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU47('3003810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU47('30808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU47('3006800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU47('30808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of TAGGED SEQUENCE (both elements are used), AUTOMATIC TAGGING ENVIRONMENT -//=========================================== -testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging() runs on Test_CT { - const BERPDU51 myValue := {b := true, - c := 5 } - if ((enc_DER_PDU51(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU51(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -//=========================================== -testcase tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging() runs on Test_CT { - const BERPDU58 myValue := {b := true, - c := 5 } - if ((enc_DER_PDU58(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU58(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU58('A0068001FF810105'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU58('A0808001FF8101050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging() runs on Test_CT { - const BERPDU59 myValue := {b := true, - c := 5 } - if ((enc_DER_PDU59(myValue) == '30068501FF020105'O)and(enc_CER_PDU59(myValue) == '30808501FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU59('30068501FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU59('30808501FF0201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT { - const BERPDU60 myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - if ((enc_DER_PDU60(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU60(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU60('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU60('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SEQUENCE , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging() runs on Test_CT { - const BERPDU61 myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - if ((enc_DER_PDU61(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU61(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU61('300C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU61('30808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT { - const BERPDU62 myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - if ((enc_DER_PDU62(myValue) == '300D8001FF030207800201060401FF'O)and(enc_CER_PDU62(myValue) == '30808001FF030207800201060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU62('300D8001FF030207800201060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU62('30808001FF030207800201060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - - -} - -//=========================================== -// CER + DER encoding of SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging() runs on Test_CT { - const BERPDU63 myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - if ((enc_DER_PDU63(myValue) == '300D8001FF030207808101060401FF'O)and(enc_CER_PDU63(myValue) == '30808001FF030207808101060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU63('300D8001FF030207808101060401FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU63('30808001FF030207808101060401FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - - -//=========================================== -// CER + DER encoding of SEQUENCE with CHOICE element, AUTOMATIC TAGS -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging() runs on Test_CT { - const BERPDU64 myValue := {b := {x := true}, - c := 4 - } - if ((enc_DER_PDU64(myValue) == '3008A0038001FF810104'O)and(enc_CER_PDU64(myValue) == '3080A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU64('3008A0038001FF810104'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU64('3080A0808001FF00008101040000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE with EXTENSION , AUTOMATIC TAGS -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging() runs on Test_CT { - const BERPDU66 myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - if ((enc_DER_PDU66(myValue) == '300D8001FF8101FF83020780820104'O)and(enc_CER_PDU66(myValue) == '30808001FF8101FF830207808201040000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU66('300D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU66('30808001FF8101FF830207808201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU66('308300000D8001FF8101FF83020780820104'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SEQUENCE with fields of different types, AUTOMATIC TAGS -//=========================================== -testcase tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging() runs on Test_CT { -const BERPDU68 myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID_68, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - if ((enc_DER_PDU68(myValue) == '304F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O) -and(enc_CER_PDU68(myValue) == '308080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) -{setverdict(pass);} else {setverdict(fail);} - - -} - -//=========================================== -// DECODING , DER, SEQUENCE with fields of different types , AUTOMATIC TAGS (unified) -//=========================================== -testcase tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging() runs on Test_CT { - const BERPDU70 myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID_70, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - y2 := true } , - l := {y3 := NULL , - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - if (dec_BER_PDU70('304380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue) - {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU70('308080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue) - {setverdict(pass);} else {setverdict(fail);} - -} - -//=========================================== -// CER + DER encoding of SET (EMPTY), AUTOMATIC TAGGING (unified) -//=========================================== -testcase tc_CER_DER_encoding_of_SET_empty_automaticTagging() runs on Test_CT { - const BERPDU85 myValue1 := {b := omit, - c := omit } - const BERPDU85 myValue2 := {b := true, - c := omit } - const BERPDU85 myValue3 := { - c := omit, - b := true } - const BERPDU85 myValue4 := {b := true, - c := 5 } - const BERPDU85 myValue5 := { - c := 5, - b := true } - - if ((enc_DER_PDU85(myValue1) == '3100'O)and(enc_CER_PDU85(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU85(myValue2) == '31038001FF'O)and(enc_CER_PDU85(myValue2) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU85(myValue3) == '31038001FF'O)and(enc_CER_PDU85(myValue3) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU85(myValue4) == '31068001FF810105'O)and(enc_CER_PDU85(myValue4) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU85(myValue5) == '31068001FF810105'O)and(enc_CER_PDU85(myValue5) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('31038001FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('31808001FF0000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('31068001FF810105'O) == myValue4){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('31808001FF8101050000'O) == myValue4){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('31068101058001FF'O) == myValue4){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU85('31808101058001FF0000'O) == myValue4){setverdict(pass);} else {setverdict(fail);} - -} -//=========================================== -// CER + DER encoding of SET (both elements are used)(different order2) AUTOMATIC TAGGING -//=========================================== -testcase tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging() runs on Test_CT { - const BERPDU86 myValue := {b := true, c := 5 } - if ((enc_DER_PDU86(myValue) == '31068001058101FF'O)and(enc_CER_PDU86(myValue) == '31808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//=========================================== -// CER + DER encoding of SET (one element is equal to Default) AUTOMATIC TAGGING (unified) -//=========================================== -testcase tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging() runs on Test_CT { - const BERPDU87 myValue1 := {b := true,c := 5 } - const BERPDU87 myValue2 := {b := false,c := 5 } - const BERPDU87 myValue3 := {c := 5,b := false } - const BERPDU87 myValue4 := {c := 5 , b := true } - - if ((enc_DER_PDU87(myValue1) == '3103810105'O)and(enc_CER_PDU87(myValue1) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU87(myValue2) == '3106800100810105'O)and(enc_CER_PDU87(myValue2) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU87(myValue3) == '3106800100810105'O)and(enc_CER_PDU87(myValue3) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if ((enc_DER_PDU87(myValue4) == '3103810105'O)and(enc_CER_PDU87(myValue4) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('3103810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('31808101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('31068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('31808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('3106800100810105'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('31808001008101050000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('3106810105800100'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - if (dec_BER_PDU87('31808101058001000000'O) == myValue2){setverdict(pass);} else {setverdict(fail);} - -} -//=========================================== -// CER + DER encoding of SET (different order2)(one element is not equal to Default) AUTOMATIC TAGGING -//=========================================== -testcase tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging() runs on Test_CT { - const BERPDU88 myValue := {b := false, c := 5 } - if ((enc_DER_PDU88(myValue) == '3106800105810100'O)and(enc_CER_PDU88(myValue) == '31808001058101000000'O)) {setverdict(pass);} else {setverdict(fail);} -} - -//********************************************* -// CONTROL PART -//********************************************* - -control { - execute(tc_CER_DER_encoding_of_SEQUENCE_empty_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementIsEqualToDefault_automaticTagging()); - execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreUsed_automaticTagging()); - execute(tc_CER_DER_encoding_of_taggedSEQUENCE_bothElementsAreTaggedAndUsed_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_oneElementisTaggedManually_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_COMPONENTSOFused_noManualTags_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_oneComponentIsManuallyTagged_COMPONENTSOFused_noManualTags_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementIsManuallyTagged_COMPONENTSOFused_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_oneBaseElementAndOneComponentIsManuallyTagged_COMPONENTSOFused_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_withCHOICEelement_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_withExtension_automaticTagging()); - execute(tc_CER_DER_encoding_of_SEQUENCE_withfieldsOfDifferentTypes_automaticTagging()); - execute(tc_DER_encoding_of_SEQUENCE_withFieldsOfDifferentTypes_automaticTagging()) - execute(tc_CER_DER_encoding_of_SET_empty_automaticTagging()); - execute(tc_CER_DER_encoding_of_SET_bothElementsUsed_diffOrder_automaticTagging()); - execute(tc_CER_DER_encoding_of_SET_oneElementIsEqualToDefault_automaticTagging()); - execute(tc_CER_DER_encoding_of_SET_differentOrder_oneElementIsNotEqualToDefault_automaticTagging()); -} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN - -IMPORTS; - -BERPDU55 ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - -BERPDU56 ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - -BERPDU80 ::= [0] SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU55(in BERPDU55 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU55(in octetstring stream) return BERPDU55 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU56(in BERPDU56 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU56(in octetstring stream) return BERPDU56 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU80(in BERPDU80 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU80(in octetstring stream) return BERPDU80 with { extension "prototype(convert) decode(BER)" } - - -const BERPDU55 myValue_55 := {b := true, - c := 5 } -const BERPDU56 myValue_56 := {b := true, - c := 5 } - -const BERPDU80 myValue_80 := {true, false } - -<TTCN_TC:EXEC> -//=================================================== -//CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -//=================================================== -if ((enc_DER_PDU55(myValue_55) == '30079E01FF9F1F0105'O)and(enc_CER_PDU55(myValue_55) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU55('30079E01FF9F1F0105'O) == myValue_55){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU55('30809E01FF9F1F01050000'O) == myValue_55){setverdict(pass);} else {setverdict(fail);} - -//=================================================== -// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -//=================================================== -if ((enc_DER_PDU56(myValue_56) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU56(myValue_56) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU56('A00C300AA0030101FFA103020105'O) == myValue_56){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU56('A0803080A0800101FF0000A180020105000000000000'O) == myValue_56){setverdict(pass);} else {setverdict(fail);} - - -//=================================================== -// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING (unified) -//=================================================== -if ((enc_DER_PDU80(myValue_80) == 'A00830060101FF010100'O)and(enc_CER_PDU80(myValue_80) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU80('A00830060101FF010100'O) == myValue_80){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU80('A08030800101FF01010000000000'O) == myValue_80){setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN - -IMPORTS; - -BERPDU52 ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - -BERPDU53 ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -BERPDU57 ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - -BERPDU81 ::= [0] SEQUENCE OF BOOLEAN - -BERPDU88 ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - -BERPDU89 ::= SET - { - c [31] IMPLICIT INTEGER OPTIONAL, - b [30] IMPLICIT BOOLEAN OPTIONAL - } - -BERPDU90 ::= SET - { - c [31] EXPLICIT INTEGER OPTIONAL, - b [30] EXPLICIT BOOLEAN OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU52(in BERPDU52 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU52(in octetstring stream) return BERPDU52 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU53(in BERPDU53 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU53(in octetstring stream) return BERPDU53 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU57(in BERPDU57 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU57(in octetstring stream) return BERPDU57 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU81(in BERPDU81 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU81(in octetstring stream) return BERPDU81 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU88(in BERPDU88 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU88(in octetstring stream) return BERPDU88 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU89(in BERPDU89 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -//external function dec_BER_PDU89(in octetstring stream) return BERPDU89 with { extension "prototype(convert) decode(BER)" } - -external function enc_DER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU90(in BERPDU90 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -//external function dec_BER_PDU90(in octetstring stream) return BERPDU90 with { extension "prototype(convert) decode(BER)" } - -const BERPDU52 myValue_52 := {b := true,c := 5 } -const BERPDU53 myValue_53 := {b := true,c := 5 } -const BERPDU57 myValue_57 := {b := true,c := 5 } -const BERPDU81 myValue_81 := {true, false } -const BERPDU88 myValue1_88 := {b := true, c := 5 } -const BERPDU88 myValue2_88 := { c := 5, b := true } -const BERPDU89 myValue_89 := {b := true,c := 5 } -const BERPDU90 myValue_90 := {b := true,c := 5 } - -<TTCN_TC:EXEC> -//=========================================== -//CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -//=========================================== -if ((enc_DER_PDU52(myValue_52) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU52(myValue_52) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU52('300BBE030101FFBF1F03020105'O) == myValue_52){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU52('3080BE800101FF0000BF1F8002010500000000'O) == myValue_52){setverdict(pass);} else {setverdict(fail);} -//=========================================== -//CER + DER encoding of TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT -//=========================================== -if ((enc_DER_PDU53(myValue_53) == 'A0060101FF020105'O)and(enc_CER_PDU53(myValue_53) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU53('A0060101FF020105'O) == myValue_53){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU53('A0800101FF0201050000'O) == myValue_53){setverdict(pass);} else {setverdict(fail);} - -//=========================================== -// CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -//=========================================== -if ((enc_DER_PDU57(myValue_57) == 'A0068001FF810105'O)and(enc_CER_PDU57(myValue_57) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU57('A0068001FF810105'O) == myValue_57){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU57('A0808001FF8101050000'O) == myValue_57){setverdict(pass);} else {setverdict(fail);} -//=========================================== -// CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING (unified) -//=========================================== -if ((enc_DER_PDU81(myValue_81) == 'A0060101FF010100'O)and(enc_CER_PDU81(myValue_81) == 'A0800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU81('A0060101FF010100'O) == myValue_81){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU81('A0800101FF0101000000'O) == myValue_81){setverdict(pass);} else {setverdict(fail);} -//=========================================== -// CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements (unified) -//=========================================== -if ((enc_DER_PDU88(myValue1_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue1_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU88(myValue2_88) == '31079E01FF9F1F0105'O)and(enc_CER_PDU88(myValue2_88) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU88('31079E01FF9F1F0105'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU88('31809E01FF9F1F01050000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU88('31079F1F01059E01FF'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU88('31809F1F01059E01FF0000'O) == myValue1_88){setverdict(pass);} else {setverdict(fail);} -//=========================================== -// CER + DER encoding of SET (different order2) (both elements are used) IMPLICIT TAGS for elements -//=========================================== -if ((enc_DER_PDU89(myValue_89) == '31079E01FF9F1F0105'O)and(enc_CER_PDU89(myValue_89) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} -//=========================================== -// CER + DER encoding of SET (different order2)(both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -//=========================================== -if ((enc_DER_PDU90(myValue_90) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU90(myValue_90) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5 , - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue1) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue2) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - c [31] IMPLICIT INTEGER OPTIONAL, - b [30] IMPLICIT BOOLEAN OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - - c [31] EXPLICIT INTEGER OPTIONAL, - b [30] EXPLICIT BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5 , - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue1) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue2) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used) (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used) (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0800101FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0800201050101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue1) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue2) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060101FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060201050101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used) (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used) (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - b [1] BOOLEAN OPTIONAL, - c [0] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue1) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue2) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [1] BOOLEAN OPTIONAL, - c [0] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - - c [1] INTEGER OPTIONAL, - b [0] BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { - c := 5, - b := true} -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue1) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue2) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0068001FF810105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0808001FF8101050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0068101058001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0808101058001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - - c [0] INTEGER OPTIONAL, - b [1] BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= SET - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := 5 } -const BERPDU myValue2 := { c := 5 , - b := true } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '31060201058501FF'O)and(enc_CER_PDU(myValue1) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '31060201058501FF'O)and(enc_CER_PDU(myValue2) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31060201058501FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800201058501FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31068501FF020105'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808501FF0201050000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310C8001FF8201068101058301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808001FF8201068101058301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SET - {y OCTET STRING, - - x INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -MySeq ::= SET - {x [0] INTEGER OPTIONAL, - y OCTET STRING} -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310C8301FF8001FF820106810105'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808301FF8101058201068001FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SET - {y OCTET STRING, - x [0] INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue1) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310D020106030207800401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180020106030207800401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310D030207800201060401FF8001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180030207800201060401FF8001FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - -MySeq ::= SET - {y OCTET STRING, - x INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -MySeq ::= SET - {x [1] INTEGER OPTIONAL, - y OCTET STRING} -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue1) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310D030207800401FF8001FF810106'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180030207800401FF8001FF8101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310D8101060401FF8001FF03020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808001FF0401FF030207808101060000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SET - { y OCTET STRING, - x [1] INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - c INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := {x := true}, - c := 4} -const BERPDU myValue2 := { c := 4, - b := {x := true} } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue1) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue2) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3108A0038001FF810104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180A0808001FF00008101040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3108810104A0038001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180810104A0808001FF00000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - - - c INTEGER OPTIONAL, - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 4, - b := {x := true} } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3108800104A1038001FF'O)and(enc_CER_PDU(myValue) == '3180800104A1808001FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with CHOICE element, (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with CHOICE element, (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -::= -BEGIN -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - c INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := {x := true}, - c := 4} -const BERPDU myValue2 := {c := 4 , - b := {x := true}} -const BERPDU myValue3 := {b := {y := 'FF'O}, - c := 4} -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '31060101FF020104'O)and(enc_CER_PDU(myValue1) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '31060101FF020104'O)and(enc_CER_PDU(myValue2) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue3) == '31060201040401FF'O)and(enc_CER_PDU(myValue3) == '31800401FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31060101FF020104'O) == myValue1) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800101FF0201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31060201040101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800201040101FF0000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31060201040401FF'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800401FF0201040000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31060401FF020104'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800201040401FF0000'O) == myValue3){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= SET - { - a OCTET STRING, - b BOOLEAN, - c INTEGER OPTIONAL, - ..., - d BIT STRING - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } -const BERPDU myValue2 := { - a := 'FF'O, - d := '1'B, - b := true, - c := 4 - } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue1) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue2) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808001FF8101FF820104830207800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310D8001FF830207808101FF820104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31808001FF830207808101FF8201040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318300000D8001FF8101FF82010483020780'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318300000D8101FF820104830207808001FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31530101FF020102030207800402FFFF05000603000203090603312E452B300A0100300505000101FF310C03020780090603312E452B301603414243A1030101FFA3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '31800101FF020102030207800402FFFF05000603000203090603312E452B300A0100308005000101FF0000318003020780090603312E452B3000001603414243A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - l SET { x3 BIT STRING, - y3 REAL}, - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue1 := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - y2 := true } , - l := {y3 := 1.0 , - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } -const BERPDU myValue2 := {a := NULL, - c := 2, - d := first, - e := 1.0, - b := true, - f := '1'B, - g := 'FFFF'O, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - y2 := true } , - l := {y3 := 1.0 , - x3 := '1'B } , - h := myOBJID, - m := - { 1 ,2 } , - n := - { true, true } - } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O) - and(enc_CER_PDU(myValue1) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O) - and(enc_CER_PDU(myValue2) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := { - a := 1, - c := 3, - d := 4, - b := 2 } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '310C020101400102800103C00104'O)and(enc_CER_PDU(myValue1) == '3180020101400102800103C001040000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310C020101400102800103C00104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180020101400102800103C001040000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -::= -BEGIN -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := { - a := 1, - c := 3, - d := 4, - b := 2 } - -<TTCN_TC:EXEC> -if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := { - a := 1, - c := 3, - d := 4, - b := 2 } - -<TTCN_TC:EXEC> -if ((enc_DER_PDU(myValue1) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue1) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - j [0] INTEGER - } - } - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := { - a := 1, - b := {c:= 2}, - e := { f := {g := 3 } } - } - -<TTCN_TC:EXEC> -if ((enc_DER_PDU(myValue1) == '310BA103820102830101850103'O)and(enc_CER_PDU(myValue1) == '3180850103A18082010200008301010000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('310BA103820102830101850103'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180850103A18082010200008301010000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - j [0] INTEGER - } - } - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := { - a := 1, - b := {c:= 2}, - e := { f := { g := 3 } } - } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '3111A105A203020102A303020101A503020103'O)and(enc_CER_PDU(myValue1) == '3180A5800201030000A180A28002010200000000A38002010100000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3111A105A203020102A303020101A503020103'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3180A5800201030000A180A28002010200000000A38002010100000000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , different order, SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , different order, SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - c := 5, - b := true } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201050101FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SET with fields of different types , (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SET with fields of different types ,(unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -::= -BEGIN -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - --e REAL, - f BIT STRING, - g OCTET STRING, - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - l SET { x3 BIT STRING, - y3 NULL}, - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - y2 := true } , - l := {y3 := NULL , - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31450101FF020102030207800402FFFF050006030002030A01001603414243300505000101FF3106030207800500A1030101FFA3083006020101020102A40831060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800101FF020102030207800402FFFF050006030002030A01001603414243308005000101FF000031800302078005000000A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31450101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF0500'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800101FF0201020A0100030207800402FFFF050006030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SET with fields of different types , AUTOMATIC TAGS (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SET with fields of different types , AUTOMATIC TAGS (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - l SET { x3 BIT STRING, - y3 NULL}, - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - y2 := true } , - l := {y3 := NULL , - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('314380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31438101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF8000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318080008201028101FF8301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF INTEGER (empty) (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF INTEGER (empty) (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := { } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '3100'O)and(enc_CER_PDU(myValue1) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3100'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800000'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF BOOLEAN (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF BOOLEAN (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '31060101000101FF'O)and(enc_CER_PDU(myValue) == '31800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF OCTET STRING (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF OCTET STRING (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF OCTET STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '31070401AB0402FFFF'O)and(enc_CER_PDU(myValue) == '31800401AB0402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31070401AB0402FFFF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800401AB0402FFFF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31070402FFFF0401AB'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800402FFFF0401AB0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SEQUENCE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SEQUENCE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '3110300602010301010030060201050101FF'O)and(enc_CER_PDU(myValue) == '31803080020103010100000030800201050101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3110300602010301010030060201050101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31803080020103010100000030800201050101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('311030060201050101FF3006020103010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318030800201050101FF0000308002010301010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SET (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SET (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '3110310601010002010331060101FF020105'O)and(enc_CER_PDU(myValue) == '31803180010100020103000031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3110310601010002010331060101FF020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31803180010100020103000031800101FF02010500000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('311031060101FF0201053106010100020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318031800101FF0201050000318001010002010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5 - }, - { - b := false - } - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3106010100020105'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800101000201050000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('3106020105010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('31800201050101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SEQUENCE OF (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SEQUENCE OF (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF SEQUENCE OF INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - { - 1, - 2, - 3 - } - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '311630090201010201020201033009020105020106020107'O)and(enc_CER_PDU(myValue) == '318030800201010201020201030000308002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('311630090201010201020201033009020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318030800201010201020201030000308002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('311630090201050201060201073009020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318030800201050201060201070000308002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SET OF (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SET OF (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET OF SET OF INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - {5,6,7}, - {1,2,3} - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '311631090201010201020201033109020105020106020107'O)and(enc_CER_PDU(myValue) == '318031800201010201020201030000318002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('311631090201010201020201033109020105020106020107'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318031800201010201020201030000318002010502010602010700000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('311631090201050201060201073109020101020102020103'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('318031800201050201060201070000318002010102010202010300000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET OF BOOLEAN (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET OF BOOLEAN (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] SET OF BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] SET OF BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A00831060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] SET OF BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A0060101000101FF'O)and(enc_CER_PDU(myValue) == 'A0800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0060101000101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0800101000101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0060101FF010100'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0800101FF0101000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF OCTET STRING - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {'FFFF'O, ''O }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '310604000402FFFF'O)and(enc_CER_PDU(myValue) == '318004000402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - NULL (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - NULL (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - -myValue8 BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {a := NULL} -const BERPDU myValue2 := {b := true} -const BERPDU myValue3 := {c := 2} -const BERPDU myValue4 := {d := first} -const BERPDU myValue5 := {e := 1.0} -const BERPDU myValue6 := {f := '1'B} -const BERPDU myValue7 := {g := 'FFFF'O} - -const BERPDU myValue9 := {i := "ABC"} -const BERPDU myValue10 := {j := {x1 := true } } -const BERPDU myValue11 := {k := {x2 := NULL, - y2 := true } } -const BERPDU myValue12 := {l := {y3 := 1.0 , - x3 := '1'B } } -const BERPDU myValue13 := {m := - { 1 ,2 } } -const BERPDU myValue14 := {n := - { true, true } } -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '0500'O)and(enc_CER_PDU(myValue1) == '0500'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue2) == '0101FF'O)and(enc_CER_PDU(myValue2) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue3) == '020102'O)and(enc_CER_PDU(myValue3) == '020102'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue4) == '0A0100'O)and(enc_CER_PDU(myValue4) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue5) == '090603312E452B30'O)and(enc_CER_PDU(myValue5) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue6) == '03020780'O)and(enc_CER_PDU(myValue6) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue7) == '0402FFFF'O)and(enc_CER_PDU(myValue7) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue8) == '0603000203'O)and(enc_CER_PDU(myValue8) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue9) == '1603414243'O)and(enc_CER_PDU(myValue9) == '1603414243'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue10) == 'A1030101FF'O)and(enc_CER_PDU(myValue10) == 'A1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue11) == '300505000101FF'O)and(enc_CER_PDU(myValue11) == '308005000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue12) == '310C03020780090603312E452B30'O)and(enc_CER_PDU(myValue12) == '318003020780090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue13) == 'A3083006020101020102'O)and(enc_CER_PDU(myValue13) == 'A380308002010102010200000000'O)) {setverdict(pass);} else {setverdict(fail);} -if ((enc_DER_PDU(myValue14) == 'A40831060101FF0101FF'O)and(enc_CER_PDU(myValue14) == 'A48031800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0500'O) == myValue1){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0101FF'O) == myValue2){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('020102'O) == myValue3){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0A0100'O) == myValue4){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('03020780'O) == myValue6){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0402FFFF'O) == myValue7){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0603000203'O) == myValue8){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('1603414243'O) == myValue9){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A1030101FF'O) == myValue10){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A1800101FF0000'O) == myValue10){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('300505000101FF'O) == myValue11){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('308005000101FF0000'O) == myValue11){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3083006020101020102'O) == myValue13){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A380308002010102010200000000'O) == myValue13){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A40831060101FF0101FF'O) == myValue14){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A48031800101FF0101FF00000000'O) == myValue14){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue1 := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue1) == '0101FF'O)and(enc_CER_PDU(myValue1) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0101FF'O) == myValue1){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged(unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged(unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -::= -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('0101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '8001FF'O)and(enc_CER_PDU(myValue) == '8001FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('8001FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('8301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA -DEFINITIONS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A3800101FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -IMPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0038301FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A0808301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -EXPLICIT TAGS -::= -BEGIN -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE, (unified) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE, (unified)> - -<STATIC:ASN> - -TempA - -DEFINITIONS -::= -BEGIN -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A005A3030101FF'O) == myValue){setverdict(pass);} else {setverdict(fail);} -if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , DER, CHOICE - SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , DER, CHOICE - SET> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 OCTET STRING}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {l := {y3 := 'FFFF'O , - - x3 := '1'B } } - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3108030207800402FFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - SET> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 OCTET STRING}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {l := {y3 := 'FFFF'O , - - x3 := '1'B } } - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180030207800402FFFF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0038301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808301FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t recommendation a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) question(1) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t question a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 1 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) administration(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t administration a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t network-operator a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 4 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso(1) standard(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso standard a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {1 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso(1) member-body(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso member-body a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {1 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {1 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {2 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {2 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 } - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06075002038F509F20'O)and(enc_CER_PDU(b) == '06075002038F509F20'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '8003000203'O)and(enc_CER_PDU(b) == '8003000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A0050603000203'O)and(enc_CER_PDU(b) == 'A08006030002030000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= { itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t recommendation a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) question(1) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603010203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t question a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603010203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 1 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603010203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) administration(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603020203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t administration a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603020203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603020203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603030203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t network-operator a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603030203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603030203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603040203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603040203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 4 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603040203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso(1) standard(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603280203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso standard a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603280203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {1 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603280203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso(1) member-body(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032A0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso member-body a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032A0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {1 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032A0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032B0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032B0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {1 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032B0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603500203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603500203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {2 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603500203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('060481340203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('060481340203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {2 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('060481340203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06075002038F509F20'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8003000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0050603000203'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08006030002030000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER encoding of OPEN TYPE from Information Object Class -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OPEN TYPE from Information Object Class> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - -BERPDU ::= SEQUENCE - -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}},field2 := 999 }; - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER encoding of TYPE from Information Object -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TYPE from Information Object > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - - - -BERPDU ::= SEQUENCE - -{ -field1 myObject-1.&TypeField , -- type from object -field2 MY-CLASS-1.&fixedTypeValueField -} - -END - - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { field1 := {f1 := 8},field2 := 999 }; - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,OPEN TYPE, DER, from Information Object Class -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,OPEN TYPE, DER, from Information Object Class> - -<STATIC:ASN> - - -TempA - -DEFINITIONS ::= -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - -BERPDU ::= SEQUENCE - -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - - -END -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30093003020108020203E7'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,OPEN TYPE, CER, from Information Object Class -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,OPEN TYPE, CER, from Information Object Class> - -<STATIC:ASN> - - -TempA - -DEFINITIONS ::= -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - -BERPDU ::= SEQUENCE - -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - - -END -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , TYPE from Information Object Class, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , TYPE from Information Object Class, DER> - -<STATIC:ASN> - - -TempA - -DEFINITIONS - - -::= - -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - - - -BERPDU ::= SEQUENCE - -{ -field1 myObject-1.&TypeField , -- type from object -field2 MY-CLASS-1.&fixedTypeValueField -} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30093003020108020203E7'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , TYPE from Information Object Class, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , TYPE from Information Object Class, CER> - -<STATIC:ASN> - - -TempA - -DEFINITIONS - - -::= - -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - - - -BERPDU ::= SEQUENCE - -{ -field1 myObject-1.&TypeField , -- type from object -field2 MY-CLASS-1.&fixedTypeValueField -} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Encoding/decoding of big integers -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Encoding/decoding of big integers -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding/decoding of big integers> - -<STATIC:ASN> - -TempA DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -BERPDU ::= INTEGER -bi1 BERPDU ::= 5 -bi2 BERPDU ::= 0 -bi3 BERPDU ::= 127 -bi4 BERPDU ::= -128 -bi5 BERPDU ::= -5 -bi-6 BERPDU ::= 128 -bi7 BERPDU ::= -129 - -BERPDU2 ::= REAL ---b BERPDU2 ::= 12345678900 - -Rec-ber ::= SEQUENCE { - int1 Number, - int2 Number -} -Rec-ber-literal ::= SEQUENCE { - int1 NumberLit, - int2 NumberLit -} -Number ::= INTEGER -NumberLit ::= NumericString (SIZE (100)) -myNumber Number ::= 12345678910111213141516 - -END - -<STATIC> - -import from TempA language "ASN.1:1997" all - -external function enc_ber1(in Rec_ber r) return octetstring - with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_ber1(in octetstring r) return Rec_ber - with { extension "decode(BER:BER_ACCEPT_ALL) prototype(convert) errorbehavior(ALL:WARNING)" } -external function enc_ber2(in integer r) return octetstring - with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } -// Attributes are not checked in the compiler. -external function dec_ber2(in octetstring r) return integer - with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_ber3(inout octetstring r, out Rec_ber s) return integer - with { extension "decode(BER:BER_ACCEPT_ALL) prototype(sliding) errorbehavior(ALL:WARNING)" } - -type component comp_ber { } - -<TTCN_TC:EXEC> - - const integer a := 2147483647 - const integer b := 2147483648 - const integer c := 2147483649 - const integer d := 128 - const integer e := myNumber - const integer f := 12147483648 - var Rec_ber myrec1 := {int1 := a, int2 := b} - var Rec_ber myrec2 := {int1 := c, int2 := d} - var Rec_ber myrec3 := {int1 := 1048576, int2 := 321768} - var Rec_ber myrec4 := {65536, 131072} - var Rec_ber myrec5 := {4294967296, 8388608} - var Rec_ber myrec6 := {12345678910111213141516, 11111111111111111111} - var Rec_ber myrec7 := {8589934592, 1099511627776} - var Rec_ber myrec8 := {int1 := a, int2 := b} - var Rec_ber myrec9 := {int1 := 12345678910111213141516, int2 := -1234} - var Rec_ber myrec10 := {int1 := -12345678910111213141516, int2 := -1234} - var Rec_ber myrec11 := {2147483648, -2147483648} - var Rec_ber myrec12 := {-2147483647, 2147483647} - var Rec_ber myrec13 := {2147483649, -2147483649} - var Rec_ber myrec14 := {-4294967296, 4294967296} - var Rec_ber myrec15 := {4294967295, -4294967295} - var Rec_ber myrec16 := {-4294967297, 4294967297} - var Rec_ber pdu1 := {12345678910111213141516, -2147483648} - var Rec_ber pdu2 := {123, 456} - var octetstring encoded_pdu - var Rec_ber decoded_pdu - var integer ret_val - encoded_pdu := enc_ber1(pdu2) - ret_val := dec_ber3(encoded_pdu, decoded_pdu) - if (ret_val == 0 and decoded_pdu == pdu2) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := '800100'O - ret_val := dec_ber3(encoded_pdu, decoded_pdu) - if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := substr(enc_ber1(pdu1), 0, 4) - ret_val := dec_ber3(encoded_pdu, decoded_pdu) - if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber2(-2147483648) - if (encoded_pdu == '020480000000'O) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec1) - if (myrec1 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec2) - if (myrec2 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := c, int2 := d} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec3) - if (myrec3 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := 1048576, int2 := 321768} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec4) - if (myrec4 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({65536, 131072} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec5) - if (myrec5 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({4294967296, 8388608} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec6) - if (myrec6 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({12345678910111213141516, 11111111111111111111} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec7) - if (myrec7 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({8589934592, 1099511627776} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec8) - if (myrec8 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec9) - if (myrec9 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := 12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec10) - if (myrec10 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := -12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec11) - if (myrec11 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({2147483648, -2147483648} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec12) - if (myrec12 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({-2147483647, 2147483647} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec13) - if (myrec13 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({2147483649, -2147483649} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec14) - if (myrec14 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({-4294967296, 4294967296} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec15) - if (myrec15 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({4294967295, -4294967295} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec16) - if (myrec16 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({-4294967297, 4294967297} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Purpose -.*---------------------------------------------------------------------* -Negative tests for the BER decoder. -.*---------------------------------------------------------------------* -:h2.Test cases -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form NR3 pretending to be NR1 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form NR3 pretending to be NR1> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0133313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR1 form. - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form NR3 pretending to be NR2 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form NR3 pretending to be NR2> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0233313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR2 form. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, reserved decimal form 0x20 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, reserved decimal form 0x20> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D2033313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x20 (See X.690 8.5.7). - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form 0 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form 0> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0033313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x0 (See X.690 8.5.7). - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form 4 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form 4> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0433313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x4 (See X.690 8.5.7). - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Memory leak while BER decoding, test for HO73756 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Memory leak while BER decoding, test for HO73756> - -<STATIC:ASN> -TempA DEFINITIONS ::= -BEGIN - -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1|myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1|myObject-3, -... -} - -BERPDU ::= SEQUENCE -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - -END -<STATIC> -// Test for memory leak problem in BER decoder: HO73756. -import from TempA all; - -external function dec_backtrack(in octetstring stream, out BERPDU outpdu) return integer with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -type component empty { - var BERPDU mypdu -} - -<TTCN_TC:PURE_EXEC> - -testcase mytc() runs on empty { - dec_backtrack('30093003020108020203E7'O, mypdu) - dec_backtrack('30093003020108020203E7'O, mypdu) - setverdict(pass) -} - -control { - execute(mytc()) -} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h1.REFERENCES -.*---------------------------------------------------------------------* -:nl. Requirement specification(s): -:nl.------------------------------- -:list. -:li. 8/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's encoder/decoder functions -:elist. - -:etext. diff --git a/function_test/BER_EncDec/BER_EncDec_TD.script b/function_test/BER_EncDec/BER_EncDec_TD.script deleted file mode 100644 index e573c3a767ab19ab4ed7de70f3f154f6725d1ddd..0000000000000000000000000000000000000000 --- a/function_test/BER_EncDec/BER_EncDec_TD.script +++ /dev/null @@ -1,54335 +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 -.* Bartha, Norbert -.* Beres, Szabolcs -.* Delic, Adam -.* Hanko, Matyas -.* Kovacs, Ferenc -.* Pandi, Krisztian -.* Szabados, Kristof -.* Szabo, Janos Zoltan – initial implementation -.* Szalai, Gabor -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.8/152 91-CRL 113 200/3 Uen -:rev.A -:date.2013-01-17 -.* -:prep.ETH/XZR Krisztian Pandi -:appr.ETH/XZ (Gyula Koos) -:checked.ETHGRY -.* -:title.Test Description - BER coder -:contents level=3. -.*---------------------------------------------------------------------* -:h1.PREREQUISITES AND PREPARATIONS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Scope of the Test Object -.*---------------------------------------------------------------------* -:xmp tab=1 nokeep. - -This file is obsolate, don't modify, improve it anymore! - -This TD contains test cases related to TTCN3 Executor's BER coder function. -DON'T YOU DARE TO WRITE AN INSPECTION RECORD ABOUT THIS FILE. - -: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 -A 2012-06-27 EFERKOV Updated for release -A 2013-01-17 EKRIPND Updated for release -:exmp. - -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -:p.:us.Software Tools:eus. -:xmp tab=2 nokeep. - - SAtester - -:exmp. -:np. -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Testing FIELDLENGTH Attribute -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN TRUE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN TRUE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= - - -BEGIN -BERPDU ::= BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := true - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0101FF'O)and(enc_CER_PDU(b) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN FALSE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN FALSE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := false - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '010100'O)and(enc_CER_PDU(b) == '010100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := true - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A0030101FF'O)and(enc_CER_PDU(b) == 'A0800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := true - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E1030101FF'O)and(enc_CER_PDU(b) == 'E1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := true - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '62030101FF'O)and(enc_CER_PDU(b) == '62800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := false - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '800100'O)and(enc_CER_PDU(b) == '800100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := false - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C10100'O)and(enc_CER_PDU(b) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of BOOLEAN with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of BOOLEAN with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT BOOLEAN -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := true - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '4201FF'O)and(enc_CER_PDU(b) == '4201FF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BOOLEAN, CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BOOLEAN, CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0101FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BOOLEAN, CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BOOLEAN, CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BOOLEAN - -myBooleanValue BERPDU ::= FALSE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('010100'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BOOLEAN, (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BOOLEAN, (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('05810101'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BOOELAN, (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BOOELAN, (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BOOLEAN - -myBooleanValue BERPDU ::= FALSE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0582000100'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT BOOLEAN , DER, Short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT BOOLEAN , DER, Short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030101FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT BOOLEAN, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT BOOLEAN, CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800101FF0000'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT BOOLEAN, Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT BOOLEAN, Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081030101FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT BOOLEAN, Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT BOOLEAN, Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0810401810199'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT BOOLEAN , DER, Short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT BOOLEAN , DER, Short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1030101FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT BOOLEAN, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT BOOLEAN, CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1800101FF0000'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT BOOLEAN, Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT BOOLEAN, Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E181030101FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT BOOLEAN, Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT BOOLEAN, Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1810401810199'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT BOOLEAN , DER, Short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT BOOLEAN , DER, Short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62030101FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT BOOLEAN, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT BOOLEAN, CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62800101FF0000'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT BOOLEAN, Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT BOOLEAN, Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6281030101FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT BOOLEAN, Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT BOOLEAN, Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62810401810199'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT BOOLEAN ,Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT BOOLEAN ,Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8001FF'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT BOOLEAN,Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT BOOLEAN,Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('80810133'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT BOOLEAN,Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT BOOLEAN,Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT BOOLEAN - -myBooleanValue BERPDU ::= FALSE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C10100'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT BOOLEAN,Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT BOOLEAN,Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C1810105'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT BOOLEAN,Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT BOOLEAN,Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT BOOLEAN - -myBooleanValue BERPDU ::= FALSE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('420100'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT BOOLEAN,Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT BOOLEAN,Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT BOOLEAN - -myBooleanValue BERPDU ::= TRUE - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('42810188'O) == myBooleanValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5)> -START OF INTEGER SECTION - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '020105'O)and(enc_CER_PDU(b) == '020105'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A003020105'O)and(enc_CER_PDU(b) == 'A0800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E103020105'O)and(enc_CER_PDU(b) == 'E1800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '6203020105'O)and(enc_CER_PDU(b) == '62800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '800105'O)and(enc_CER_PDU(b) == '800105'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C10105'O)and(enc_CER_PDU(b) == 'C10105'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '420105'O)and(enc_CER_PDU(b) == '420105'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (0) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (0) > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 0 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '020100'O)and(enc_CER_PDU(b) == '020100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (0) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (0) with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 0 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A003020100'O)and(enc_CER_PDU(b) == 'A0800201000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (0) with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (0) with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 0 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E103020100'O)and(enc_CER_PDU(b) == 'E1800201000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (0) with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (0) with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 0 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '6203020100'O)and(enc_CER_PDU(b) == '62800201000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (0) with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (0) with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 0 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '800100'O)and(enc_CER_PDU(b) == '800100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (0) with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (0) with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 0 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C10100'O)and(enc_CER_PDU(b) == 'C10100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (0) with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (0) with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 0 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '420100'O)and(enc_CER_PDU(b) == '420100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (127) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (127) > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 127 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '02017F'O)and(enc_CER_PDU(b) == '02017F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (127) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (127) with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 127 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A00302017F'O)and(enc_CER_PDU(b) == 'A08002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (127) with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (127) with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 127 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E10302017F'O)and(enc_CER_PDU(b) == 'E18002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (127) with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (127) with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 127 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '620302017F'O)and(enc_CER_PDU(b) == '628002017F0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (127) with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (127) with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 127 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '80017F'O)and(enc_CER_PDU(b) == '80017F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (127) with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (127) with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 127 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C1017F'O)and(enc_CER_PDU(b) == 'C1017F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (127) with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (127) with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 127 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '42017F'O)and(enc_CER_PDU(b) == '42017F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-128) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-128) > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '020180'O)and(enc_CER_PDU(b) == '020180'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-128) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-128) with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A003020180'O)and(enc_CER_PDU(b) == 'A0800201800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-128) with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-128) with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E103020180'O)and(enc_CER_PDU(b) == 'E1800201800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-128) with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-128) with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '6203020180'O)and(enc_CER_PDU(b) == '62800201800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-128) with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-128) with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '800180'O)and(enc_CER_PDU(b) == '800180'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-128) with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-128) with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C10180'O)and(enc_CER_PDU(b) == 'C10180'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-128) with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-128) with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '420180'O)and(enc_CER_PDU(b) == '420180'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-5) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-5)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0201FB'O)and(enc_CER_PDU(b) == '0201FB'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-5) with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A0030201FB'O)and(enc_CER_PDU(b) == 'A0800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-5) with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-5) with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E1030201FB'O)and(enc_CER_PDU(b) == 'E1800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-5) with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-5) with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '62030201FB'O)and(enc_CER_PDU(b) == '62800201FB0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-5) with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-5) with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '8001FB'O)and(enc_CER_PDU(b) == '8001FB'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-5) with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-5) with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C101FB'O)and(enc_CER_PDU(b) == 'C101FB'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-5) with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-5) with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '4201FB'O)and(enc_CER_PDU(b) == '4201FB'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (128) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (128)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '02020080'O)and(enc_CER_PDU(b) == '02020080'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (128) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (128) with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A00402020080'O)and(enc_CER_PDU(b) == 'A080020200800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (128) with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (128) with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E10402020080'O)and(enc_CER_PDU(b) == 'E180020200800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (128) with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (128) with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '620402020080'O)and(enc_CER_PDU(b) == '6280020200800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (128) with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (128) with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '80020080'O)and(enc_CER_PDU(b) == '80020080'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (128) with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (128) with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C1020080'O)and(enc_CER_PDU(b) == 'C1020080'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (128) with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (128) with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 128 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '42020080'O)and(enc_CER_PDU(b) == '42020080'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-129) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-129)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -129 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0202FF7F'O)and(enc_CER_PDU(b) == '0202FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-129) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-129) with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -129 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A0040202FF7F'O)and(enc_CER_PDU(b) == 'A0800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-129) with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-129) with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -129 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E1040202FF7F'O)and(enc_CER_PDU(b) == 'E1800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-129) with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-129) with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -129 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '62040202FF7F'O)and(enc_CER_PDU(b) == '62800202FF7F0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-129) with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-129) with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -129 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '8002FF7F'O)and(enc_CER_PDU(b) == '8002FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-129) with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-129) with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -129 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C102FF7F'O)and(enc_CER_PDU(b) == 'C102FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (-129) with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (-129) with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -129 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '4202FF7F'O)and(enc_CER_PDU(b) == '4202FF7F'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT> - - TAG=30 - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [30] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'BE03020105'O)and(enc_CER_PDU(b) == 'BE800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT> - - TAG=31 - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [31] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'BF1F03020105'O)and(enc_CER_PDU(b) == 'BF1F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT> - - TAG=127 - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [127] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'BF7F03020105'O)and(enc_CER_PDU(b) == 'BF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT> - - TAG=128 - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [128] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'BF810003020105'O)and(enc_CER_PDU(b) == 'BF8100800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT> - - TAG=16383 - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [16383] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'BFFF7F03020105'O)and(enc_CER_PDU(b) == 'BFFF7F800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of integer (5) with Context Specific TAG, EXPLICIT> - - TAG=16384 - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [16384] EXPLICIT INTEGER -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 5 - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'BF81800003020105'O)and(enc_CER_PDU(b) == 'BF818000800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (5), CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (5), CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (5), (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (5), (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('02810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (5), (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (5), (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0282000105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (5), DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (5), DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A003020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (5), CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (5), CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (5), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (5), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A003020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (5), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (5), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08103020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (5), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (5), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0810402810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E103020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E10402810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18103020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (5), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1810402810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (5),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (5),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6203020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('620402810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628103020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (5), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62810402810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (5),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (5),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (5),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (5),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('800105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (5),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (5),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('80810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (5),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (5),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C10105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (5),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (5),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C1810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (5),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (5),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('420105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (5),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (5),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('42810105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (0), CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (0), CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (0), (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (0), (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('02810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (0), (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (0), (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0282000100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (0), DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (0), DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A003020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (0), CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (0), CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800201000000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (0), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (0), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A003020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (0), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (0), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08103020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (0), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (0), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0810402810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E103020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E10402810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18103020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (0), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1810402810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (0),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (0),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1800201000000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6203020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('620402810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628103020100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (0), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62810402810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (0),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (0),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62800201000000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (0),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (0),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('800100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (0),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (0),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('80810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (0),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (0),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C10100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (0),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (0),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C1810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (0),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (0),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('420100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (0),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (0),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('42810100'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (127), CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (127), CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('02017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (127), (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (127), (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0281017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (127), (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (127), (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('028200017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (127), DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (127), DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00302017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (127), CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (127), CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08002017F0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (127), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (127), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00302017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (127), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (127), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0810302017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (127), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (127), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040281017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E10302017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1040281017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1810302017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (127), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E181040281017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (127),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (127),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18002017F0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('620302017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62040281017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62810302017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (127), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6281040281017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (127),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (127),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628002017F0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (127),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (127),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('80017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (127),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (127),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8081017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (127),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (127),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C1017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (127),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (127),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C181017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (127),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (127),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('42017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (127),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (127),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 127 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('4281017F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-128), CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-128), CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-128), (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-128), (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('02810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-128), (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-128), (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0282000180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-128), DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-128), DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A003020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-128), CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-128), CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800201800000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-128), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-128), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A003020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-128), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-128), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08103020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-128), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-128), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0810402810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E103020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E10402810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18103020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-128), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1810402810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-128),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-128),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1800201800000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6203020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('620402810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628103020180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-128), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62810402810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-128),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-128),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62800201800000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (-128),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (-128),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('800180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (-128),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (-128),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('80810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (-128),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (-128),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C10180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (-128),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (-128),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C1810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (-128),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (-128),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('420180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (-128),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (-128),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('42810180'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-5), CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-5), CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-5), (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-5), (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('028101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-5), (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-5), (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('02820001FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-5), DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-5), DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-5), CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-5), CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800201FB0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-5), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-5), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-5), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-5), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081030201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-5), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-5), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08104028101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1030201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E104028101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E181030201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-5), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18104028101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-5),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-5),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1800201FB0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62030201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6204028101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6281030201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-5), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628104028101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-5),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-5),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62800201FB0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (-5),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (-5),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8001FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (-5),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (-5),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('808101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (-5),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (-5),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (-5),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (-5),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C18101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (-5),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (-5),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('4201FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (-5),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (-5),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('428101FB'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (128), CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (128), CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('02020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (128), (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (128), (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0281020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (128), (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (128), (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('028200020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (128), DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (128), DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00402020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (128), CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (128), CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A080020200800000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (128), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (128), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00402020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (128), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (128), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0810402020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (128), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (128), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081050281020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E10402020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1050281020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1810402020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (128), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E181050281020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (128),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (128),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E180020200800000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('620402020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62050281020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62810402020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (128), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6281050281020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (128),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (128),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6280020200800000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (128),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (128),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('80020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (128),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (128),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8081020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (128),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (128),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C1020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (128),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (128),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C181020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (128),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (128),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('42020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (128),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (128),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= 128 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('4281020080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-129), CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-129), CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-129), (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-129), (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('028102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING INTEGER (-129), (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING INTEGER (-129), (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('02820002FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-129), DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-129), DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-129), CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-129), CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800202FF7F0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-129), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-129), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-129), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-129), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT INTEGER (-129), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT INTEGER (-129), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08105028102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1040202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E105028102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E181040202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-129), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18105028102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT INTEGER (-129),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT INTEGER (-129),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1800202FF7F0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Short form - Short form, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Short form - Short form, DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62040202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6205028102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6281040202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-129), Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628105028102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT INTEGER (-129),Indefinite form,CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT INTEGER (-129),Indefinite form,CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62800202FF7F0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (-129),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (-129),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8002FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT INTEGER (-129),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT INTEGER (-129),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('808102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (-129),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (-129),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT INTEGER (-129),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT INTEGER (-129),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C18102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (-129),Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (-129),Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('4202FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT INTEGER (-129),Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT INTEGER (-129),Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT INTEGER - -myIntegerValue BERPDU ::= -129 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('428102FF7F'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER integer (5) with Context Specific TAG = 30 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER integer (5) with Context Specific TAG = 30> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [30] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BE03020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER integer (5) with Context Specific TAG = 30 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER integer (5) with Context Specific TAG = 30> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [30] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BE800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER integer (5) with Context Specific TAG = 31 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER integer (5) with Context Specific TAG = 31> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [31] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF1F03020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER integer (5) with Context Specific TAG = 31 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER integer (5) with Context Specific TAG = 31> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [31] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF1F800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER integer (5) with Context Specific TAG = 127 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER integer (5) with Context Specific TAG = 127> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [127] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF7F03020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER integer (5) with Context Specific TAG = 127 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER integer (5) with Context Specific TAG = 127> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [127] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF7F800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER integer (5) with Context Specific TAG = 128 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER integer (5) with Context Specific TAG = 128> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [128] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF810003020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER integer (5) with Context Specific TAG = 128 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER integer (5) with Context Specific TAG = 128> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [128] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF8100800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER integer (5) with Context Specific TAG = 16383 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER integer (5) with Context Specific TAG = 16383> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [16383] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BFFF7F03020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER integer (5) with Context Specific TAG = 16383 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER integer (5) with Context Specific TAG = 16383> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [16383] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BFFF7F800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER integer (5) with Context Specific TAG = 16384 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER integer (5) with Context Specific TAG = 16384> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [16384] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF81800003020105'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER integer (5) with Context Specific TAG = 16384 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER integer (5) with Context Specific TAG = 16384> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [16384] EXPLICIT INTEGER - -myIntegerValue BERPDU ::= 5 - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('BF818000800201050000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED third(-9) hardcoded positive -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED third(-9) hardcoded positive > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first(-5), second(0), third(9)} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := third - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0109'O)and(enc_CER_PDU(b) == '0A0109'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED first(0) hardcoded negative -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED first(0) hardcoded negative> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first(-5), second(0), third(9)} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := first - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A01FB'O)and(enc_CER_PDU(b) == '0A01FB'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED second(0) hardcoded zero -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED second(0) hardcoded zero> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first(-5), second(0), third(9)} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := second - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0100'O)and(enc_CER_PDU(b) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED third, no hardcoding -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED third, no hardcoding> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second, third} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := third - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0102'O)and(enc_CER_PDU(b) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED first, no hardcoding -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED first, no hardcoding> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second, third} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := first - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0100'O)and(enc_CER_PDU(b) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED second, no hardcoding -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED second, no hardcoding> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first(-5), second(0), third(9)} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := second - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0100'O)and(enc_CER_PDU(b) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED first -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED first> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := first - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0101'O)and(enc_CER_PDU(b) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED second(0) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED second(0)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := second - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0100'O)and(enc_CER_PDU(b) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED third -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED third> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := third - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0102'O)and(enc_CER_PDU(b) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED first -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED first> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := first - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0101'O)and(enc_CER_PDU(b) == '0A0101'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED second(0) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED second(0)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := second - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0100'O)and(enc_CER_PDU(b) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED third -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED third> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := third - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0102'O)and(enc_CER_PDU(b) == '0A0102'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED fourth (after extension ...) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED fourth (after extension ...)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := fourth - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0103'O)and(enc_CER_PDU(b) == '0A0103'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED fifth(5) (after extension ...) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED fifth(5) (after extension ...)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := fifth - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0105'O)and(enc_CER_PDU(b) == '0A0105'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED sixth (after extension ...) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED sixth (after extension ...)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := sixth - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0A0106'O)and(enc_CER_PDU(b) == '0A0106'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED , tagged, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED , tagged, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [21] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := sixth - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'B5030A0106'O)and(enc_CER_PDU(b) == 'B5800A01060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of ENUMERATED , tagged, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of ENUMERATED , tagged, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := sixth - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '9F580106'O)and(enc_CER_PDU(b) == '9F580106'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, CER+DER (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, CER+DER (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A0101'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A810101'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030A0101'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800A01010000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040A810101'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040A810101'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F580101'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, long form (first) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, long form (first)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= first - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F58810101'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, CER+DER (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, CER+DER (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A0100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A810100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030A0100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800A01000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040A810100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040A810100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F580100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, long form (second(0)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, long form (second(0))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= second - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F58810100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, CER+DER (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, CER+DER (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A0102'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A810102'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030A0102'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800A01020000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040A810102'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040A810102'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F580102'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, long form (third) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, long form (third)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= third - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F58810102'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, CER+DER (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, CER+DER (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A0103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A810103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030A0103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800A01030000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040A810103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040A810103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F580103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, long form (fourth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, long form (fourth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fourth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F58810103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, CER+DER (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, CER+DER (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A0105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A810105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030A0105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800A01050000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040A810105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040A810105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F580105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, long form (fifth(5)) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, long form (fifth(5))> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= fifth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F58810105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, CER+DER (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, CER+DER (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A0106'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF UNTAGGED ENUMERATED, Length of length = 1, (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A810106'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, DER (short form - short form) (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0030A0106'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED OF ENUMERATED, CER (INDEFINITE FORM) (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800A01060000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, short form - long form (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040A810106'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF EXPLICIT TAGGED ENUMERATED, long form - long form (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081040A810106'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, CER+DER (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F580106'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OF IMPLICIT TAGGED ENUMERATED, long form (sixth) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OF IMPLICIT TAGGED ENUMERATED, long form (sixth)> -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [88] IMPLICIT ENUMERATED {first, second(0),third,...,fourth, fifth(5),sixth} - - -myValue BERPDU ::= sixth - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('9F58810106'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0e0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0e0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0e0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0e0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0e0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0e0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0E+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0E+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0E+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0E+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0E+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0E+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0e+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0e+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0e+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0e+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0e+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0e+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0E-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0E-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0E-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0E-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0E-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0E-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0e-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0e-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0e-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0e-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0e-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0e-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0900'O)and(enc_CER_PDU(b) == '0900'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1e0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1e0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1e0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.0e0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.0e0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.0e0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.0E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.0E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.0E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1e+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1e+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1e+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1E+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1E+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1E+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.0e+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.0e+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.0e+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.0E+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.0E+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.0E+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1e-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1e-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1e-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1E-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1E-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1E-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.0e-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.0e-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.0e-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.0E-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.0E-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.0E-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 2 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603322E452B30'O)and(enc_CER_PDU(b) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 2.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 2.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 2.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603322E452B30'O)and(enc_CER_PDU(b) == '090603322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1e0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1e0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1e0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.0e0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.0e0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.0e0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.0E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.0E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.0E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1e+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1e+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1e+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1E+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1E+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1E+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.0e+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.0e+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.0e+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.0E+0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.0E+0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.0E+0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1e-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1e-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1e-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1E-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1E-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1E-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.0e-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.0e-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.0e-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.0E-0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.0E-0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.0E-0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.000 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.000 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.000 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090603312E452B30'O)and(enc_CER_PDU(b) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.000 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.000 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.000 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0907032D312E452B30'O)and(enc_CER_PDU(b) == '0907032D312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 12 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 12 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 12 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070331322E452B30'O)and(enc_CER_PDU(b) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 12.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 12.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 12.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070331322E452B30'O)and(enc_CER_PDU(b) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 12.0E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 12.0E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 12.0E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070331322E452B30'O)and(enc_CER_PDU(b) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.2E1 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.2E1 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.2E1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070331322E452B30'O)and(enc_CER_PDU(b) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.12E2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.12E2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.12E2 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070331322E452B30'O)and(enc_CER_PDU(b) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1.2E+1 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1.2E+1 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1.2E1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070331322E452B30'O)and(enc_CER_PDU(b) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.12E+2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.12E+2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.12E2 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070331322E452B30'O)and(enc_CER_PDU(b) == '09070331322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.34 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.34 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.34 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070333342E452D32'O)and(enc_CER_PDU(b) == '09070333342E452D32'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.344 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.344 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.344 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908033334342E452D33'O)and(enc_CER_PDU(b) == '0908033334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.345 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.345 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.345 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908033334352E452D33'O)and(enc_CER_PDU(b) == '0908033334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.034 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.034 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.034 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070333342E452D33'O)and(enc_CER_PDU(b) == '09070333342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0034 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0034 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0034 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '09070333342E452D34'O)and(enc_CER_PDU(b) == '09070333342E452D34'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.304 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.304 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.304 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908033330342E452D33'O)and(enc_CER_PDU(b) == '0908033330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.1234567890 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.1234567890 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.1234567890 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU(b) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.123456789 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.123456789 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.123456789 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E033132333435363738392E452D39'O)and(enc_CER_PDU(b) == '090E033132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 0.0123456789 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 0.0123456789 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 0.0123456789 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090F033132333435363738392E452D3130'O)and(enc_CER_PDU(b) == '090F033132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 123456789.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 123456789.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 123456789.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU(b) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 123456789 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 123456789 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 123456789 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E033132333435363738392E452B30'O)and(enc_CER_PDU(b) == '090E033132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1234567890 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1234567890 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1234567890 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090D033132333435363738392E4531'O)and(enc_CER_PDU(b) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1234567890.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1234567890.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1234567890.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090D033132333435363738392E4531'O)and(enc_CER_PDU(b) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1234567890.00 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1234567890.00 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 1234567890.00 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090D033132333435363738392E4531'O)and(enc_CER_PDU(b) == '090D033132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 12345678900.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 12345678900.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 12345678900.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090D033132333435363738392E4532'O)and(enc_CER_PDU(b) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 12345678900.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 12345678900.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::=12345678900.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090D033132333435363738392E4532'O)and(enc_CER_PDU(b) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 12345678900.00 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 12345678900.00 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= 12345678900.00 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090D033132333435363738392E4532'O)and(enc_CER_PDU(b) == '090D033132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -12 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -12 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -12 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D31322E452B30'O)and(enc_CER_PDU(b) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -12.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -12.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -12.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D31322E452B30'O)and(enc_CER_PDU(b) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -12.0E0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -12.0E0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -12.0E0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D31322E452B30'O)and(enc_CER_PDU(b) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.2E1 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.2E1 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.2E1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D31322E452B30'O)and(enc_CER_PDU(b) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.12E2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.12E2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.12E2 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D31322E452B30'O)and(enc_CER_PDU(b) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1.2E+1 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1.2E+1 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1.2E1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D31322E452B30'O)and(enc_CER_PDU(b) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.12E+2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.12E+2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.12E2 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D31322E452B30'O)and(enc_CER_PDU(b) == '0908032D31322E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.34 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.34 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.34 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D33342E452D32'O)and(enc_CER_PDU(b) == '0908032D33342E452D32'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.344 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.344 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.344 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0909032D3334342E452D33'O)and(enc_CER_PDU(b) == '0909032D3334342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.345 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.345 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.345 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0909032D3334352E452D33'O)and(enc_CER_PDU(b) == '0909032D3334352E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.034 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.034 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.034 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D33342E452D33'O)and(enc_CER_PDU(b) == '0908032D33342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.0034 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.0034 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.0034 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0908032D33342E452D34'O)and(enc_CER_PDU(b) == '0908032D33342E452D34'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.304 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.304 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.304 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0909032D3330342E452D33'O)and(enc_CER_PDU(b) == '0909032D3330342E452D33'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.1234567890 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.1234567890 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.1234567890 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU(b) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.123456789 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.123456789 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.123456789 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090F032D3132333435363738392E452D39'O)and(enc_CER_PDU(b) == '090F032D3132333435363738392E452D39'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -0.0123456789 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -0.0123456789 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -0.0123456789 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0910032D3132333435363738392E452D3130'O)and(enc_CER_PDU(b) == '0910032D3132333435363738392E452D3130'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -123456789.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -123456789.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -123456789.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU(b) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -123456789 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -123456789 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -123456789 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090F032D3132333435363738392E452B30'O)and(enc_CER_PDU(b) == '090F032D3132333435363738392E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1234567890 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1234567890 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1234567890 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU(b) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1234567890.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1234567890.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1234567890.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU(b) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -1234567890.00 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -1234567890.00 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -1234567890.00 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E032D3132333435363738392E4531'O)and(enc_CER_PDU(b) == '090E032D3132333435363738392E4531'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -12345678900.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -12345678900.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -12345678900.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU(b) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -12345678900.0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -12345678900.0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -12345678900.0 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU(b) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, -12345678900.00 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, -12345678900.00 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= -12345678900.00 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090E032D3132333435363738392E4532'O)and(enc_CER_PDU(b) == '090E032D3132333435363738392E4532'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, PLUS-INFINITY (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, PLUS-INFINITY (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= PLUS-INFINITY - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090140'O)and(enc_CER_PDU(b) == '090140'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, MINUS-INFINITY (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, MINUS-INFINITY (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= REAL -b BERPDU ::= MINUS-INFINITY - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '090141'O)and(enc_CER_PDU(b) == '090141'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1 , IMPICIT TAG -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1 , IMPICIT TAG> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT REAL -b BERPDU ::= 1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '800603312E452B30'O)and(enc_CER_PDU(b) == '800603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of REAL, 1 , EXPICIT TAG -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of REAL, 1 , EXPICIT TAG> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT REAL -b BERPDU ::= 1 - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A008090603312E452B30'O)and(enc_CER_PDU(b) == 'A080090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of BIT STRING, length = 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of BIT STRING, length = 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := ''B - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '030100'O)and(enc_CER_PDU(b) == '030100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of BIT STRING, length = 1 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of BIT STRING, length = 1 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := '1'B - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '03020780'O)and(enc_CER_PDU(b) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of BIT STRING, length = 7 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of BIT STRING, length = 7 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := '1010101'B -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '030201AA'O)and(enc_CER_PDU(b) == '030201AA'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of BIT STRING, length = 8 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of BIT STRING, length = 8 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := '10101010'B -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '030200AA'O)and(enc_CER_PDU(b) == '030200AA'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of BIT STRING, length = 9 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of BIT STRING, length = 9 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := '111100001'B - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '030307F080'O)and(enc_CER_PDU(b) == '030307F080'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER(primitive) + DER(primitive) encoding of BIT STRING, contents length = 1000 octets (999 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER(primitive) + DER(primitive) encoding of BIT STRING, contents length = 1000 octets (999 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -b BERPDU ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)and(enc_CER_PDU(b) == '038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER(constructed) + DER(primitive) encoding of BIT STRING, contents length = 1001 octets (1000 octets of data and one (ENC_02_014 and ENC_02_015) ENC_02_012 and ENC_02_012 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER(constructed) + DER(primitive) encoding of BIT STRING, contents length = 1001 octets (1000 octets of data and one (ENC_02_014 and ENC_02_015) ENC_02_012 and ENC_02_012> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -b BERPDU ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)and(enc_CER_PDU(b) -== '2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of BIT STRING, length = 1, IMPLICIT TAG (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of BIT STRING, length = 1, IMPLICIT TAG (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT BIT STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := '1'B - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '80020780'O)and(enc_CER_PDU(b) == '80020780'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of BIT STRING, length = 1, EXPLICIT TAG (constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of BIT STRING, length = 1, EXPLICIT TAG (constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT BIT STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := '1'B - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A00403020780'O)and(enc_CER_PDU(b) == 'A080030207800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 0 ,CER +DER (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 0 ,CER +DER (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::=''B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('030100'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 0 ,constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 0 ,constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::=''B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2303030100'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 0 ,constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 0 ,constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::=''B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2306030100030100'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 0 ,constructed, indefinite -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 0 ,constructed, indefinite> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myIntegerValue BERPDU ::=''B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23800301000000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1 ,CER + DER, (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1 ,CER + DER, (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('03020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1 , (primitive, long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1 , (primitive, long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myIntegerValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0381020780'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('230403020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1 , (constructed, short form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1 , (constructed, short form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23050381020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1 , (constructed, long form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1 , (constructed, long form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2381050381020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1 , (constructed, indefinite form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1 , (constructed, indefinite form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238003810207800000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 1 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 1 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='11'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23080302078003020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 1 , (constructed inside constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 1 , (constructed inside constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2306230403020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 7 ,CER + DER, (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 7 ,CER + DER, (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('030201AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 7 , (primitive, long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 7 , (primitive, long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myIntegerValue BERPDU ::='1010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('03810201AA'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 7 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 7 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2304030201AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 7 , (constructed, short form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 7 , (constructed, short form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('230503810201AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 7 , (constructed, long form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 7 , (constructed, long form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23810503810201AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 7 , (constructed, indefinite form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 7 , (constructed, indefinite form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238003810201AA0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 7 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 7 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='10101011010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2308030201AA030201AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 7 , (constructed inside constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 7 , (constructed inside constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1010101'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23062304030201AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 8 ,CER + DER, (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 8 ,CER + DER, (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='10101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('030200AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 8 , (primitive, long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 8 , (primitive, long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myIntegerValue BERPDU ::='10101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('03810200AA'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 8 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 8 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='10101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2304030200AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 8 , (constructed, short form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 8 , (constructed, short form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='10101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('230503810200AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 8 , (constructed, long form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 8 , (constructed, long form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='10101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23810503810200AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 8 , (constructed, indefinite form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 8 , (constructed, indefinite form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='10101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238003810200AA0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 8 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 8 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1010101010101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2308030200AA030200AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 8 , (constructed inside constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 8 , (constructed inside constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='10101010'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23062304030200AA'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 9 ,CER + DER, (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 9 ,CER + DER, (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU( '030307F080'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 9 , (primitive, long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 9 , (primitive, long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myIntegerValue BERPDU ::='111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('03810307F080'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 9 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 9 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2305030307F080'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 9 , (constructed, short form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 9 , (constructed, short form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('230603810307F080'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 9 , (constructed, long form - long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 9 , (constructed, long form - long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23810603810307F080'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 9 , (constructed, indefinite form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 9 , (constructed, indefinite form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238003810307F0800000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 9 , (constructed, short form - short form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 9 , (constructed, short form - short form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='111100001111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('230A030307F080030307F080'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 9 , (constructed inside constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 9 , (constructed inside constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='111100001'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('23072305030307F080'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1000 CER + DER, primitive (999 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1000 CER + DER, primitive (999 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1000 , primitive longer form (999 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1000 , primitive longer form (999 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('03830003E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1000 , constructed long form -long form (999 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1000 , constructed long form -long form (999 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238203EC038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1000 , constructed indefinite form (999 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1000 , constructed indefinite form (999 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2380038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,2xlength = 1000 , constructed (999 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,2xlength = 1000 , constructed (999 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238207D8038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1001 DER , primitive (1000 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1001 DER , primitive (1000 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1001 CER , constructed (1000 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1001 CER , constructed (1000 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238203F0038203E800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030200FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING ,length = 1001 , constructed (1000 octets of data and one unused bits octet) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING ,length = 1001 , constructed (1000 octets of data and one unused bits octet)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('238203ED038203E900FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING CER +DER ,length = 1 , IMPLICIT TAG primitive -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING CER +DER ,length = 1 , IMPLICIT TAG primitive > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('80020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING CER ,length = 1 , EXPLICIT TAG (constructed ) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING CER ,length = 1 , EXPLICIT TAG (constructed )> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A080030207800000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING BIT STRING DER ,length = 1 EXPLICIT TAG , (constructed ) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING BIT STRING DER ,length = 1 EXPLICIT TAG , (constructed )> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= BIT STRING - -myValue BERPDU ::='1'B - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00403020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OCTETSTRING, length = 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OCTETSTRING, length = 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := ''O - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0400'O)and(enc_CER_PDU(b) == '0400'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OCTETSTRING, length = 2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OCTETSTRING, length = 2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 'FFFF'O - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0402FFFF'O)and(enc_CER_PDU(b) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OCTETSTRING, length = 1000 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OCTETSTRING, length = 1000 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)and(enc_CER_PDU(b) == '048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER(constructed) + DER(primitive) encoding of OCTETSTRING, length = 1001 (ENC_02_014 and ENC_02_015) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER(constructed) + DER(primitive) encoding of OCTETSTRING, length = 1001 (ENC_02_014 and ENC_02_015)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := -'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O)and(enc_CER_PDU(b) -== '2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OCTETSTRING, IMPLICIT TAG length = 2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OCTETSTRING, IMPLICIT TAG length = 2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT OCTET STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 'FFFF'O - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '8002FFFF'O)and(enc_CER_PDU(b) == '8002FFFF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OCTETSTRING,EXPICIT TAG , length = 2 (constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OCTETSTRING,EXPICIT TAG , length = 2 (constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OCTET STRING -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := 'FFFF'O - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A0040402FFFF'O)and(enc_CER_PDU(b) == 'A0800402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 0 ,CER +DER (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 0 ,CER +DER (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::=''H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0400'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 0 ,constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 0 ,constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::=''H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('24020400'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,2xlength = 0 ,constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,2xlength = 0 ,constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::=''H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('240404000400'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 0 ,constructed, indefinite -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 0 ,constructed, indefinite> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::=''H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('248004000000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,CER + DER, (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,CER + DER, (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0402FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 , (primitive, long form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 , (primitive, long form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('048102FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,constructed, short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,constructed, short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('24040402FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,constructed, short form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,constructed, short form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2405048102FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,constructed, long form - long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,constructed, long form - long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('248105048102FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,constructed, indefinite form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,constructed, indefinite form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('24800402FFFF0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,2xlength = 2 ,constructed, short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,2xlength = 2 ,constructed, short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('24080402FFFF0402FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,constructed form inside constructed form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,constructed form inside constructed form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('240624040402FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 1000 ,CER + DER, (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 1000 ,CER + DER, (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU -::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 1000 , (primitive, longer form) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 1000 , (primitive, longer form)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('04830003E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 1000 ,constructed, long form -long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 1000 ,constructed, long form -long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('248203EC048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 1000 ,constructed, indefinite form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 1000 ,constructed, indefinite form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,2xlength = 1000 ,constructed, short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,2xlength = 1000 ,constructed, short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('248207D8048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 1001 ,CER (constructed, indefinite form. segmented) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 1001 ,CER (constructed, indefinite form. segmented)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING -myIntegerValue BERPDU ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('2480048203E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0401FF0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 1001 ,DER (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 1001 ,DER (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING -myIntegerValue BERPDU ::='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 1001 ,constructed, definite form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 1001 ,constructed, definite form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING -myIntegerValue BERPDU ::= 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('248203ED048203E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,CER + DER,IMPLICIT TAG (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,CER + DER,IMPLICIT TAG (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8002FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,CER ,EXPLICIT TAG (constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,CER ,EXPLICIT TAG (constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800402FFFF0000'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OCTETSTRING ,length = 2 ,DER,EXPLICIT TAG (constructed) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OCTETSTRING ,length = 2 ,DER,EXPLICIT TAG (constructed)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OCTET STRING - -myIntegerValue BERPDU ::='FFFF'H - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0040402FFFF'O) == myIntegerValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of NULL -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of NULL > -START OF NULL SECTION - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= NULL -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := NULL - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0500'O)and(enc_CER_PDU(b) == '0500'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of NULL with Context Specific TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of NULL with Context Specific TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT NULL -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := NULL - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A0020500'O)and(enc_CER_PDU(b) == 'A08005000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of NULL with PRIVATE TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of NULL with PRIVATE TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT NULL -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := NULL - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'E1020500'O)and(enc_CER_PDU(b) == 'E18005000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of NULL with APPLICATION TAG, EXPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of NULL with APPLICATION TAG, EXPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT NULL -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := NULL - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '62020500'O)and(enc_CER_PDU(b) == '628005000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of NULL with Context Specific TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of NULL with Context Specific TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT NULL -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := NULL - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '8000'O)and(enc_CER_PDU(b) == '8000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of NULL with PRIVATE TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of NULL with PRIVATE TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT NULL -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := NULL - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'C100'O)and(enc_CER_PDU(b) == 'C100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER + CER encoding of NULL with APPLICATION TAG, IMPLICIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER + CER encoding of NULL with APPLICATION TAG, IMPLICIT> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT NULL -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU b := NULL - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '4200'O)and(enc_CER_PDU(b) == '4200'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING NULL, CER+DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING NULL, CER+DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING NULL, (LENGTH OF LENGTH = 1) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING NULL, (LENGTH OF LENGTH = 1)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('058100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING NULL, (LENGTH OF LENGTH = 2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING NULL, (LENGTH OF LENGTH = 2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('05820000'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT NULL , DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT NULL , DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT NULL, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT NULL, CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08005000000'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT NULL, Short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT NULL, Short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT NULL, Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT NULL, Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A081020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] EXPLICIT NULL, Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] EXPLICIT NULL, Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08103058100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT NULL , DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT NULL , DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT NULL, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT NULL, CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18005000000'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT NULL, Short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT NULL, Short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E1020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT NULL, Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT NULL, Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E181020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] EXPLICIT NULL, Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] EXPLICIT NULL, Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('E18103058100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT NULL , DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT NULL , DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT NULL, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT NULL, CER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628005000000'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT NULL, Short form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT NULL, Short form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('62020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT NULL, Long form - short form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT NULL, Long form - short form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('6281020500'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] EXPLICIT NULL, Long form Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] EXPLICIT NULL, Long form Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] EXPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('628103058100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT NULL ,Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT NULL ,Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8000'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [0] IMPLICIT NULL ,Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [0] IMPLICIT NULL ,Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('808100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT NULL ,Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT NULL ,Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [PRIVATE 1] IMPLICIT NULL ,Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [PRIVATE 1] IMPLICIT NULL ,Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [PRIVATE 1] IMPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('C18100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT NULL ,Short form CER,DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT NULL ,Short form CER,DER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('4200'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING [APPLICATION 2] IMPLICIT NULL,Long form -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING [APPLICATION 2] IMPLICIT NULL,Long form> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [APPLICATION 2] IMPLICIT NULL - -myNullValue BERPDU ::= NULL - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('428100'O) == myNullValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3000'O)and(enc_CER_PDU(myValue) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (only one element is used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (only one element is used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30030101FF'O)and(enc_CER_PDU(myValue) == '30800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30060101FF020105'O)and(enc_CER_PDU(myValue) == '30800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3003020105'O)and(enc_CER_PDU(myValue) == '30800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3006010100020105'O)and(enc_CER_PDU(myValue) == '30800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (EMPTY), AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (EMPTY), AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3000'O)and(enc_CER_PDU(myValue) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (only one element is used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (only one element is used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30038001FF'O)and(enc_CER_PDU(myValue) == '30808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30068001FF810105'O)and(enc_CER_PDU(myValue) == '30808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3003810105'O)and(enc_CER_PDU(myValue) == '30808101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3006800100810105'O)and(enc_CER_PDU(myValue) == '30808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '30809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3080BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00830060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08030800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00830060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08030800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU(myValue) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C300AA0030101FFA103020105'O)and(enc_CER_PDU(myValue) == 'A0803080A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30068501FF020105'O)and(enc_CER_PDU(myValue) == '30808501FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SEQUENCE - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '30808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - -MySeq ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300D8001FF030207800201060401FF'O)and(enc_CER_PDU(myValue) == '30808001FF030207800201060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SEQUENCE - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300D8001FF030207808101060401FF'O)and(enc_CER_PDU(myValue) == '30808001FF030207808101060401FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := {x := true}, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3008A0038001FF810104'O)and(enc_CER_PDU(myValue) == '3080A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - - - -BERPDU ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := {x := true}, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30060101FF020104'O)and(enc_CER_PDU(myValue) == '30800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SEQUENCE - { - - a OCTET STRING, - - b BOOLEAN, - - ..., - - d BIT STRING, - ..., - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300D8001FF8101FF83020780820104'O)and(enc_CER_PDU(myValue) == '30808001FF8101FF830207808201040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE with fields of different types -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE with fields of different types> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - - - - - - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '305305000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1030101FF300505000101FF310C03020780090603312E452B30A3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '308005000101FF0201020A0100090603312E452B30030207800402FFFF06030002031603414243A1800101FF0000308005000101FF0000318003020780090603312E452B300000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE with fields of different types, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE with fields of different types, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - - - - - - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '304F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)and(enc_CER_PDU(myValue) == '308080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.DECODING DER , SEQUENCE (only one element is used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (only one element is used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30030101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.DECODING CER , SEQUENCE (only one element is used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (only one element is used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800101FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800101FF0201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3003020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SEQUENCE (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SEQUENCE (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3006010100020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800101000201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (EMPTY), AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (EMPTY), AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (EMPTY), AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (EMPTY), AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (only one element is used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (only one element is used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30038001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (only one element is used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (only one element is used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30068001FF810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001FF8101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING > - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3003810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (one element is equal to Default) AUTOMATIC TAGGING > - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER ,SEQUENCE (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER ,SEQUENCE (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3006800100810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER ,SEQUENCE (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER ,SEQUENCE (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001008101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30079E01FF9F1F0105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30809E01FF9F1F01050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30079E01FF9F1F0105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30809E01FF9F1F01050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, SEQUENCE (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, SEQUENCE (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300BBE030101FFBF1F03020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SEQUENCE (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SEQUENCE (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3080BE800101FF0000BF1F8002010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300BBE030101FFBF1F03020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SEQUENCE (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3080BE800101FF0000BF1F8002010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER , TAGGED SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER , TAGGED SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00830060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , CER , TAGGED SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , CER , TAGGED SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08030800101FF02010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , TAGGED SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , TAGGED SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00830060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , TAGGED SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , TAGGED SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08030800101FF02010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , TAGGED SEQUENCE (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800101FF0201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , TAGGED SEQUENCE (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , TAGGED SEQUENCE (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00830060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , TAGGED SEQUENCE (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , TAGGED SEQUENCE (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08030800101FF02010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, TAGGED SEQUENCE (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, TAGGED SEQUENCE (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00C300AA0030101FFA103020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, TAGGED SEQUENCE (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, TAGGED SEQUENCE (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0803080A0800101FF0000A180020105000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00C300AA0030101FFA103020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER encoding of TAGGED SEQUENCE (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0803080A0800101FF0000A180020105000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER , TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER , TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0068001FF810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , CER , TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , CER , TAGGED SEQUENCE (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808001FF8101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER , TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER , TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0068001FF810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , CER , TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , CER , TAGGED SEQUENCE (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808001FF8101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30068501FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SEQUENCE , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808501FF0201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300C8001FF8101058201068301FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001FF8101058201068301FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SEQUENCE ,one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SEQUENCE ,one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SEQUENCE - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300C8001FF8101058201068301FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SEQUENCE ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SEQUENCE - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001FF8101058201068301FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300D8001FF030207800201060401FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SEQUENCE , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SEQUENCE - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001FF030207800201060401FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SEQUENCE , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SEQUENCE - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300D8001FF030207808101060401FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SEQUENCE - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SEQUENCE - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001FF030207808101060401FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SEQUENCE with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SEQUENCE with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3008A0038001FF810104'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SEQUENCE with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SEQUENCE with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -BERPDU ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3080A0808001FF00008101040000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SEQUENCE with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SEQUENCE with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30060101FF020104'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SEQUENCE with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SEQUENCE with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800101FF0201040000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER,SEQUENCE with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER,SEQUENCE with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SEQUENCE - { - - a OCTET STRING, - - b BOOLEAN, - - ..., - - d BIT STRING, - ..., - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300D8001FF8101FF83020780820104'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SEQUENCE with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SEQUENCE with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SEQUENCE - { - - a OCTET STRING, - - b BOOLEAN, - - ..., - - d BIT STRING, - ..., - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30808001FF8101FF830207808201040000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SEQUENCE with Long Form , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SEQUENCE with Long Form , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SEQUENCE - { - - a OCTET STRING, - - b BOOLEAN, - - ..., - - d BIT STRING, - ..., - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308300000D8001FF8101FF83020780820104'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SEQUENCE with fields of different types , -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SEQUENCE with fields of different types ,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - --e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('304505000101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SEQUENCE with fields of different types , -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SEQUENCE with fields of different types ,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - -- e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, 090603312E452B30 - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308005000101FF0201020A0100030207800402FFFF06030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SEQUENCE with fields of different types , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SEQUENCE with fields of different types , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('304380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SEQUENCE with fields of different types ,AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SEQUENCE with fields of different types ,AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS -::= - -BEGIN - - -BERPDU ::= SEQUENCE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF INTEGER (empty) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF INTEGER (empty)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF INTEGER - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3000'O)and(enc_CER_PDU(myValue) == '30800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '30060101FF010100'O)and(enc_CER_PDU(myValue) == '30800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF OCTET STRING - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '30070402FFFF0401AB'O)and(enc_CER_PDU(myValue) == '30800402FFFF0401AB0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF SEQUENCE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '301030060201050101FF3006020103010100'O)and(enc_CER_PDU(myValue) == '308030800201050101FF0000308002010301010000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF SET > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '301031060101FF0201053106010100020103'O)and(enc_CER_PDU(myValue) == '308031800101FF0201050000318001010002010300000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF CHOICE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '3006020105010100'O)and(enc_CER_PDU(myValue) == '30800201050101000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '301630090201050201060201073009020101020102020103'O)and(enc_CER_PDU(myValue) == '308030800201050201060201070000308002010102010202010300000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SEQUENCE OF SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SEQUENCE OF SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '301631090201050201060201073109020101020102020103'O)and(enc_CER_PDU(myValue) == '308031800201050201060201070000318002010102010202010300000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00830060101FF010100'O)and(enc_CER_PDU(myValue) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00830060101FF010100'O)and(enc_CER_PDU(myValue) == 'A08030800101FF01010000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0060101FF010100'O)and(enc_CER_PDU(myValue) == 'A0800101FF0101000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, SEQUENCE OF INTEGER (empty) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, SEQUENCE OF INTEGER (empty)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SEQUENCE OF INTEGER (empty) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SEQUENCE OF INTEGER (empty)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, SEQUENCE OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, SEQUENCE OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SEQUENCE OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SEQUENCE OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800101FF0101000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SEQUENCE OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SEQUENCE OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF OCTET STRING - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30070402FFFF0401AB'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SEQUENCE OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SEQUENCE OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF OCTET STRING - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800402FFFF0401AB0000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SEQUENCE OF SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SEQUENCE OF SEQUENCE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('301030060201050101FF3006020103010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SEQUENCE OF SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SEQUENCE OF SEQUENCE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308030800201050101FF0000308002010301010000000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SEQUENCE OF SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SEQUENCE OF SET > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('301031060101FF0201053106010100020103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SEQUENCE OF SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SEQUENCE OF SET > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308031800101FF0201050000318001010002010300000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SEQUENCE OF CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SEQUENCE OF CHOICE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3006020105010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SEQUENCE OF CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SEQUENCE OF CHOICE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30800201050101000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SEQUENCE OF SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SEQUENCE OF SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('301630090201050201060201073009020101020102020103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SEQUENCE OF SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SEQUENCE OF SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308030800201050201060201070000308002010102010202010300000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SEQUENCE OF SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SEQUENCE OF SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('301631090201050201060201073109020101020102020103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SEQUENCE OF SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SEQUENCE OF SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SEQUENCE OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308031800201050201060201070000318002010102010202010300000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,TAGGED SEQUENCE OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,TAGGED SEQUENCE OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00830060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,TAGGED SEQUENCE OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,TAGGED SEQUENCE OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08030800101FF01010000000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00830060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,TAGGED SEQUENCE OF BOOLEAN, EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08030800101FF01010000000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,TAGGED SEQUENCE OF BOOLEAN, IMPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SEQUENCE OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800101FF0101000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3100'O)and(enc_CER_PDU(myValue) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (only one element is used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (only one element is used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31030101FF'O)and(enc_CER_PDU(myValue) == '31800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060101FF020105'O)and(enc_CER_PDU(myValue) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET(different order) (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET(different order) (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060101FF020105'O)and(enc_CER_PDU(myValue) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2)(both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2)(both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060101FF020105'O)and(enc_CER_PDU(myValue) == '31800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3103020105'O)and(enc_CER_PDU(myValue) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order)(one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order)(one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5 , - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3103020105'O)and(enc_CER_PDU(myValue) == '31800201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order) (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order) (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order2) (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order2) (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN DEFAULT TRUE - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (EMPTY), AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (EMPTY), AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3100'O)and(enc_CER_PDU(myValue) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET(only one element is used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET(only one element is used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31038001FF'O)and(enc_CER_PDU(myValue) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order)(only one element is used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order)(only one element is used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := omit, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31038001FF'O)and(enc_CER_PDU(myValue) == '31808001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31068001FF810105'O)and(enc_CER_PDU(myValue) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.encoding of SET (both elements are used)(different order) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (both elements are used)(different order) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31068001FF810105'O)and(enc_CER_PDU(myValue) == '31808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used)(different order2) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used)(different order2) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31068001058101FF'O)and(enc_CER_PDU(myValue) == '31808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (one element is equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3103810105'O)and(enc_CER_PDU(myValue) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order) (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order) (one element is equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5 , - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3103810105'O)and(enc_CER_PDU(myValue) == '31808101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3106800100810105'O)and(enc_CER_PDU(myValue) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order)(one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order)(one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3106800100810105'O)and(enc_CER_PDU(myValue) == '31808001008101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2)(one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2)(one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN DEFAULT TRUE - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3106800105810100'O)and(enc_CER_PDU(myValue) == '31808001058101000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order) (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order) (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2) (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2) (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - c [31] IMPLICIT INTEGER OPTIONAL, - b [30] IMPLICIT BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.encoding of SET (different order) (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order) (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5 , - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2)(both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - c [31] IMPLICIT INTEGER OPTIONAL, - b [30] IMPLICIT BOOLEAN OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31079E01FF9F1F0105'O)and(enc_CER_PDU(myValue) == '31809E01FF9F1F01050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order)(both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order)(both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2) (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - - c [31] EXPLICIT INTEGER OPTIONAL, - b [30] EXPLICIT BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order) (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order) (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5 , - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (different order2)(both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (different order2)(both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - c [31] EXPLICIT INTEGER OPTIONAL, - b [30] EXPLICIT BOOLEAN OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BBE030101FFBF1F03020105'O)and(enc_CER_PDU(myValue) == '3180BE800101FF0000BF1F8002010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of TAGGED SET (different order) (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (different order) (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of TAGGED SET (different order) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (different order) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of TAGGED SET (different order)(both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (different order)(both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2)(both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0060101FF020105'O)and(enc_CER_PDU(myValue) == 'A0800101FF0201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of TAGGED SET (different order) (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (different order) (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101FF020105'O)and(enc_CER_PDU(myValue) == 'A08031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of TAGGED SET (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order) (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET - { - b [1] BOOLEAN OPTIONAL, - c [0] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of TAGGED SET (different order)(both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (different order)(both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA0030101FFA103020105'O)and(enc_CER_PDU(myValue) == 'A0803180A0800101FF0000A180020105000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [1] BOOLEAN OPTIONAL, - c [0] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00C310AA003020105A1030101FF'O)and(enc_CER_PDU(myValue) == 'A0803180A0800201050000A1800101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of TAGGED SET (different order) (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (different order) (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2)(both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - - c [1] INTEGER OPTIONAL, - b [0] BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.encoding of TAGGED SET (different order) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of TAGGED SET (different order) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 5, - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001FF810105'O)and(enc_CER_PDU(myValue) == 'A0808001FF8101050000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET (different order2) (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET - { - - c [0] INTEGER OPTIONAL, - b [1] BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0068001058101FF'O)and(enc_CER_PDU(myValue) == 'A0808001058101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060201058501FF'O)and(enc_CER_PDU(myValue) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET , (different order) one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET , (different order) one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { c := 5 , - b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060201058501FF'O)and(enc_CER_PDU(myValue) == '31800201058501FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET (different order) ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SET - {y OCTET STRING, - - x INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SET - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201068301FF'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201068301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , (different order) one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SET - {y OCTET STRING, - - x [0] INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C8001FF8101058201FF830106'O)and(enc_CER_PDU(myValue) == '31808001FF8101058201FF8301060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , (different order)one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - -MySeq ::= SET - {y OCTET STRING, - x INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310D020106030207800401FF8001FF'O)and(enc_CER_PDU(myValue) == '3180020106030207800401FF8001FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SET - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> -030 - - - -if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET ,(different order) one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -MySeq ::= SET - { y OCTET STRING, - x [1] INTEGER OPTIONAL - } - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310D030207800401FF8001FF810106'O)and(enc_CER_PDU(myValue) == '3180030207800401FF8001FF8101060000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := {x := true}, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET with CHOICE element (different order), AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET with CHOICE element (different order), AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 4, - b := {x := true} } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3108A0038001FF810104'O)and(enc_CER_PDU(myValue) == '3180A0808001FF00008101040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET with CHOICE element (different order2), AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - - - c INTEGER OPTIONAL, - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 4, - b := {x := true} } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3108800104A1038001FF'O)and(enc_CER_PDU(myValue) == '3180800104A1808001FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := {x := true}, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060101FF020104'O)and(enc_CER_PDU(myValue) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET with CHOICE element,(different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET with CHOICE element,(different order) > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - c := 4 , - b := {x := true} - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060101FF020104'O)and(enc_CER_PDU(myValue) == '31800101FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := {y := 'FF'O}, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060201040401FF'O)and(enc_CER_PDU(myValue) == '31800401FF0201040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. encoding of SET with EXTENSION , (different order) AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding of SET with EXTENSION , (different order) AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - - - } - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 'FF'O, - d := '1'B, - b := true, - c := 4 - } -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310D8001FF8101FF82010483020780'O)and(enc_CER_PDU(myValue) == '31808001FF8101FF820104830207800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31530101FF020102030207800402FFFF05000603000203090603312E452B300A0100300505000101FF310C03020780090603312E452B301603414243A1030101FFA3083006020101020102A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == '31800101FF020102030207800402FFFF05000603000203090603312E452B300A0100308005000101FF0000318003020780090603312E452B3000001603414243A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with fields of different types, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)and(enc_CER_PDU(myValue) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET with fields of different types (different order), AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET with fields of different types (different order), AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {a := NULL, - c := 2, - d := first, - e := 1.0, - b := true, - f := '1'B, - g := 'FFFF'O, - - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := 1.0 , - - x3 := '1'B } , - h := myOBJID, - m := - { 1 ,2 } , - n := - { true, true } - } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '314F80008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB0C80020780810603312E452B30AC06020101020102AD060101FF0101FF'O)and(enc_CER_PDU(myValue) == '318080008101FF820102830100840603312E452B30850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB8080020780810603312E452B300000AC800201010201020000AD800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C020101400102800103C00104'O)and(enc_CER_PDU(myValue) == '3180020101400102800103C001040000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE )> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31120201016003020102A003020103E003020104'O)and(enc_CER_PDU(myValue) == '318002010160800201020000A0800201030000E08002010400000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET including untagged CHOICE (spec example) IMPLICIT TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - - - j [0] INTEGER - - } - } - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 1, - b := {c:= 2}, - e := { f := {g := 3 } } - } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310BA103820102830101850103'O)and(enc_CER_PDU(myValue) == '3180850103A18082010200008301010000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET including untagged CHOICE (spec example) EXPLICIT TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - - - j [0] INTEGER - - } - } - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - a := 1, - b := {c:= 2}, - e := { f := { g := 3 } } - } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3111A105A203020102A303020101A503020103'O)and(enc_CER_PDU(myValue) == '3180A5800201030000A180A28002010200000000A38002010100000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3100'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (EMPTY) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (EMPTY)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.DECODING DER , SET (only one element is used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (only one element is used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31030101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.DECODING CER , SET (only one element is used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (only one element is used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101FF0201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order , SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order , SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060201050101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , different order, SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , different order, SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - - c INTEGER OPTIONAL, - b BOOLEAN OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - c := 5, - b := true } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201050101FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3103020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SET (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SET (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, default included , SET (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, default included , SET (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060201050101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , default included, SET (one element is equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , default included, SET (one element is equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101FF0201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3106010100020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101000201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, reverse order , SET (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, reverse order , SET (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3106020105010100'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order , SET (one element is not equal to Default) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order , SET (one element is not equal to Default)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201050101000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (EMPTY), AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (EMPTY), AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3100'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (EMPTY), AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (EMPTY), AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := omit, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (only one element is used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (only one element is used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31038001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (only one element is used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (only one element is used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := omit } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31068001FF810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF8101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order , SET (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order , SET (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31068101058001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, reverse order , SET (both elements are used) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, reverse order , SET (both elements are used) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808101058001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (one element is equal to Default) AUTOMATIC TAGGING > - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3103810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (one element is equal to Default) AUTOMATIC TAGGING > - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , default included , SET (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , default included , SET (one element is equal to Default) AUTOMATIC TAGGING > - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31068001FF810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , default included, SET (one element is equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , default included, SET (one element is equal to Default) AUTOMATIC TAGGING > - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808101058001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER ,SET (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER ,SET (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3106800100810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER ,SET (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER ,SET (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001008101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING,reverse order,SET (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING,reverse order,SET (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3106810105800100'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER ,SET (one element is not equal to Default) AUTOMATIC TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER ,SET (one element is not equal to Default) AUTOMATIC TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b BOOLEAN DEFAULT TRUE, - c INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := false, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808101058001000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31079E01FF9F1F0105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31809E01FF9F1F01050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31079F1F01059E01FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , SET (both elements are used) IMPLICIT TAGS for elements, EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] IMPLICIT BOOLEAN OPTIONAL, - c [31] IMPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31809F1F01059E01FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, SET (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, SET (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SET (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SET (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order, SET (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order, SET (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order, SET (both elements are used) EXPLICIT TAGS for elements -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order, SET (both elements are used) EXPLICIT TAGS for elements> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310BBE030101FFBF1F03020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180BE800101FF0000BF1F8002010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310BBF1F03020105BE030101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , SET (both elements are used) EXPLICIT TAGS for elements, IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [30] EXPLICIT BOOLEAN OPTIONAL, - c [31] EXPLICIT INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180BF1F800201050000BE800101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER , TAGGED SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER , TAGGED SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , CER , TAGGED SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , CER , TAGGED SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , TAGGED SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , TAGGED SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060201050101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order , TAGGED SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order , TAGGED SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , TAGGED SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , TAGGED SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , TAGGED SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , TAGGED SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , TAGGED SEQUENCE (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , TAGGED SEQUENCE (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SEQUENCE - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , TAGGED SET (both elements are used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , TAGGED SET (both elements are used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800101FF0201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0060201050101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, reverse order , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, reverse order , TAGGED SET (both elements are used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800201050101FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800101FF02010500000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, reverse order , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, reverse order , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060201050101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, reverse order , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, reverse order , TAGGED SET (both elements are used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800201050101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, TAGGED SET (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, TAGGED SET (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, TAGGED SET (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, TAGGED SET (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING reverse order, TAGGED SET (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING reverse order, TAGGED SET (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING reverse order, TAGGED SET (both elements are TAGGED and used) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING reverse order, TAGGED SET (both elements are TAGGED and used)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00C310AA0030101FFA103020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER encoding of TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0803180A0800101FF0000A180020105000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order, TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order, TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00C310AA103020105A0030101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, reverse order, TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, reverse order, TAGGED SET (both elements are TAGGED and used), EXPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0803180A1800201050000A0800101FF000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER , TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER , TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0068001FF810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , CER , TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , CER , TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808001FF8101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order, TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order, TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0068101058001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , TAGGED SET (both elements are TAGGED and used), IMPLICIT TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808101058001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER , TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER , TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0068001FF810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , CER , TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , CER , TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808001FF8101050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order , TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order , TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0068101058001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , reverse order, TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , reverse order, TAGGED SET (both elements are TAGGED and used), AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= [0] SET - { - b [0] BOOLEAN OPTIONAL, - c [1] INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808101058001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060201058501FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201058501FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31068501FF020105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order, SET , one element is manually tagged, AUTOMATIC TAGGING ENVIRONMENT> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b [5] BOOLEAN OPTIONAL, - c INTEGER OPTIONAL - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808501FF0201050000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310C8001FF8201068101058301FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF8201068101058301FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET ,one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET ,one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SET - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310C8001FF8101058201068301FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF8101058201068301FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET ,one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET ,one component element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -MySeq ::= SET - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310C8301FF8001FF820106810105'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET ,COMPONENTS OF used, AUTOMATIC TAGS, no manual tags> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x [0] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b BOOLEAN OPTIONAL, - c INTEGER OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := 5 , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808301FF8101058201068001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310D020106030207800401FF8001FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180020106030207800401FF8001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310D030207800201060401FF8001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET , one base element is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180030207800201060401FF8001FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310D030207800401FF8001FF810106'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET, one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET, one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180030207800401FF8001FF8101060000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET , one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310D8101060401FF8001FF03020780'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET, one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET, one base element and one component is manually tagged,COMPONENTS OF used, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -MySeq ::= SET - {x [1] INTEGER OPTIONAL, - y OCTET STRING} - - - -BERPDU ::= SET - { - b [0] BOOLEAN OPTIONAL, - c BIT STRING OPTIONAL, - COMPONENTS OF MySeq - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := true, - c := '1'B , - x := 6, - y := 'FF'O } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF0401FF030207808101060000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3108A0038001FF810104'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180A0808001FF00008101040000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order, SET with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order, SET with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3108810104A0038001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order, SET with CHOICE element, AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order, SET with CHOICE element, AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180810104A0808001FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060101FF020104'O) == myValue) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101FF0201040000'O) == myValue){setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order, SET with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order, SET with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060201040101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,reverse order, SET with CHOICE element, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,reverse order, SET with CHOICE element, > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {x := true}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201040101FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, SET with CHOICE element, different choice -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, SET with CHOICE element, different choice > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {y := 'FF'O}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060201040401FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SET with CHOICE element, different choice -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SET with CHOICE element, different choice > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {y := 'FF'O}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800401FF0201040000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , SET with CHOICE element, different choice -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , SET with CHOICE element, different choice > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {y := 'FF'O}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060401FF020104'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , SET with CHOICE element, different choice -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , SET with CHOICE element, different choice > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - - -BERPDU ::= SET - { - b CHOICE { - x BOOLEAN, - y OCTET STRING - } - OPTIONAL, - - - c INTEGER OPTIONAL - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {b := {y := 'FF'O}, - c := 4 - } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201040401FF0000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,DER, SET with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,DER, SET with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310D8001FF8101FF82010483020780'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,CER, SET with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,CER, SET with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF8101FF820104830207800000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310D8001FF830207808101FF820104'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,different order, SET with EXTENSION , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,different order, SET with EXTENSION , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31808001FF830207808101FF8201040000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET with Long Form , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET with Long Form , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318300000D8001FF8101FF82010483020780'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING, different order, SET with Long Form , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING, different order, SET with Long Form , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - - a OCTET STRING, - - b BOOLEAN, - - c INTEGER OPTIONAL, - - ..., - - d BIT STRING - - - - - } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318300000D8101FF820104830207808001FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SET with fields of different types , -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SET with fields of different types ,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - --e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31450101FF020102030207800402FFFF050006030002030A01001603414243300505000101FF3106030207800500A1030101FFA3083006020101020102A40831060101FF0101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , CER, SET with fields of different types , -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , CER, SET with fields of different types ,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - -- e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, 090603312E452B30 - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101FF020102030207800402FFFF050006030002030A01001603414243308005000101FF000031800302078005000000A1800101FF0000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , different order, SET with fields of different types , different order -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , different order, SET with fields of different types , different order > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - --e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31450101FF0201020A0100030207800402FFFF06030002031603414243A1030101FF300505000101FF3106030207800500A3083006020101020102A40831060101FF0101FF0500'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , different order, SET with fields of different types , different order2 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , different order, SET with fields of different types , different order2> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - -- e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - // e := 1.0, 090603312E452B30 - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101FF0201020A0100030207800402FFFF050006030002031603414243A1800101FF0000308005000101FF000031800302078005000000A380308002010102010200000000A48031800101FF0101FF000000000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SET with fields of different types , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SET with fields of different types , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('314380008101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , DER, SET with fields of different types ,AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , DER, SET with fields of different types ,AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS -::= - -BEGIN - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318080008101FF8201028301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , different order, SET with fields of different types , AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , different order, SET with fields of different types , AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS -AUTOMATIC TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31438101FF8201028301008400850207808602FFFF87030002038803414243A9038001FFAA0580008101FFAB06800207808100AC06020101020102AD060101FF0101FF8000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , different order, SET with fields of different types ,AUTOMATIC TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , different order, SET with fields of different types ,AUTOMATIC TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS -::= - -BEGIN - - -BERPDU ::= SET - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e NULL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 BOOLEAN, - y1 OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 NULL}, - - m SEQUENCE OF INTEGER, - n SET OF BOOLEAN - } -myOBJID OBJECT IDENTIFIER ::= {itu-t(0) recommendation(0) a(2) b(3)} - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := {a := NULL, - b := true, - c := 2, - d := first, - e := NULL, - f := '1'B, - g := 'FFFF'O, - h := myOBJID, - i := "ABC", - j := {x1 := true } , - k := {x2 := NULL, - - y2 := true } , - l := {y3 := NULL , - - x3 := '1'B } , - m := - { 1 ,2 } , - n := - { true, true } - } - - - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318080008201028101FF8301008400850207808602FFFF87030002038803414243A9808001FF0000AA8080008101FF0000AB808002078081000000AC800201010201020000AD800101FF0101FF00000000'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - - - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310C020101400102800103C00104'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) IMPLICIT TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - - - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180020101400102800103C001040000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE )> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - - - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE )> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - - - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN - - - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31120201016003020102A003020103E003020104'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, (include UNIVERSAL, APPLICATION, CONTEXT SPECIFIC, PRIVATE ) EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - - - -BERPDU ::= SET - { - d [PRIVATE 0] INTEGER OPTIONAL, - a INTEGER OPTIONAL, - b [APPLICATION 0] INTEGER OPTIONAL, - c [0] INTEGER OPTIONAL - - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -const BERPDU myValue := { - a := 1, - c := 3, - d := 4, - b := 2 } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318002010160800201020000A0800201030000E08002010400000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, untagged CHOICE in SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, untagged CHOICE in SET> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - - - j [0] INTEGER - - } - } - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - - -const BERPDU myValue := { - a := 1, - b := {c:= 2}, - e := { f := {g := 3 }} - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('310BA103820102830101850103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, CER, untagged CHOICE in SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, CER, untagged CHOICE in SET> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - - - j [0] INTEGER - - } - } - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - - -const BERPDU myValue := { - a := 1, - b := {c:= 2}, - e := { f := {g := 3 }} - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180850103A18082010200008301010000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, DER, untagged CHOICE in SET, EXPLICIT TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, DER, untagged CHOICE in SET, EXPLICIT TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - - - j [0] INTEGER - - } - } - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - - -const BERPDU myValue := { - a := 1, - b := {c:= 2}, - e := { f := {g := 3 }} - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3111A105A203020102A303020101A503020103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING SET, CER, untagged CHOICE in SET, EXPLICIT TAGS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING SET, CER, untagged CHOICE in SET, EXPLICIT TAGS> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - - - - -BERPDU ::= SET - { - a [3] INTEGER, - b [1] CHOICE - { - c [2] INTEGER, - d [4] INTEGER - }, - e CHOICE - { - f CHOICE - { - g [5] INTEGER, - h [6] INTEGER - }, - i CHOICE - { - - - j [0] INTEGER - - } - } - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - - - -const BERPDU myValue := { - a := 1, - b := {c:= 2}, - e := { f := {g := 3 }} - } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180A5800201030000A180A28002010200000000A38002010100000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF INTEGER (empty) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF INTEGER (empty)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF INTEGER - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '3100'O)and(enc_CER_PDU(myValue) == '31800000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '31060101000101FF'O)and(enc_CER_PDU(myValue) == '31800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF OCTET STRING - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '31070401AB0402FFFF'O)and(enc_CER_PDU(myValue) == '31800401AB0402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SEQUENCE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '3110300602010301010030060201050101FF'O)and(enc_CER_PDU(myValue) == '31803080020103010100000030800201050101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SET > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '3110310601010002010331060101FF020105'O)and(enc_CER_PDU(myValue) == '31803180010100020103000031800101FF02010500000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF CHOICE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '3106010100020105'O)and(enc_CER_PDU(myValue) == '31800101000201050000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '311630090201010201020201033009020105020106020107'O)and(enc_CER_PDU(myValue) == '318030800201010201020201030000308002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '311631090201010201020201033109020105020106020107'O)and(enc_CER_PDU(myValue) == '318031800201010201020201030000318002010502010602010700000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET OF BOOLEAN, EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A00831060101000101FF'O)and(enc_CER_PDU(myValue) == 'A08031800101000101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TAGGED SET OF BOOLEAN, IMPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {true, false } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0060101000101FF'O)and(enc_CER_PDU(myValue) == 'A0800101000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of SET OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of SET OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF OCTET STRING - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {'FFFF'O, ''O }; - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '310604000402FFFF'O)and(enc_CER_PDU(myValue) == '318004000402FFFF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, SET OF INTEGER (empty) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, SET OF INTEGER (empty)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SET OF INTEGER (empty) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SET OF INTEGER (empty)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER, SET OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER, SET OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060101000101FF'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER, SET OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER, SET OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101000101FF0000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , SET OF BOOLEAN (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , SET OF BOOLEAN (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , SET OF BOOLEAN (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , SET OF BOOLEAN (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101FF0101000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SET OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SET OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF OCTET STRING - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31070401AB0402FFFF'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SET OF OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SET OF OCTET STRING > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF OCTET STRING - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800401AB0402FFFF0000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF OCTET STRING (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF OCTET STRING (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF OCTET STRING - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31070402FFFF0401AB'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF OCTET STRING (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF OCTET STRING (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF OCTET STRING - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {'FFFF'O, 'AB'O }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800402FFFF0401AB0000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SET OF SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SET OF SEQUENCE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3110300602010301010030060201050101FF'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SET OF SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SET OF SEQUENCE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31803080020103010100000030800201050101FF00000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SEQUENCE (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SEQUENCE (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('311030060201050101FF3006020103010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SEQUENCE (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SEQUENCE (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318030800201050101FF0000308002010301010000000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SET OF SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SET OF SET > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3110310601010002010331060101FF020105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SET OF SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SET OF SET > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31803180010100020103000031800101FF02010500000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SET (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SET (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('311031060101FF0201053106010100020103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SET (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SET (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET {a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5, - b := true - }, - - { - a := 3, - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318031800101FF0201050000318001010002010300000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SET OF CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SET OF CHOICE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3106010100020105'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SET OF CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SET OF CHOICE > - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800101000201050000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF CHOICE (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF CHOICE (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3106020105010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF CHOICE (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF CHOICE (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF CHOICE{a INTEGER, b BOOLEAN} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - a := 5 - }, - - { - b := false - } - - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('31800201050101000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SET OF SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SET OF SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('311630090201010201020201033009020105020106020107'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SET OF SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SET OF SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318030800201010201020201030000308002010502010602010700000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SEQUENCE OF, (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SEQUENCE OF, (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('311630090201050201060201073009020101020102020103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SEQUENCE OF, (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SEQUENCE OF, (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SEQUENCE OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318030800201050201060201070000308002010102010202010300000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,SET OF SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,SET OF SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('311631090201010201020201033109020105020106020107'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,SET OF SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,SET OF SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318031800201010201020201030000318002010502010602010700000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SET OF (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SET OF (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('311631090201050201060201073109020101020102020103'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,SET OF SET OF (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,SET OF SET OF (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= SET OF SET OF INTEGER - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { - { - 5, - 6, - 7 - }, - - { - 1, - 2, - 3 - } - }; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('318031800201050201060201070000318002010102010202010300000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,TAGGED SET OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,TAGGED SET OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101000101FF'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,TAGGED SET OF BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,TAGGED SET OF BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,TAGGED SET OF BOOLEAN (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,TAGGED SET OF BOOLEAN (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,TAGGED SET OF BOOLEAN (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,TAGGED SET OF BOOLEAN (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101000101FF'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800101000101FF00000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A00831060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,TAGGED SET OF BOOLEAN, EXPLICIT TAGGING (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08031800101FF01010000000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING DER,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING DER,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0060101000101FF'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING CER,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING CER,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800101000101FF0000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (different order) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (different order)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0060101FF010100'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (different order2) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,TAGGED SET OF BOOLEAN, IMPLICIT TAGGING (different order2)> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS -::= - -BEGIN - -BERPDU ::= [0] SET OF BOOLEAN - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {true, false } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0800101FF0101000000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - NULL -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - NULL> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {a := NULL} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0500'O)and(enc_CER_PDU(myValue) == '0500'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - INTEGER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - INTEGER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {c := 2} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '020102'O)and(enc_CER_PDU(myValue) == '020102'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - ENUMERATED -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - ENUMERATED> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {d := first} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0A0100'O)and(enc_CER_PDU(myValue) == '0A0100'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - REAL -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - REAL> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {e := 1.0} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '090603312E452B30'O)and(enc_CER_PDU(myValue) == '090603312E452B30'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - BIT STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - BIT STRING> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {f := '1'B} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '03020780'O)and(enc_CER_PDU(myValue) == '03020780'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - OCTET STRING> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {g := 'FFFF'O} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0402FFFF'O)and(enc_CER_PDU(myValue) == '0402FFFF'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - OBJECT IDENTIFIER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - OBJECT IDENTIFIER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - - myValue BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)} - - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0603000203'O)and(enc_CER_PDU(myValue) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - IA5String -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - IA5String> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {i := "ABC"} - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '1603414243'O)and(enc_CER_PDU(myValue) == '1603414243'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {j := {x1 := true } } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A1030101FF'O)and(enc_CER_PDU(myValue) == 'A1800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - SEQUENCE> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {k := {x2 := NULL, - - y2 := true } } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '300505000101FF'O)and(enc_CER_PDU(myValue) == '308005000101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - SET> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {l := {y3 := 1.0 , - - x3 := '1'B } } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '310C03020780090603312E452B30'O)and(enc_CER_PDU(myValue) == '318003020780090603312E452B300000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {m := - { 1 ,2 } } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A3083006020101020102'O)and(enc_CER_PDU(myValue) == 'A380308002010102010200000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {n := - { true, true } } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A40831060101FF0101FF'O)and(enc_CER_PDU(myValue) == 'A48031800101FF0101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '0101FF'O)and(enc_CER_PDU(myValue) == '0101FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '8001FF'O)and(enc_CER_PDU(myValue) == '8001FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == '8301FF'O)and(enc_CER_PDU(myValue) == '8301FF'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - No Default TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A3030101FF'O)and(enc_CER_PDU(myValue) == 'A3800101FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - -::= - -BEGIN - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE, NO DEFAULT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A005A3030101FF'O)and(enc_CER_PDU(myValue) == 'A080A3800101FF00000000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - -::= - -BEGIN - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := {b := true } - -<TTCN_TC:EXEC> - - - - -if ((enc_DER_PDU(myValue) == 'A0038301FF'O)and(enc_CER_PDU(myValue) == 'A0808301FF0000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - NULL -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - NULL> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } -const BERPDU myValue := {a := NULL} - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0500'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - BOOLEAN -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - BOOLEAN> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } -const BERPDU myValue := {b := true} - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - INTEGER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - INTEGER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } -const BERPDU myValue := {c := 2} - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('020102'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - ENUMERATED -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - ENUMERATED> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } -const BERPDU myValue := {d := first} - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0A0100'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - BIT STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - BIT STRING> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } -const BERPDU myValue := {f := '1'B} - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('03020780'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - OCTET STRING -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - OCTET STRING> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } -const BERPDU myValue := {g := 'FFFF'O} - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0402FFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - OBJECT IDENTIFIER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - OBJECT IDENTIFIER> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - -myValue BERPDU ::= h : {itu-t(0) recommendation(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - IA5String -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, CHOICE - IA5String> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {i := "ABC"} - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('1603414243'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER ,DER, CHOICE - CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER ,DER, CHOICE - CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {j := {x1 := true } } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A1030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {j := {x1 := true } } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A1800101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , DER, CHOICE - SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , DER, CHOICE - SEQUENCE> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {k := {x2 := NULL, - - y2 := true } } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('300505000101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - SEQUENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - SEQUENCE> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {k := {x2 := NULL, - - y2 := true } } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308005000101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , DER, CHOICE - SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , DER, CHOICE - SET> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 OCTET STRING}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {l := {y3 := 'FFFF'O , - - x3 := '1'B } } - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3108030207800402FFFF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - SET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - SET> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 OCTET STRING}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {l := {y3 := 'FFFF'O , - - x3 := '1'B } } - - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('3180030207800402FFFF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , DER, CHOICE - SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , DER, CHOICE - SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {m := - { 1 ,2 } } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3083006020101020102'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - SEQUENCE OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - SEQUENCE OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {m := - { 1 ,2 } } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A380308002010102010200000000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , DER, CHOICE - SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , DER, CHOICE - SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {n := - { true, true } } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A40831060101FF0101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER, CHOICE - SET OF -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER, CHOICE - SET OF> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= CHOICE - { - a NULL, - b BOOLEAN, - c INTEGER, - d ENUMERATED {first ,second ,third}, - e REAL, - f BIT STRING, - g OCTET STRING, - - h OBJECT IDENTIFIER, - i IA5String, - j CHOICE {x1 [1] BOOLEAN, - y1 [2] OCTET STRING}, - - k SEQUENCE{x2 NULL, - y2 BOOLEAN}, - - l SET { x3 BIT STRING, - y3 REAL}, - - m [3] SEQUENCE OF INTEGER, - n [4] SET OF BOOLEAN - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {n := - { true, true } } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A48031800101FF0101FF00000000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER decoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default IMPLICIT TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - -::= - -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER decoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default EXPLICIT TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER decoding of CHOICE - No Default TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - No Default TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER decoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default AUTOMATIC TAGS, CHOICE untagged> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -AUTOMATIC TAGS - -::= - -BEGIN -BERPDU ::= CHOICE - { - b BOOLEAN, - c INTEGER - } - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8001FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER decoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default IMPLICIT TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE - Default EXPLICIT TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3800101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE - No Default TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE - No Default TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE - No Default TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE - No Default TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3800101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER decoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -AUTOMATIC TAGS - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER decoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -IMPLICIT TAGS - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -EXPLICIT TAGS - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER decoding of CHOICE - No Default TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - No Default TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - -::= - -BEGIN -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - -END - - - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER decoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER decoding of CHOICE - Default AUTOMATIC TAGS, number-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] IMPLICIT BOOLEAN, - c [6] INTEGER - } - - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE - Default IMPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3800101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3800101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE - No Default TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE - No Default TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE - No Default TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE - No Default TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3800101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE - Default EXPLICIT TAGS, fully-tagged CHOICE> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - - -::= - -BEGIN - - -BERPDU ::= CHOICE - { - b [3] EXPLICIT BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A3800101FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0038301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE - DEFAULT IMPLICIT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -IMPLICIT TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808301FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A005A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE ,DEFAULT EXPLICIT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -EXPLICIT TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE, NO DEFAULT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE, NO DEFAULT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A005A3030101FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE, NO DEFAULT, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE, NO DEFAULT, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A080A3800101FF00000000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0038301FF'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE, -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER decoding of CHOICE ,DEFAULT AUTOMATIC, TAGGED CHOICE,> - -<STATIC:ASN> - -TempA - -DEFINITIONS - -AUTOMATIC TAGS - - - -::= - -BEGIN - - - -BERPDU ::= [0] CHOICE - { - b [3] BOOLEAN, - c [6] INTEGER - } - - - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := {b := true } - - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0808301FF0000'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t(0) recommendation(0) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , itu-t recommendation (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t recommendation a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 0 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603000203'O)and(enc_CER_PDU(b) == '0603000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) question(1),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) question(1) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t question,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t question a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 1,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 1 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603010203'O)and(enc_CER_PDU(b) == '0603010203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) administration(2),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) administration(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t administration,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t administration a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 2,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603020203'O)and(enc_CER_PDU(b) == '0603020203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) network-operator(3),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t network-operator,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t network-operator a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 3,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603030203'O)and(enc_CER_PDU(b) == '0603030203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t(0) identified-organization(4),(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,itu-t identified-organization,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {itu-t identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,0 4,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {0 4 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603040203'O)and(enc_CER_PDU(b) == '0603040203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , iso(1) standard(0) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso(1) standard(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso standard (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso standard a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {1 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603280203'O)and(enc_CER_PDU(b) == '0603280203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) member-body(2)(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso(1) member-body(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso member-body(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso member-body a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 2 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {1 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032A0203'O)and(enc_CER_PDU(b) == '06032A0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso(1) identified-organization(3) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,iso identified-organization(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {iso identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 1 3 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {1 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06032B0203'O)and(enc_CER_PDU(b) == '06032B0203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(0)(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t something(0) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 2 0 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {2 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '0603500203'O)and(enc_CER_PDU(b) == '0603500203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , joint-iso-itu-t(2) something(100) (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER ,joint-iso-itu-t 100 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , 2 100 (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {2 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '060481340203'O)and(enc_CER_PDU(b) == '060481340203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , multiple octets needed for values (primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER -b BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 } - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '06075002038F509F20'O)and(enc_CER_PDU(b) == '06075002038F509F20'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , [0] IMPLICIT, primitive> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == '8003000203'O)and(enc_CER_PDU(b) == '8003000203'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OBJECT IDENTIFIER , [0] EXPLICIT constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER -b BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(b) == 'A0050603000203'O)and(enc_CER_PDU(b) == 'A08006030002030000'O)) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t(0) recommendation(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= { itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t recommendation ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t recommendation a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER 0 0 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) question(1) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) question(1) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603010203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER, itu-t question ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t question a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603010203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER 0 1 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 1 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603010203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t(0) administration(2) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) administration(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603020203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER , itu-t administration ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t administration a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603020203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 2 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603020203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) network-operator(3) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) network-operator(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603030203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t network-operator ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t network-operator a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603030203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 3 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603030203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t(0) identified-organization(4) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) identified-organization(4) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603040203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,itu-t identified-organization ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603040203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 4 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {0 4 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603040203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) standard(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso(1) standard(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603280203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso standard ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso standard a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603280203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 0 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {1 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603280203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) member-body(2) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso(1) member-body(2) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032A0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso member-body ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso member-body a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032A0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 2 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {1 2 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032A0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso(1) identified-organization(3) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso(1) identified-organization(3) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032B0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,iso identified-organization ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {iso identified-organization a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032B0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,1 3 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {1 3 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06032B0203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603500203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t something(0) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t something(0) a(2) b(3)} - - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603500203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 0 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {2 0 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('0603500203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t(2) something(100) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('060481340203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,joint-iso-itu-t(2) something(100) ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('060481340203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,2 100 ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {2 100 a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('060481340203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,multiple octets needed for values ,(primitive)> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= OBJECT IDENTIFIER - -myValue BERPDU ::= {joint-iso-itu-t(2) something(0) a(2) b(3) 2000 4000 } - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('06075002038F509F20'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER+DER ,0 0, IMPLICIT, primitive> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] IMPLICIT OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('8003000203'O) == myValue) - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , DER ,0 0, EXPLICIT, constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A0050603000203'O) == myValue) - - - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING OBJECT IDENTIFIER , CER ,0 0, EXPLICIT, constructed> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN -BERPDU ::= [0] EXPLICIT OBJECT IDENTIFIER - -myValue BERPDU ::= {itu-t(0) recommendation(0) a(2) b(3)} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('A08006030002030000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER encoding of OPEN TYPE from Information Object Class -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of OPEN TYPE from Information Object Class> - -<STATIC:ASN> - -TempA - -DEFINITIONS ::= -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - -BERPDU ::= SEQUENCE - -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - - -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}},field2 := 999 }; - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. CER + DER encoding of TYPE from Information Object -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - CER + DER encoding of TYPE from Information Object > - -<STATIC:ASN> - -TempA - -DEFINITIONS - - -::= - -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - - - -BERPDU ::= SEQUENCE - -{ -field1 myObject-1.&TypeField , -- type from object -field2 MY-CLASS-1.&fixedTypeValueField -} - -END - - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_CER)" } - -const BERPDU myValue := { field1 := {f1 := 8},field2 := 999 }; - - -<TTCN_TC:EXEC> - -if ((enc_DER_PDU(myValue) == '30093003020108020203E7'O)and(enc_CER_PDU(myValue) == '308030800201080000020203E70000'O)) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,OPEN TYPE, DER, from Information Object Class -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,OPEN TYPE, DER, from Information Object Class> - -<STATIC:ASN> - - -TempA - -DEFINITIONS ::= -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - -BERPDU ::= SEQUENCE - -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - - -END -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30093003020108020203E7'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING ,OPEN TYPE, CER, from Information Object Class -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING ,OPEN TYPE, CER, from Information Object Class> - -<STATIC:ASN> - - -TempA - -DEFINITIONS ::= -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - -BERPDU ::= SEQUENCE - -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - - -END -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {aSN1_Type3 := {f1 := 8}}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , TYPE from Information Object Class, DER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , TYPE from Information Object Class, DER> - -<STATIC:ASN> - - -TempA - -DEFINITIONS - - -::= - -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - - - -BERPDU ::= SEQUENCE - -{ -field1 myObject-1.&TypeField , -- type from object -field2 MY-CLASS-1.&fixedTypeValueField -} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('30093003020108020203E7'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. DECODING , TYPE from Information Object Class, CER -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - DECODING , TYPE from Information Object Class, CER> - -<STATIC:ASN> - - -TempA - -DEFINITIONS - - -::= - -BEGIN - - ---*************************************************************************************************** ---modified class taken from Gyuri ASN1 ---*************************************************************************************************** -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - - ---**************************************************************************************************** --- OBJECTS using the class defined above ---**************************************************************************************************** - - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - ---**************************************************************************************************** --- Defining Information Object sets ---**************************************************************************************************** - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1| -myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1| -myObject-3, -... -} - - - -BERPDU ::= SEQUENCE - -{ -field1 myObject-1.&TypeField , -- type from object -field2 MY-CLASS-1.&fixedTypeValueField -} - -END - -<STATIC> - -import from TempA all; - -external function dec_BER_PDU(in octetstring stream) return BERPDU with { extension "prototype(convert) decode(BER)" } - -const BERPDU myValue := { field1 := {f1 := 8}, field2 := 999}; - - -<TTCN_TC:EXEC> - -if (dec_BER_PDU('308030800201080000020203E70000'O) == myValue) - -{setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Testing Enc/Dec functions of implicit message encoding -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Fast enc/dec function -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Implicit message encoding: prototype fast> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -BERPDU ::= SEQUENCE -{ - a OCTET STRING, - b BOOLEAN, - ..., - d BIT STRING, - ..., - c INTEGER OPTIONAL -} -END - -<STATIC> - -import from TempA all; -external function enc_DER_PDU(in BERPDU pdu, out octetstring os) with { extension "prototype(fast) encode(BER:BER_ENCODE_DER)" } -external function enc_CER_PDU(in BERPDU pdu, out octetstring os) with { extension "prototype(fast) encode(BER:BER_ENCODE_CER)" } -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -const BERPDU myValue := { - a := 'FF'O, - b := true, - d := '1'B, - c := 4 - } -<TTCN_TC:EXEC> - -var octetstring der_encoded, cer_encoded; -var BERPDU der_decoded, cer_decoded; - -enc_DER_PDU(myValue, der_encoded); -enc_CER_PDU(myValue, cer_encoded); - -if ((der_encoded == '300D8001FF8101FF83020780820104'O) and - (cer_encoded == '30808001FF8101FF830207808201040000'O)) - {setverdict(pass);} else {setverdict(fail);} - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} -dec_BER_PDU(cer_encoded, cer_decoded); -if (cer_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Backtrack decode function -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Implicit message encoding: prototype backtrack> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -STRPDU ::= PrintableString -USTRPDU ::= GeneralString -SEQPDU ::= SEQUENCE { - f1 INTEGER, - f2 OCTET STRING, - f3 BOOLEAN -} -END - -<STATIC> - -import from TempA all; - -external function encode_str(in STRPDU pdu) return octetstring - with { extension "prototype(convert) encode(BER)" } -external function encode_ustr(in USTRPDU updu) return octetstring - with { extension "prototype(convert) encode(BER)" } -external function encode_seq(in SEQPDU pdu) return octetstring - with { extension "prototype(convert) encode(BER)" } -external function decode_str(in octetstring os, out STRPDU pdu) return integer - with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } -external function decode_ustr(in octetstring os, out USTRPDU pdu) return integer - with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } -external function decode_seq(in octetstring os, out SEQPDU pdu) return integer - with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -<TTCN_TC:EXEC> - -var STRPDU str := "haha"; -var USTRPDU ustr := "uu"; -var SEQPDU seq := { 123, 'ABCDEF'O, true } -var STRPDU decoded_str; -var USTRPDU decoded_ustr; -var SEQPDU decoded_seq; -var integer ret_val; - -ret_val := decode_str(encode_str(str), decoded_str); -if (ret_val==0 and decoded_str==str) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_ustr(encode_ustr(ustr), decoded_ustr); -if (ret_val==0 and decoded_ustr==ustr) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_seq(encode_seq(seq), decoded_seq); -if (ret_val==0 and decoded_seq==seq) {setverdict(pass);} else {setverdict(fail);} - -ret_val := decode_str(''O, decoded_str); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_ustr(''O, decoded_ustr); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_seq(''O, decoded_seq); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} - -ret_val := decode_str('12'O, decoded_str); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_ustr('12'O, decoded_ustr); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_seq('12'O, decoded_seq); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} - -ret_val := decode_str('1234'O, decoded_str); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_ustr('1234'O, decoded_ustr); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} -ret_val := decode_seq('1234'O, decoded_seq); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Sliding decode function -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Implicit message encoding: prototype sliding> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -PDU ::= SEQUENCE { - f1 INTEGER, - f2 OCTET STRING, - f3 BOOLEAN -} -END - -<STATIC> - -import from TempA all; - -external function encode_PDU(in PDU pdu) return octetstring - with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU(inout octetstring os, out PDU pdu) return integer - with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -<TTCN_TC:EXEC> - -var PDU pdu := { 123, 'ABCDEF'O, true } -var octetstring encoded_pdu; -var PDU decoded_pdu; -var integer ret_val; - -encoded_pdu := encode_PDU(pdu); -ret_val := decode_PDU(encoded_pdu, decoded_pdu); -if (ret_val==0 and decoded_pdu==pdu) {setverdict(pass);} else {setverdict(fail);} - -encoded_pdu := '800100'O; -ret_val := decode_PDU(encoded_pdu, decoded_pdu); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -encoded_pdu := substr(encode_PDU(pdu), 0, 4); -ret_val := decode_PDU(encoded_pdu, decoded_pdu); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Sliding decoding, octetstring length 0,1,2 -> incomplete TLV -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Implicit message encoding: incomplete TLV> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN -PDU0 ::= NULL -PDU1 ::= BOOLEAN -PDU2 ::= INTEGER -PDU3 ::= ENUMERATED { e0 (0), e1 (1) } -PDU4 ::= REAL -PDU5 ::= BIT STRING -PDU6 ::= OCTET STRING -PDU7 ::= PrintableString -PDU8 ::= GeneralString -PDU9 ::= CHOICE { i INTEGER, b BOOLEAN } -PDU10 ::= SEQUENCE { i INTEGER, b BOOLEAN } -PDU11 ::= SEQUENCE OF INTEGER -PDU12 ::= OBJECT IDENTIFIER -END - -<STATIC> - -import from TempA all; - -external function encode_PDU0(in PDU0 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU0(inout octetstring os, out PDU0 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU1(in PDU1 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU1(inout octetstring os, out PDU1 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU2(in PDU2 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU2(inout octetstring os, out PDU2 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU3(in PDU3 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU3(inout octetstring os, out PDU3 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU4(in PDU4 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU4(inout octetstring os, out PDU4 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU5(in PDU5 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU5(inout octetstring os, out PDU5 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU6(in PDU6 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU6(inout octetstring os, out PDU6 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU7(in PDU7 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU7(inout octetstring os, out PDU7 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU8(in PDU8 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU8(inout octetstring os, out PDU8 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU9(in PDU9 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU9(inout octetstring os, out PDU9 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU10(in PDU10 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU10(inout octetstring os, out PDU10 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU11(in PDU11 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU11(inout octetstring os, out PDU11 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -external function encode_PDU12(in PDU12 pdu) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" } -external function decode_PDU12(inout octetstring os, out PDU12 pdu) return integer with { extension "prototype(sliding) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -<TTCN_TC:EXEC> - -var octetstring encoded_pdu; -var integer ret_val; - -var PDU0 pdu0 := NULL; -var PDU0 decoded_pdu0; -encoded_pdu := substr(encode_PDU0(pdu0), 0, 0); -ret_val := decode_PDU0(encoded_pdu, decoded_pdu0); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU0(pdu0), 0, 1); -ret_val := decode_PDU0(encoded_pdu, decoded_pdu0); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU1 pdu1 := true; -var PDU1 decoded_pdu1; -encoded_pdu := substr(encode_PDU1(pdu1), 0, 0); -ret_val := decode_PDU1(encoded_pdu, decoded_pdu1); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU1(pdu1), 0, 1); -ret_val := decode_PDU1(encoded_pdu, decoded_pdu1); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU1(pdu1), 0, 2); -ret_val := decode_PDU1(encoded_pdu, decoded_pdu1); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU2 pdu2 := 123; -var PDU2 decoded_pdu2; -encoded_pdu := substr(encode_PDU2(pdu2), 0, 0); -ret_val := decode_PDU2(encoded_pdu, decoded_pdu2); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU2(pdu2), 0, 1); -ret_val := decode_PDU2(encoded_pdu, decoded_pdu2); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU2(pdu2), 0, 2); -ret_val := decode_PDU2(encoded_pdu, decoded_pdu2); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU3 pdu3 := e1; -var PDU3 decoded_pdu3; -encoded_pdu := substr(encode_PDU3(pdu3), 0, 0); -ret_val := decode_PDU3(encoded_pdu, decoded_pdu3); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU3(pdu3), 0, 1); -ret_val := decode_PDU3(encoded_pdu, decoded_pdu3); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU3(pdu3), 0, 2); -ret_val := decode_PDU3(encoded_pdu, decoded_pdu3); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU4 pdu4 := 1.23; -var PDU4 decoded_pdu4; -encoded_pdu := substr(encode_PDU4(pdu4), 0, 0); -ret_val := decode_PDU4(encoded_pdu, decoded_pdu4); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU4(pdu4), 0, 1); -ret_val := decode_PDU4(encoded_pdu, decoded_pdu4); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU4(pdu4), 0, 2); -ret_val := decode_PDU4(encoded_pdu, decoded_pdu4); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU5 pdu5 := '101010'B; -var PDU5 decoded_pdu5; -encoded_pdu := substr(encode_PDU5(pdu5), 0, 0); -ret_val := decode_PDU5(encoded_pdu, decoded_pdu5); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU5(pdu5), 0, 1); -ret_val := decode_PDU5(encoded_pdu, decoded_pdu5); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU5(pdu5), 0, 2); -ret_val := decode_PDU5(encoded_pdu, decoded_pdu5); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU6 pdu6 := 'ABCDEF12'O; -var PDU6 decoded_pdu6; -encoded_pdu := substr(encode_PDU6(pdu6), 0, 0); -ret_val := decode_PDU6(encoded_pdu, decoded_pdu6); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU6(pdu6), 0, 1); -ret_val := decode_PDU6(encoded_pdu, decoded_pdu6); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU6(pdu6), 0, 2); -ret_val := decode_PDU6(encoded_pdu, decoded_pdu6); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU7 pdu7 := "haha"; -var PDU7 decoded_pdu7; -encoded_pdu := substr(encode_PDU7(pdu7), 0, 0); -ret_val := decode_PDU7(encoded_pdu, decoded_pdu7); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU7(pdu7), 0, 1); -ret_val := decode_PDU7(encoded_pdu, decoded_pdu7); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU7(pdu7), 0, 2); -ret_val := decode_PDU7(encoded_pdu, decoded_pdu7); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU8 pdu8 := "huhu"; -var PDU8 decoded_pdu8; -encoded_pdu := substr(encode_PDU8(pdu8), 0, 0); -ret_val := decode_PDU8(encoded_pdu, decoded_pdu8); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU8(pdu8), 0, 1); -ret_val := decode_PDU8(encoded_pdu, decoded_pdu8); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU8(pdu8), 0, 2); -ret_val := decode_PDU8(encoded_pdu, decoded_pdu8); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU9 pdu9 := { b := true } -var PDU9 decoded_pdu9; -encoded_pdu := substr(encode_PDU9(pdu9), 0, 0); -ret_val := decode_PDU9(encoded_pdu, decoded_pdu9); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU9(pdu9), 0, 1); -ret_val := decode_PDU9(encoded_pdu, decoded_pdu9); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU9(pdu9), 0, 2); -ret_val := decode_PDU9(encoded_pdu, decoded_pdu9); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU10 pdu10 := { 123 , true } -var PDU10 decoded_pdu10; -encoded_pdu := substr(encode_PDU10(pdu10), 0, 0); -ret_val := decode_PDU10(encoded_pdu, decoded_pdu10); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU10(pdu10), 0, 1); -ret_val := decode_PDU10(encoded_pdu, decoded_pdu10); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU10(pdu10), 0, 2); -ret_val := decode_PDU10(encoded_pdu, decoded_pdu10); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU11 pdu11 := { 1, 2, 3 } -var PDU11 decoded_pdu11; -encoded_pdu := substr(encode_PDU11(pdu11), 0, 0); -ret_val := decode_PDU11(encoded_pdu, decoded_pdu11); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU11(pdu11), 0, 1); -ret_val := decode_PDU11(encoded_pdu, decoded_pdu11); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU11(pdu11), 0, 2); -ret_val := decode_PDU11(encoded_pdu, decoded_pdu11); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -var PDU12 pdu12 := objid { itu_t(0) 4 } -var PDU12 decoded_pdu12; -encoded_pdu := substr(encode_PDU12(pdu12), 0, 0); -ret_val := decode_PDU12(encoded_pdu, decoded_pdu12); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU12(pdu12), 0, 1); -ret_val := decode_PDU12(encoded_pdu, decoded_pdu12); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} -encoded_pdu := substr(encode_PDU12(pdu12), 0, 2); -ret_val := decode_PDU12(encoded_pdu, decoded_pdu12); -if (ret_val==2) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Encoding/decoding of big integers -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Encoding/decoding of big integers -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding/decoding of big integers> - -<STATIC:ASN> - -TempA DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -BERPDU ::= INTEGER -bi1 BERPDU ::= 5 -bi2 BERPDU ::= 0 -bi3 BERPDU ::= 127 -bi4 BERPDU ::= -128 -bi5 BERPDU ::= -5 -bi-6 BERPDU ::= 128 -bi7 BERPDU ::= -129 - -BERPDU2 ::= REAL ---b BERPDU2 ::= 12345678900 - -Rec-ber ::= SEQUENCE { - int1 Number, - int2 Number -} -Rec-ber-literal ::= SEQUENCE { - int1 NumberLit, - int2 NumberLit -} -Number ::= INTEGER -NumberLit ::= NumericString (SIZE (100)) -myNumber Number ::= 12345678910111213141516 - -END - -<STATIC> - -import from TempA language "ASN.1:1997" all - -external function enc_ber1(in Rec_ber r) return octetstring - with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_ber1(in octetstring r) return Rec_ber - with { extension "decode(BER:BER_ACCEPT_ALL) prototype(convert) errorbehavior(ALL:WARNING)" } -external function enc_ber2(in integer r) return octetstring - with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } -// Attributes are not checked in the compiler. -external function dec_ber2(in octetstring r) return integer - with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_ber3(inout octetstring r, out Rec_ber s) return integer - with { extension "decode(BER:BER_ACCEPT_ALL) prototype(sliding) errorbehavior(ALL:WARNING)" } - -type component comp_ber { } - -<TTCN_TC:EXEC> - - const integer a := 2147483647 - const integer b := 2147483648 - const integer c := 2147483649 - const integer d := 128 - const integer e := myNumber - const integer f := 12147483648 - var Rec_ber myrec1 := {int1 := a, int2 := b} - var Rec_ber myrec2 := {int1 := c, int2 := d} - var Rec_ber myrec3 := {int1 := 1048576, int2 := 321768} - var Rec_ber myrec4 := {65536, 131072} - var Rec_ber myrec5 := {4294967296, 8388608} - var Rec_ber myrec6 := {12345678910111213141516, 11111111111111111111} - var Rec_ber myrec7 := {8589934592, 1099511627776} - var Rec_ber myrec8 := {int1 := a, int2 := b} - var Rec_ber myrec9 := {int1 := 12345678910111213141516, int2 := -1234} - var Rec_ber myrec10 := {int1 := -12345678910111213141516, int2 := -1234} - var Rec_ber myrec11 := {2147483648, -2147483648} - var Rec_ber myrec12 := {-2147483647, 2147483647} - var Rec_ber myrec13 := {2147483649, -2147483649} - var Rec_ber myrec14 := {-4294967296, 4294967296} - var Rec_ber myrec15 := {4294967295, -4294967295} - var Rec_ber myrec16 := {-4294967297, 4294967297} - var Rec_ber pdu1 := {12345678910111213141516, -2147483648} - var Rec_ber pdu2 := {123, 456} - var octetstring encoded_pdu - var Rec_ber decoded_pdu - var integer ret_val - encoded_pdu := enc_ber1(pdu2) - ret_val := dec_ber3(encoded_pdu, decoded_pdu) - if (ret_val == 0 and decoded_pdu == pdu2) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := '800100'O - ret_val := dec_ber3(encoded_pdu, decoded_pdu) - if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := substr(enc_ber1(pdu1), 0, 4) - ret_val := dec_ber3(encoded_pdu, decoded_pdu) - if (ret_val == 2) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber2(-2147483648) - if (encoded_pdu == '020480000000'O) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec1) - if (myrec1 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec2) - if (myrec2 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := c, int2 := d} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec3) - if (myrec3 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := 1048576, int2 := 321768} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec4) - if (myrec4 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({65536, 131072} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec5) - if (myrec5 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({4294967296, 8388608} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec6) - if (myrec6 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({12345678910111213141516, 11111111111111111111} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec7) - if (myrec7 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({8589934592, 1099511627776} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec8) - if (myrec8 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := a, int2 := b} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec9) - if (myrec9 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := 12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec10) - if (myrec10 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({int1 := -12345678910111213141516, int2 := -1234} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec11) - if (myrec11 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({2147483648, -2147483648} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec12) - if (myrec12 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({-2147483647, 2147483647} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec13) - if (myrec13 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({2147483649, -2147483649} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec14) - if (myrec14 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({-4294967296, 4294967296} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec15) - if (myrec15 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({4294967295, -4294967295} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - encoded_pdu := enc_ber1(myrec16) - if (myrec16 == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - if ({-4294967297, 4294967297} == dec_ber1(encoded_pdu)) {setverdict(pass)} else {setverdict(fail)} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Purpose -.*---------------------------------------------------------------------* -Negative tests for the BER decoder. -.*---------------------------------------------------------------------* -:h2.Test cases -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form NR3 pretending to be NR1 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form NR3 pretending to be NR1> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0133313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR1 form. - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form NR3 pretending to be NR2 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form NR3 pretending to be NR2> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0233313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This decimal encoding does not conform to NR2 form. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, reserved decimal form 0x20 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, reserved decimal form 0x20> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D2033313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x20 (See X.690 8.5.7). - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form 0 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form 0> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0033313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x0 (See X.690 8.5.7). - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BER decoding REAL, decimal form 4 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BER decoding REAL, decimal form 4> - -<STATIC:ASN> - -TempA -DEFINITIONS -AUTOMATIC TAGS -::= -BEGIN - -IMPORTS; -- nothing - -BERPDU ::= REAL - -END - -<STATIC> - -type float BERPDU; - -external function dec_BER_PDU(in octetstring os, out BERPDU pdu) - with { extension "prototype(fast) decode(BER:BER_ACCEPT_ALL) " } - -// pi: 31415926.E-7 -const octetstring der_encoded := '090D0433313431353932362E452D37'O; -const BERPDU myValue := 3.1415926; - -<TTCN_TC:EXEC> - -var BERPDU der_decoded, cer_decoded; - -dec_BER_PDU(der_encoded, der_decoded); -if (der_decoded==myValue) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Dynamic test case error: While BER-decoding type '@Temp.BERPDU': While decoding REAL type: This is a reserved value: 0x4 (See X.690 8.5.7). - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Memory leak while BER decoding, test for HO73756 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Memory leak while BER decoding, test for HO73756> - -<STATIC:ASN> -TempA DEFINITIONS ::= -BEGIN - -MY-CLASS-1 ::= CLASS -{ -&TypeField OPTIONAL, -&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL - -} -WITH SYNTAX -{ -[TYPE FIELD &TypeField] -[FIXED VALUE TYPE FIELD &fixedTypeValueField] -} - -ASN1-Type1 ::= INTEGER - -ASN1-Type2 ::= BOOLEAN - -ASN1-Type3 ::= SEQUENCE {f1 INTEGER} - -ASN1-Type4 ::= OCTET STRING - -myObject-1 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type3 -FIXED VALUE TYPE FIELD 999 -} - -myObject-2 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type2 -FIXED VALUE TYPE FIELD 888 -} - -myObject-3 MY-CLASS-1 ::= -{ -TYPE FIELD ASN1-Type4 -FIXED VALUE TYPE FIELD 555 -} - -MyInformationObjectSet1 MY-CLASS-1 ::= -{ -myObject-1|myObject-2, -... -} - -MyInformationObjectSet2 MY-CLASS-1 ::= -{ -MyInformationObjectSet1|myObject-3, -... -} - -BERPDU ::= SEQUENCE -{ -field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ), -field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}) -} - -END -<STATIC> -// Test for memory leak problem in BER decoder: HO73756. -import from TempA all; - -external function dec_backtrack(in octetstring stream, out BERPDU outpdu) return integer with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL) errorbehavior(ALL:WARNING)" } - -type component empty { - var BERPDU mypdu -} - -<TTCN_TC:PURE_EXEC> - -testcase mytc() runs on empty { - dec_backtrack('30093003020108020203E7'O, mypdu) - dec_backtrack('30093003020108020203E7'O, mypdu) - setverdict(pass) -} - -control { - execute(mytc()) -} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h1.REFERENCES -.*---------------------------------------------------------------------* -:nl. Requirement specification(s): -:nl.------------------------------- -:list. -:li. 8/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's encoder/decoder functions -:elist. - -:etext. diff --git a/function_test/BER_EncDec/Makefile b/function_test/BER_EncDec/Makefile index 4661544de551403bb1ecb9c69e08ec5b2d1924f8..64af9c8dce45ee16f019605cd420db6e274fb387 100644 --- a/function_test/BER_EncDec/Makefile +++ b/function_test/BER_EncDec/Makefile @@ -94,24 +94,28 @@ ARCHIVE_DIR = ./backup # # The TTCN-3 modules needed for this project: -TTCN3_MODULES = Temp.ttcn +TTCN3_MODULES = BER_EncDec_1.ttcn BER_EncDec_10.ttcn BER_EncDec_100.ttcn BER_EncDec_101.ttcn BER_EncDec_102.ttcn BER_EncDec_103.ttcn BER_EncDec_104.ttcn BER_EncDec_105.ttcn BER_EncDec_106.ttcn BER_EncDec_107.ttcn BER_EncDec_108.ttcn BER_EncDec_109.ttcn BER_EncDec_11.ttcn BER_EncDec_110.ttcn BER_EncDec_111.ttcn BER_EncDec_112.ttcn BER_EncDec_113.ttcn BER_EncDec_114.ttcn BER_EncDec_115.ttcn BER_EncDec_116.ttcn BER_EncDec_117.ttcn BER_EncDec_118.ttcn BER_EncDec_119.ttcn BER_EncDec_12.ttcn BER_EncDec_120.ttcn BER_EncDec_121.ttcn BER_EncDec_122.ttcn BER_EncDec_123.ttcn BER_EncDec_124.ttcn BER_EncDec_125.ttcn BER_EncDec_126.ttcn BER_EncDec_127.ttcn BER_EncDec_128.ttcn BER_EncDec_129.ttcn BER_EncDec_13.ttcn BER_EncDec_130.ttcn BER_EncDec_131.ttcn BER_EncDec_132.ttcn BER_EncDec_133.ttcn BER_EncDec_134.ttcn BER_EncDec_135.ttcn BER_EncDec_136.ttcn BER_EncDec_137.ttcn BER_EncDec_138.ttcn BER_EncDec_139.ttcn BER_EncDec_14.ttcn BER_EncDec_140.ttcn BER_EncDec_141.ttcn BER_EncDec_142.ttcn BER_EncDec_143.ttcn BER_EncDec_144.ttcn BER_EncDec_145.ttcn BER_EncDec_146.ttcn BER_EncDec_147.ttcn BER_EncDec_148.ttcn BER_EncDec_149.ttcn BER_EncDec_15.ttcn BER_EncDec_150.ttcn BER_EncDec_151.ttcn BER_EncDec_152.ttcn BER_EncDec_153.ttcn BER_EncDec_154.ttcn BER_EncDec_155.ttcn BER_EncDec_156.ttcn BER_EncDec_157.ttcn BER_EncDec_158.ttcn BER_EncDec_159.ttcn BER_EncDec_16.ttcn BER_EncDec_160.ttcn BER_EncDec_161.ttcn BER_EncDec_162.ttcn BER_EncDec_163.ttcn BER_EncDec_164.ttcn BER_EncDec_165.ttcn BER_EncDec_17.ttcn BER_EncDec_18.ttcn BER_EncDec_19.ttcn BER_EncDec_2.ttcn BER_EncDec_20.ttcn BER_EncDec_21.ttcn BER_EncDec_22.ttcn BER_EncDec_23.ttcn BER_EncDec_24.ttcn BER_EncDec_25.ttcn BER_EncDec_26.ttcn BER_EncDec_27.ttcn BER_EncDec_28.ttcn BER_EncDec_29.ttcn BER_EncDec_3.ttcn BER_EncDec_30.ttcn BER_EncDec_31.ttcn BER_EncDec_32.ttcn BER_EncDec_33.ttcn BER_EncDec_34.ttcn BER_EncDec_35.ttcn BER_EncDec_36.ttcn BER_EncDec_37.ttcn BER_EncDec_38.ttcn BER_EncDec_39.ttcn BER_EncDec_4.ttcn BER_EncDec_40.ttcn BER_EncDec_41.ttcn BER_EncDec_42.ttcn BER_EncDec_43.ttcn BER_EncDec_44.ttcn BER_EncDec_45.ttcn BER_EncDec_46.ttcn BER_EncDec_47.ttcn BER_EncDec_48.ttcn BER_EncDec_49.ttcn BER_EncDec_5.ttcn BER_EncDec_50.ttcn BER_EncDec_51.ttcn BER_EncDec_52.ttcn BER_EncDec_53.ttcn BER_EncDec_54.ttcn BER_EncDec_55.ttcn BER_EncDec_56.ttcn BER_EncDec_57.ttcn BER_EncDec_58.ttcn BER_EncDec_59.ttcn BER_EncDec_6.ttcn BER_EncDec_60.ttcn BER_EncDec_61.ttcn BER_EncDec_62.ttcn BER_EncDec_63.ttcn BER_EncDec_64.ttcn BER_EncDec_65.ttcn BER_EncDec_66.ttcn BER_EncDec_67.ttcn BER_EncDec_68.ttcn BER_EncDec_69.ttcn BER_EncDec_7.ttcn BER_EncDec_70.ttcn BER_EncDec_71.ttcn BER_EncDec_72.ttcn BER_EncDec_73.ttcn BER_EncDec_74.ttcn BER_EncDec_75.ttcn BER_EncDec_76.ttcn BER_EncDec_77.ttcn BER_EncDec_78.ttcn BER_EncDec_79.ttcn BER_EncDec_8.ttcn BER_EncDec_80.ttcn BER_EncDec_81.ttcn BER_EncDec_82.ttcn BER_EncDec_83.ttcn BER_EncDec_84.ttcn BER_EncDec_85.ttcn BER_EncDec_86.ttcn BER_EncDec_87.ttcn BER_EncDec_88.ttcn BER_EncDec_89.ttcn BER_EncDec_9.ttcn BER_EncDec_90.ttcn BER_EncDec_91.ttcn BER_EncDec_92.ttcn BER_EncDec_93.ttcn BER_EncDec_94.ttcn BER_EncDec_95.ttcn BER_EncDec_96.ttcn BER_EncDec_97.ttcn BER_EncDec_98.ttcn BER_EncDec_99.ttcn # The ASN.1 modules needed for this project: -ASN1_MODULES = TempA.asn +ASN1_MODULES = BER_EncDecA_1.asn BER_EncDecA_10.asn BER_EncDecA_100.asn BER_EncDecA_101.asn BER_EncDecA_102.asn BER_EncDecA_103.asn BER_EncDecA_104.asn BER_EncDecA_105.asn BER_EncDecA_106.asn BER_EncDecA_107.asn BER_EncDecA_108.asn BER_EncDecA_109.asn BER_EncDecA_11.asn BER_EncDecA_110.asn BER_EncDecA_111.asn BER_EncDecA_112.asn BER_EncDecA_113.asn BER_EncDecA_114.asn BER_EncDecA_115.asn BER_EncDecA_116.asn BER_EncDecA_117.asn BER_EncDecA_118.asn BER_EncDecA_119.asn BER_EncDecA_12.asn BER_EncDecA_120.asn BER_EncDecA_121.asn BER_EncDecA_122.asn BER_EncDecA_123.asn BER_EncDecA_124.asn BER_EncDecA_125.asn BER_EncDecA_126.asn BER_EncDecA_127.asn BER_EncDecA_128.asn BER_EncDecA_129.asn BER_EncDecA_13.asn BER_EncDecA_130.asn BER_EncDecA_131.asn BER_EncDecA_132.asn BER_EncDecA_133.asn BER_EncDecA_134.asn BER_EncDecA_135.asn BER_EncDecA_136.asn BER_EncDecA_137.asn BER_EncDecA_138.asn BER_EncDecA_139.asn BER_EncDecA_14.asn BER_EncDecA_140.asn BER_EncDecA_141.asn BER_EncDecA_142.asn BER_EncDecA_143.asn BER_EncDecA_144.asn BER_EncDecA_145.asn BER_EncDecA_146.asn BER_EncDecA_147.asn BER_EncDecA_148.asn BER_EncDecA_149.asn BER_EncDecA_15.asn BER_EncDecA_150.asn BER_EncDecA_151.asn BER_EncDecA_152.asn BER_EncDecA_153.asn BER_EncDecA_154.asn BER_EncDecA_155.asn BER_EncDecA_156.asn BER_EncDecA_157.asn BER_EncDecA_158.asn BER_EncDecA_159.asn BER_EncDecA_16.asn BER_EncDecA_160.asn BER_EncDecA_161.asn BER_EncDecA_162.asn BER_EncDecA_163.asn BER_EncDecA_164.asn BER_EncDecA_165.asn BER_EncDecA_17.asn BER_EncDecA_18.asn BER_EncDecA_19.asn BER_EncDecA_2.asn BER_EncDecA_20.asn BER_EncDecA_21.asn BER_EncDecA_22.asn BER_EncDecA_23.asn BER_EncDecA_24.asn BER_EncDecA_25.asn BER_EncDecA_26.asn BER_EncDecA_27.asn BER_EncDecA_28.asn BER_EncDecA_29.asn BER_EncDecA_3.asn BER_EncDecA_30.asn BER_EncDecA_31.asn BER_EncDecA_32.asn BER_EncDecA_33.asn BER_EncDecA_34.asn BER_EncDecA_35.asn BER_EncDecA_36.asn BER_EncDecA_37.asn BER_EncDecA_38.asn BER_EncDecA_39.asn BER_EncDecA_4.asn BER_EncDecA_40.asn BER_EncDecA_41.asn BER_EncDecA_42.asn BER_EncDecA_43.asn BER_EncDecA_44.asn BER_EncDecA_45.asn BER_EncDecA_46.asn BER_EncDecA_47.asn BER_EncDecA_48.asn BER_EncDecA_49.asn BER_EncDecA_5.asn BER_EncDecA_50.asn BER_EncDecA_51.asn BER_EncDecA_52.asn BER_EncDecA_53.asn BER_EncDecA_54.asn BER_EncDecA_55.asn BER_EncDecA_56.asn BER_EncDecA_57.asn BER_EncDecA_58.asn BER_EncDecA_59.asn BER_EncDecA_6.asn BER_EncDecA_60.asn BER_EncDecA_61.asn BER_EncDecA_62.asn BER_EncDecA_63.asn BER_EncDecA_64.asn BER_EncDecA_65.asn BER_EncDecA_66.asn BER_EncDecA_67.asn BER_EncDecA_68.asn BER_EncDecA_69.asn BER_EncDecA_7.asn BER_EncDecA_70.asn BER_EncDecA_71.asn BER_EncDecA_72.asn BER_EncDecA_73.asn BER_EncDecA_74.asn BER_EncDecA_75.asn BER_EncDecA_76.asn BER_EncDecA_77.asn BER_EncDecA_78.asn BER_EncDecA_79.asn BER_EncDecA_8.asn BER_EncDecA_80.asn BER_EncDecA_81.asn BER_EncDecA_82.asn BER_EncDecA_83.asn BER_EncDecA_84.asn BER_EncDecA_85.asn BER_EncDecA_86.asn BER_EncDecA_87.asn BER_EncDecA_88.asn BER_EncDecA_89.asn BER_EncDecA_9.asn BER_EncDecA_90.asn BER_EncDecA_91.asn BER_EncDecA_92.asn BER_EncDecA_93.asn BER_EncDecA_94.asn BER_EncDecA_95.asn BER_EncDecA_96.asn BER_EncDecA_97.asn BER_EncDecA_98.asn BER_EncDecA_99.asn # C++ source & header files generated by TTCN-3 & ASN.1 compilers: -GENERATED_SOURCES = Temp.cc TempA.cc -GENERATED_HEADERS = Temp.hh TempA.hh +GENERATED_SOURCES = BER_EncDec_1.cc BER_EncDec_10.cc BER_EncDec_100.cc BER_EncDec_101.cc BER_EncDec_102.cc BER_EncDec_103.cc BER_EncDec_104.cc BER_EncDec_105.cc BER_EncDec_106.cc BER_EncDec_107.cc BER_EncDec_108.cc BER_EncDec_109.cc BER_EncDec_11.cc BER_EncDec_110.cc BER_EncDec_111.cc BER_EncDec_112.cc BER_EncDec_113.cc BER_EncDec_114.cc BER_EncDec_115.cc BER_EncDec_116.cc BER_EncDec_117.cc BER_EncDec_118.cc BER_EncDec_119.cc BER_EncDec_12.cc BER_EncDec_120.cc BER_EncDec_121.cc BER_EncDec_122.cc BER_EncDec_123.cc BER_EncDec_124.cc BER_EncDec_125.cc BER_EncDec_126.cc BER_EncDec_127.cc BER_EncDec_128.cc BER_EncDec_129.cc BER_EncDec_13.cc BER_EncDec_130.cc BER_EncDec_131.cc BER_EncDec_132.cc BER_EncDec_133.cc BER_EncDec_134.cc BER_EncDec_135.cc BER_EncDec_136.cc BER_EncDec_137.cc BER_EncDec_138.cc BER_EncDec_139.cc BER_EncDec_14.cc BER_EncDec_140.cc BER_EncDec_141.cc BER_EncDec_142.cc BER_EncDec_143.cc BER_EncDec_144.cc BER_EncDec_145.cc BER_EncDec_146.cc BER_EncDec_147.cc BER_EncDec_148.cc BER_EncDec_149.cc BER_EncDec_15.cc BER_EncDec_150.cc BER_EncDec_151.cc BER_EncDec_152.cc BER_EncDec_153.cc BER_EncDec_154.cc BER_EncDec_155.cc BER_EncDec_156.cc BER_EncDec_157.cc BER_EncDec_158.cc BER_EncDec_159.cc BER_EncDec_16.cc BER_EncDec_160.cc BER_EncDec_161.cc BER_EncDec_162.cc BER_EncDec_163.cc BER_EncDec_164.cc BER_EncDec_165.cc BER_EncDec_17.cc BER_EncDec_18.cc BER_EncDec_19.cc BER_EncDec_2.cc BER_EncDec_20.cc BER_EncDec_21.cc BER_EncDec_22.cc BER_EncDec_23.cc BER_EncDec_24.cc BER_EncDec_25.cc BER_EncDec_26.cc BER_EncDec_27.cc BER_EncDec_28.cc BER_EncDec_29.cc BER_EncDec_3.cc BER_EncDec_30.cc BER_EncDec_31.cc BER_EncDec_32.cc BER_EncDec_33.cc BER_EncDec_34.cc BER_EncDec_35.cc BER_EncDec_36.cc BER_EncDec_37.cc BER_EncDec_38.cc BER_EncDec_39.cc BER_EncDec_4.cc BER_EncDec_40.cc BER_EncDec_41.cc BER_EncDec_42.cc BER_EncDec_43.cc BER_EncDec_44.cc BER_EncDec_45.cc BER_EncDec_46.cc BER_EncDec_47.cc BER_EncDec_48.cc BER_EncDec_49.cc BER_EncDec_5.cc BER_EncDec_50.cc BER_EncDec_51.cc BER_EncDec_52.cc BER_EncDec_53.cc BER_EncDec_54.cc BER_EncDec_55.cc BER_EncDec_56.cc BER_EncDec_57.cc BER_EncDec_58.cc BER_EncDec_59.cc BER_EncDec_6.cc BER_EncDec_60.cc BER_EncDec_61.cc BER_EncDec_62.cc BER_EncDec_63.cc BER_EncDec_64.cc BER_EncDec_65.cc BER_EncDec_66.cc BER_EncDec_67.cc BER_EncDec_68.cc BER_EncDec_69.cc BER_EncDec_7.cc BER_EncDec_70.cc BER_EncDec_71.cc BER_EncDec_72.cc BER_EncDec_73.cc BER_EncDec_74.cc BER_EncDec_75.cc BER_EncDec_76.cc BER_EncDec_77.cc BER_EncDec_78.cc BER_EncDec_79.cc BER_EncDec_8.cc BER_EncDec_80.cc BER_EncDec_81.cc BER_EncDec_82.cc BER_EncDec_83.cc BER_EncDec_84.cc BER_EncDec_85.cc BER_EncDec_86.cc BER_EncDec_87.cc BER_EncDec_88.cc BER_EncDec_89.cc BER_EncDec_9.cc BER_EncDec_90.cc BER_EncDec_91.cc BER_EncDec_92.cc BER_EncDec_93.cc BER_EncDec_94.cc BER_EncDec_95.cc BER_EncDec_96.cc BER_EncDec_97.cc BER_EncDec_98.cc BER_EncDec_99.cc BER_EncDecA_1.cc BER_EncDecA_10.cc BER_EncDecA_100.cc BER_EncDecA_101.cc BER_EncDecA_102.cc BER_EncDecA_103.cc BER_EncDecA_104.cc BER_EncDecA_105.cc BER_EncDecA_106.cc BER_EncDecA_107.cc BER_EncDecA_108.cc BER_EncDecA_109.cc BER_EncDecA_11.cc BER_EncDecA_110.cc BER_EncDecA_111.cc BER_EncDecA_112.cc BER_EncDecA_113.cc BER_EncDecA_114.cc BER_EncDecA_115.cc BER_EncDecA_116.cc BER_EncDecA_117.cc BER_EncDecA_118.cc BER_EncDecA_119.cc BER_EncDecA_12.cc BER_EncDecA_120.cc BER_EncDecA_121.cc BER_EncDecA_122.cc BER_EncDecA_123.cc BER_EncDecA_124.cc BER_EncDecA_125.cc BER_EncDecA_126.cc BER_EncDecA_127.cc BER_EncDecA_128.cc BER_EncDecA_129.cc BER_EncDecA_13.cc BER_EncDecA_130.cc BER_EncDecA_131.cc BER_EncDecA_132.cc BER_EncDecA_133.cc BER_EncDecA_134.cc BER_EncDecA_135.cc BER_EncDecA_136.cc BER_EncDecA_137.cc BER_EncDecA_138.cc BER_EncDecA_139.cc BER_EncDecA_14.cc BER_EncDecA_140.cc BER_EncDecA_141.cc BER_EncDecA_142.cc BER_EncDecA_143.cc BER_EncDecA_144.cc BER_EncDecA_145.cc BER_EncDecA_146.cc BER_EncDecA_147.cc BER_EncDecA_148.cc BER_EncDecA_149.cc BER_EncDecA_15.cc BER_EncDecA_150.cc BER_EncDecA_151.cc BER_EncDecA_152.cc BER_EncDecA_153.cc BER_EncDecA_154.cc BER_EncDecA_155.cc BER_EncDecA_156.cc BER_EncDecA_157.cc BER_EncDecA_158.cc BER_EncDecA_159.cc BER_EncDecA_16.cc BER_EncDecA_160.cc BER_EncDecA_161.cc BER_EncDecA_162.cc BER_EncDecA_163.cc BER_EncDecA_164.cc BER_EncDecA_165.cc BER_EncDecA_17.cc BER_EncDecA_18.cc BER_EncDecA_19.cc BER_EncDecA_2.cc BER_EncDecA_20.cc BER_EncDecA_21.cc BER_EncDecA_22.cc BER_EncDecA_23.cc BER_EncDecA_24.cc BER_EncDecA_25.cc BER_EncDecA_26.cc BER_EncDecA_27.cc BER_EncDecA_28.cc BER_EncDecA_29.cc BER_EncDecA_3.cc BER_EncDecA_30.cc BER_EncDecA_31.cc BER_EncDecA_32.cc BER_EncDecA_33.cc BER_EncDecA_34.cc BER_EncDecA_35.cc BER_EncDecA_36.cc BER_EncDecA_37.cc BER_EncDecA_38.cc BER_EncDecA_39.cc BER_EncDecA_4.cc BER_EncDecA_40.cc BER_EncDecA_41.cc BER_EncDecA_42.cc BER_EncDecA_43.cc BER_EncDecA_44.cc BER_EncDecA_45.cc BER_EncDecA_46.cc BER_EncDecA_47.cc BER_EncDecA_48.cc BER_EncDecA_49.cc BER_EncDecA_5.cc BER_EncDecA_50.cc BER_EncDecA_51.cc BER_EncDecA_52.cc BER_EncDecA_53.cc BER_EncDecA_54.cc BER_EncDecA_55.cc BER_EncDecA_56.cc BER_EncDecA_57.cc BER_EncDecA_58.cc BER_EncDecA_59.cc BER_EncDecA_6.cc BER_EncDecA_60.cc BER_EncDecA_61.cc BER_EncDecA_62.cc BER_EncDecA_63.cc BER_EncDecA_64.cc BER_EncDecA_65.cc BER_EncDecA_66.cc BER_EncDecA_67.cc BER_EncDecA_68.cc BER_EncDecA_69.cc BER_EncDecA_7.cc BER_EncDecA_70.cc BER_EncDecA_71.cc BER_EncDecA_72.cc BER_EncDecA_73.cc BER_EncDecA_74.cc BER_EncDecA_75.cc BER_EncDecA_76.cc BER_EncDecA_77.cc BER_EncDecA_78.cc BER_EncDecA_79.cc BER_EncDecA_8.cc BER_EncDecA_80.cc BER_EncDecA_81.cc BER_EncDecA_82.cc BER_EncDecA_83.cc BER_EncDecA_84.cc BER_EncDecA_85.cc BER_EncDecA_86.cc BER_EncDecA_87.cc BER_EncDecA_88.cc BER_EncDecA_89.cc BER_EncDecA_9.cc BER_EncDecA_90.cc BER_EncDecA_91.cc BER_EncDecA_92.cc BER_EncDecA_93.cc BER_EncDecA_94.cc BER_EncDecA_95.cc BER_EncDecA_96.cc BER_EncDecA_97.cc BER_EncDecA_98.cc BER_EncDecA_99.cc +GENERATED_HEADERS = BER_EncDec_1.hh BER_EncDec_10.hh BER_EncDec_100.hh BER_EncDec_101.hh BER_EncDec_102.hh BER_EncDec_103.hh BER_EncDec_104.hh BER_EncDec_105.hh BER_EncDec_106.hh BER_EncDec_107.hh BER_EncDec_108.hh BER_EncDec_109.hh BER_EncDec_11.hh BER_EncDec_110.hh BER_EncDec_111.hh BER_EncDec_112.hh BER_EncDec_113.hh BER_EncDec_114.hh BER_EncDec_115.hh BER_EncDec_116.hh BER_EncDec_117.hh BER_EncDec_118.hh BER_EncDec_119.hh BER_EncDec_12.hh BER_EncDec_120.hh BER_EncDec_121.hh BER_EncDec_122.hh BER_EncDec_123.hh BER_EncDec_124.hh BER_EncDec_125.hh BER_EncDec_126.hh BER_EncDec_127.hh BER_EncDec_128.hh BER_EncDec_129.hh BER_EncDec_13.hh BER_EncDec_130.hh BER_EncDec_131.hh BER_EncDec_132.hh BER_EncDec_133.hh BER_EncDec_134.hh BER_EncDec_135.hh BER_EncDec_136.hh BER_EncDec_137.hh BER_EncDec_138.hh BER_EncDec_139.hh BER_EncDec_14.hh BER_EncDec_140.hh BER_EncDec_141.hh BER_EncDec_142.hh BER_EncDec_143.hh BER_EncDec_144.hh BER_EncDec_145.hh BER_EncDec_146.hh BER_EncDec_147.hh BER_EncDec_148.hh BER_EncDec_149.hh BER_EncDec_15.hh BER_EncDec_150.hh BER_EncDec_151.hh BER_EncDec_152.hh BER_EncDec_153.hh BER_EncDec_154.hh BER_EncDec_155.hh BER_EncDec_156.hh BER_EncDec_157.hh BER_EncDec_158.hh BER_EncDec_159.hh BER_EncDec_16.hh BER_EncDec_160.hh BER_EncDec_161.hh BER_EncDec_162.hh BER_EncDec_163.hh BER_EncDec_164.hh BER_EncDec_165.hh BER_EncDec_17.hh BER_EncDec_18.hh BER_EncDec_19.hh BER_EncDec_2.hh BER_EncDec_20.hh BER_EncDec_21.hh BER_EncDec_22.hh BER_EncDec_23.hh BER_EncDec_24.hh BER_EncDec_25.hh BER_EncDec_26.hh BER_EncDec_27.hh BER_EncDec_28.hh BER_EncDec_29.hh BER_EncDec_3.hh BER_EncDec_30.hh BER_EncDec_31.hh BER_EncDec_32.hh BER_EncDec_33.hh BER_EncDec_34.hh BER_EncDec_35.hh BER_EncDec_36.hh BER_EncDec_37.hh BER_EncDec_38.hh BER_EncDec_39.hh BER_EncDec_4.hh BER_EncDec_40.hh BER_EncDec_41.hh BER_EncDec_42.hh BER_EncDec_43.hh BER_EncDec_44.hh BER_EncDec_45.hh BER_EncDec_46.hh BER_EncDec_47.hh BER_EncDec_48.hh BER_EncDec_49.hh BER_EncDec_5.hh BER_EncDec_50.hh BER_EncDec_51.hh BER_EncDec_52.hh BER_EncDec_53.hh BER_EncDec_54.hh BER_EncDec_55.hh BER_EncDec_56.hh BER_EncDec_57.hh BER_EncDec_58.hh BER_EncDec_59.hh BER_EncDec_6.hh BER_EncDec_60.hh BER_EncDec_61.hh BER_EncDec_62.hh BER_EncDec_63.hh BER_EncDec_64.hh BER_EncDec_65.hh BER_EncDec_66.hh BER_EncDec_67.hh BER_EncDec_68.hh BER_EncDec_69.hh BER_EncDec_7.hh BER_EncDec_70.hh BER_EncDec_71.hh BER_EncDec_72.hh BER_EncDec_73.hh BER_EncDec_74.hh BER_EncDec_75.hh BER_EncDec_76.hh BER_EncDec_77.hh BER_EncDec_78.hh BER_EncDec_79.hh BER_EncDec_8.hh BER_EncDec_80.hh BER_EncDec_81.hh BER_EncDec_82.hh BER_EncDec_83.hh BER_EncDec_84.hh BER_EncDec_85.hh BER_EncDec_86.hh BER_EncDec_87.hh BER_EncDec_88.hh BER_EncDec_89.hh BER_EncDec_9.hh BER_EncDec_90.hh BER_EncDec_91.hh BER_EncDec_92.hh BER_EncDec_93.hh BER_EncDec_94.hh BER_EncDec_95.hh BER_EncDec_96.hh BER_EncDec_97.hh BER_EncDec_98.hh BER_EncDec_99.hh BER_EncDecA_1.hh BER_EncDecA_10.hh BER_EncDecA_100.hh BER_EncDecA_101.hh BER_EncDecA_102.hh BER_EncDecA_103.hh BER_EncDecA_104.hh BER_EncDecA_105.hh BER_EncDecA_106.hh BER_EncDecA_107.hh BER_EncDecA_108.hh BER_EncDecA_109.hh BER_EncDecA_11.hh BER_EncDecA_110.hh BER_EncDecA_111.hh BER_EncDecA_112.hh BER_EncDecA_113.hh BER_EncDecA_114.hh BER_EncDecA_115.hh BER_EncDecA_116.hh BER_EncDecA_117.hh BER_EncDecA_118.hh BER_EncDecA_119.hh BER_EncDecA_12.hh BER_EncDecA_120.hh BER_EncDecA_121.hh BER_EncDecA_122.hh BER_EncDecA_123.hh BER_EncDecA_124.hh BER_EncDecA_125.hh BER_EncDecA_126.hh BER_EncDecA_127.hh BER_EncDecA_128.hh BER_EncDecA_129.hh BER_EncDecA_13.hh BER_EncDecA_130.hh BER_EncDecA_131.hh BER_EncDecA_132.hh BER_EncDecA_133.hh BER_EncDecA_134.hh BER_EncDecA_135.hh BER_EncDecA_136.hh BER_EncDecA_137.hh BER_EncDecA_138.hh BER_EncDecA_139.hh BER_EncDecA_14.hh BER_EncDecA_140.hh BER_EncDecA_141.hh BER_EncDecA_142.hh BER_EncDecA_143.hh BER_EncDecA_144.hh BER_EncDecA_145.hh BER_EncDecA_146.hh BER_EncDecA_147.hh BER_EncDecA_148.hh BER_EncDecA_149.hh BER_EncDecA_15.hh BER_EncDecA_150.hh BER_EncDecA_151.hh BER_EncDecA_152.hh BER_EncDecA_153.hh BER_EncDecA_154.hh BER_EncDecA_155.hh BER_EncDecA_156.hh BER_EncDecA_157.hh BER_EncDecA_158.hh BER_EncDecA_159.hh BER_EncDecA_16.hh BER_EncDecA_160.hh BER_EncDecA_161.hh BER_EncDecA_162.hh BER_EncDecA_163.hh BER_EncDecA_164.hh BER_EncDecA_165.hh BER_EncDecA_17.hh BER_EncDecA_18.hh BER_EncDecA_19.hh BER_EncDecA_2.hh BER_EncDecA_20.hh BER_EncDecA_21.hh BER_EncDecA_22.hh BER_EncDecA_23.hh BER_EncDecA_24.hh BER_EncDecA_25.hh BER_EncDecA_26.hh BER_EncDecA_27.hh BER_EncDecA_28.hh BER_EncDecA_29.hh BER_EncDecA_3.hh BER_EncDecA_30.hh BER_EncDecA_31.hh BER_EncDecA_32.hh BER_EncDecA_33.hh BER_EncDecA_34.hh BER_EncDecA_35.hh BER_EncDecA_36.hh BER_EncDecA_37.hh BER_EncDecA_38.hh BER_EncDecA_39.hh BER_EncDecA_4.hh BER_EncDecA_40.hh BER_EncDecA_41.hh BER_EncDecA_42.hh BER_EncDecA_43.hh BER_EncDecA_44.hh BER_EncDecA_45.hh BER_EncDecA_46.hh BER_EncDecA_47.hh BER_EncDecA_48.hh BER_EncDecA_49.hh BER_EncDecA_5.hh BER_EncDecA_50.hh BER_EncDecA_51.hh BER_EncDecA_52.hh BER_EncDecA_53.hh BER_EncDecA_54.hh BER_EncDecA_55.hh BER_EncDecA_56.hh BER_EncDecA_57.hh BER_EncDecA_58.hh BER_EncDecA_59.hh BER_EncDecA_6.hh BER_EncDecA_60.hh BER_EncDecA_61.hh BER_EncDecA_62.hh BER_EncDecA_63.hh BER_EncDecA_64.hh BER_EncDecA_65.hh BER_EncDecA_66.hh BER_EncDecA_67.hh BER_EncDecA_68.hh BER_EncDecA_69.hh BER_EncDecA_7.hh BER_EncDecA_70.hh BER_EncDecA_71.hh BER_EncDecA_72.hh BER_EncDecA_73.hh BER_EncDecA_74.hh BER_EncDecA_75.hh BER_EncDecA_76.hh BER_EncDecA_77.hh BER_EncDecA_78.hh BER_EncDecA_79.hh BER_EncDecA_8.hh BER_EncDecA_80.hh BER_EncDecA_81.hh BER_EncDecA_82.hh BER_EncDecA_83.hh BER_EncDecA_84.hh BER_EncDecA_85.hh BER_EncDecA_86.hh BER_EncDecA_87.hh BER_EncDecA_88.hh BER_EncDecA_89.hh BER_EncDecA_9.hh BER_EncDecA_90.hh BER_EncDecA_91.hh BER_EncDecA_92.hh BER_EncDecA_93.hh BER_EncDecA_94.hh BER_EncDecA_95.hh BER_EncDecA_96.hh BER_EncDecA_97.hh BER_EncDecA_98.hh BER_EncDecA_99.hh # Source & header files of Test Ports and your other modules: USER_SOURCES = USER_HEADERS = # All object files needed for the executable test suite: -OBJECTS = Temp.o TempA.o +OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS) + +GENERATED_OBJECTS = BER_EncDec_1.o BER_EncDec_10.o BER_EncDec_100.o BER_EncDec_101.o BER_EncDec_102.o BER_EncDec_103.o BER_EncDec_104.o BER_EncDec_105.o BER_EncDec_106.o BER_EncDec_107.o BER_EncDec_108.o BER_EncDec_109.o BER_EncDec_11.o BER_EncDec_110.o BER_EncDec_111.o BER_EncDec_112.o BER_EncDec_113.o BER_EncDec_114.o BER_EncDec_115.o BER_EncDec_116.o BER_EncDec_117.o BER_EncDec_118.o BER_EncDec_119.o BER_EncDec_12.o BER_EncDec_120.o BER_EncDec_121.o BER_EncDec_122.o BER_EncDec_123.o BER_EncDec_124.o BER_EncDec_125.o BER_EncDec_126.o BER_EncDec_127.o BER_EncDec_128.o BER_EncDec_129.o BER_EncDec_13.o BER_EncDec_130.o BER_EncDec_131.o BER_EncDec_132.o BER_EncDec_133.o BER_EncDec_134.o BER_EncDec_135.o BER_EncDec_136.o BER_EncDec_137.o BER_EncDec_138.o BER_EncDec_139.o BER_EncDec_14.o BER_EncDec_140.o BER_EncDec_141.o BER_EncDec_142.o BER_EncDec_143.o BER_EncDec_144.o BER_EncDec_145.o BER_EncDec_146.o BER_EncDec_147.o BER_EncDec_148.o BER_EncDec_149.o BER_EncDec_15.o BER_EncDec_150.o BER_EncDec_151.o BER_EncDec_152.o BER_EncDec_153.o BER_EncDec_154.o BER_EncDec_155.o BER_EncDec_156.o BER_EncDec_157.o BER_EncDec_158.o BER_EncDec_159.o BER_EncDec_16.o BER_EncDec_160.o BER_EncDec_161.o BER_EncDec_162.o BER_EncDec_163.o BER_EncDec_164.o BER_EncDec_165.o BER_EncDec_17.o BER_EncDec_18.o BER_EncDec_19.o BER_EncDec_2.o BER_EncDec_20.o BER_EncDec_21.o BER_EncDec_22.o BER_EncDec_23.o BER_EncDec_24.o BER_EncDec_25.o BER_EncDec_26.o BER_EncDec_27.o BER_EncDec_28.o BER_EncDec_29.o BER_EncDec_3.o BER_EncDec_30.o BER_EncDec_31.o BER_EncDec_32.o BER_EncDec_33.o BER_EncDec_34.o BER_EncDec_35.o BER_EncDec_36.o BER_EncDec_37.o BER_EncDec_38.o BER_EncDec_39.o BER_EncDec_4.o BER_EncDec_40.o BER_EncDec_41.o BER_EncDec_42.o BER_EncDec_43.o BER_EncDec_44.o BER_EncDec_45.o BER_EncDec_46.o BER_EncDec_47.o BER_EncDec_48.o BER_EncDec_49.o BER_EncDec_5.o BER_EncDec_50.o BER_EncDec_51.o BER_EncDec_52.o BER_EncDec_53.o BER_EncDec_54.o BER_EncDec_55.o BER_EncDec_56.o BER_EncDec_57.o BER_EncDec_58.o BER_EncDec_59.o BER_EncDec_6.o BER_EncDec_60.o BER_EncDec_61.o BER_EncDec_62.o BER_EncDec_63.o BER_EncDec_64.o BER_EncDec_65.o BER_EncDec_66.o BER_EncDec_67.o BER_EncDec_68.o BER_EncDec_69.o BER_EncDec_7.o BER_EncDec_70.o BER_EncDec_71.o BER_EncDec_72.o BER_EncDec_73.o BER_EncDec_74.o BER_EncDec_75.o BER_EncDec_76.o BER_EncDec_77.o BER_EncDec_78.o BER_EncDec_79.o BER_EncDec_8.o BER_EncDec_80.o BER_EncDec_81.o BER_EncDec_82.o BER_EncDec_83.o BER_EncDec_84.o BER_EncDec_85.o BER_EncDec_86.o BER_EncDec_87.o BER_EncDec_88.o BER_EncDec_89.o BER_EncDec_9.o BER_EncDec_90.o BER_EncDec_91.o BER_EncDec_92.o BER_EncDec_93.o BER_EncDec_94.o BER_EncDec_95.o BER_EncDec_96.o BER_EncDec_97.o BER_EncDec_98.o BER_EncDec_99.o BER_EncDecA_1.o BER_EncDecA_10.o BER_EncDecA_100.o BER_EncDecA_101.o BER_EncDecA_102.o BER_EncDecA_103.o BER_EncDecA_104.o BER_EncDecA_105.o BER_EncDecA_106.o BER_EncDecA_107.o BER_EncDecA_108.o BER_EncDecA_109.o BER_EncDecA_11.o BER_EncDecA_110.o BER_EncDecA_111.o BER_EncDecA_112.o BER_EncDecA_113.o BER_EncDecA_114.o BER_EncDecA_115.o BER_EncDecA_116.o BER_EncDecA_117.o BER_EncDecA_118.o BER_EncDecA_119.o BER_EncDecA_12.o BER_EncDecA_120.o BER_EncDecA_121.o BER_EncDecA_122.o BER_EncDecA_123.o BER_EncDecA_124.o BER_EncDecA_125.o BER_EncDecA_126.o BER_EncDecA_127.o BER_EncDecA_128.o BER_EncDecA_129.o BER_EncDecA_13.o BER_EncDecA_130.o BER_EncDecA_131.o BER_EncDecA_132.o BER_EncDecA_133.o BER_EncDecA_134.o BER_EncDecA_135.o BER_EncDecA_136.o BER_EncDecA_137.o BER_EncDecA_138.o BER_EncDecA_139.o BER_EncDecA_14.o BER_EncDecA_140.o BER_EncDecA_141.o BER_EncDecA_142.o BER_EncDecA_143.o BER_EncDecA_144.o BER_EncDecA_145.o BER_EncDecA_146.o BER_EncDecA_147.o BER_EncDecA_148.o BER_EncDecA_149.o BER_EncDecA_15.o BER_EncDecA_150.o BER_EncDecA_151.o BER_EncDecA_152.o BER_EncDecA_153.o BER_EncDecA_154.o BER_EncDecA_155.o BER_EncDecA_156.o BER_EncDecA_157.o BER_EncDecA_158.o BER_EncDecA_159.o BER_EncDecA_16.o BER_EncDecA_160.o BER_EncDecA_161.o BER_EncDecA_162.o BER_EncDecA_163.o BER_EncDecA_164.o BER_EncDecA_165.o BER_EncDecA_17.o BER_EncDecA_18.o BER_EncDecA_19.o BER_EncDecA_2.o BER_EncDecA_20.o BER_EncDecA_21.o BER_EncDecA_22.o BER_EncDecA_23.o BER_EncDecA_24.o BER_EncDecA_25.o BER_EncDecA_26.o BER_EncDecA_27.o BER_EncDecA_28.o BER_EncDecA_29.o BER_EncDecA_3.o BER_EncDecA_30.o BER_EncDecA_31.o BER_EncDecA_32.o BER_EncDecA_33.o BER_EncDecA_34.o BER_EncDecA_35.o BER_EncDecA_36.o BER_EncDecA_37.o BER_EncDecA_38.o BER_EncDecA_39.o BER_EncDecA_4.o BER_EncDecA_40.o BER_EncDecA_41.o BER_EncDecA_42.o BER_EncDecA_43.o BER_EncDecA_44.o BER_EncDecA_45.o BER_EncDecA_46.o BER_EncDecA_47.o BER_EncDecA_48.o BER_EncDecA_49.o BER_EncDecA_5.o BER_EncDecA_50.o BER_EncDecA_51.o BER_EncDecA_52.o BER_EncDecA_53.o BER_EncDecA_54.o BER_EncDecA_55.o BER_EncDecA_56.o BER_EncDecA_57.o BER_EncDecA_58.o BER_EncDecA_59.o BER_EncDecA_6.o BER_EncDecA_60.o BER_EncDecA_61.o BER_EncDecA_62.o BER_EncDecA_63.o BER_EncDecA_64.o BER_EncDecA_65.o BER_EncDecA_66.o BER_EncDecA_67.o BER_EncDecA_68.o BER_EncDecA_69.o BER_EncDecA_7.o BER_EncDecA_70.o BER_EncDecA_71.o BER_EncDecA_72.o BER_EncDecA_73.o BER_EncDecA_74.o BER_EncDecA_75.o BER_EncDecA_76.o BER_EncDecA_77.o BER_EncDecA_78.o BER_EncDecA_79.o BER_EncDecA_8.o BER_EncDecA_80.o BER_EncDecA_81.o BER_EncDecA_82.o BER_EncDecA_83.o BER_EncDecA_84.o BER_EncDecA_85.o BER_EncDecA_86.o BER_EncDecA_87.o BER_EncDecA_88.o BER_EncDecA_89.o BER_EncDecA_9.o BER_EncDecA_90.o BER_EncDecA_91.o BER_EncDecA_92.o BER_EncDecA_93.o BER_EncDecA_94.o BER_EncDecA_95.o BER_EncDecA_96.o BER_EncDecA_97.o BER_EncDecA_98.o BER_EncDecA_99.o + +USER_OBJECTS = # The name of the executable test suite: -TARGET = Temp +TARGET = BER_EncDec.exe ifdef COVERAGE CPPFLAGS += -fprofile-arcs -ftest-coverage -g diff --git a/function_test/BER_EncDec/Temp.cfg b/function_test/BER_EncDec/Temp.cfg deleted file mode 100644 index 98d84255f813d7c66a25604a26aa125544b92c45..0000000000000000000000000000000000000000 --- a/function_test/BER_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 -[EXECUTE] -Temp diff --git a/function_test/BER_EncDec/run_test b/function_test/BER_EncDec/run_test deleted file mode 100755 index d78444e8566d57900fc2149681ade8cf2203b761..0000000000000000000000000000000000000000 --- a/function_test/BER_EncDec/run_test +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -# Script parameters are coming from ../Makefile. -../Tools/SAtester $* ./BER_EncDec_TD.fast_script - -rm Temp.ttcn -rm TempA.asn diff --git a/function_test/Makefile b/function_test/Makefile index 3c3ce2672b0845e05d741e336b705f65ee9aff69..4de828aecd1fe752bff5ddc34f27ccbec2d53372 100644 --- a/function_test/Makefile +++ b/function_test/Makefile @@ -13,6 +13,7 @@ # Kovacs, Ferenc # Ormandi, Matyas # Raduly, Csaba +# Kristof, Szabados # ############################################################################## # Makefile to run the non-interactive tests @@ -70,16 +71,16 @@ all check run: $(DIRS) .PHONY: $(DIRS) BER_EncDec: - cd $@; ./run_test $(SCRIPTFLAGS) + cd $@; make -j; ./BER_EncDec.exe BER_EncDec.cfg RAW_EncDec: - cd $@; ./run_test $(SCRIPTFLAGS) + cd $@; make -j; ./RAW_EncDec.exe RAW_EncDec.cfg Text_EncDec: - cd $@; if [ ! -f perl ] ; then ln -s `which perl` perl; fi; ./run_test $(SCRIPTFLAGS) + cd $@; make -j; ./TEXT_EncDec.exe TEXT_EncDec.cfg XER_EncDec: - cd $@; ./run_test $(SCRIPTFLAGS) + cd $@; make -j; ./XER_EncDec.exe XER_EncDec.cfg Semantic_Analyser: cd $@; if [ ! -f perl ] ; then ln -s `which perl` perl; fi; ./run_test_all $(SCRIPTFLAGS) diff --git a/function_test/RAW_EncDec/.gitignore b/function_test/RAW_EncDec/.gitignore index 4b8207a38723cf1317533e5f5aa344280c52cf99..078c348573e148af9fc84c259d0693daf36c25a2 100644 --- a/function_test/RAW_EncDec/.gitignore +++ b/function_test/RAW_EncDec/.gitignore @@ -1,10 +1,4 @@ -RAW_EncDec_TD.script_error -Temp -Temp.cc -Temp.hh -Temp.gcda -Temp.gcno -Temp.ttcn compile -core *.o +*.hh +*.cc \ No newline at end of file diff --git a/function_test/RAW_EncDec/Makefile b/function_test/RAW_EncDec/Makefile index 88a34eb53be9341a8add4bc296beeddb6d89750d..aaa7836a825fbbdc682047a8ec95a9195707069a 100644 --- a/function_test/RAW_EncDec/Makefile +++ b/function_test/RAW_EncDec/Makefile @@ -88,24 +88,28 @@ ARCHIVE_DIR = ./backup # # The TTCN-3 modules needed for this project: -TTCN3_MODULES = Temp.ttcn +TTCN3_MODULES = RAW_EncDec_1.ttcn RAW_EncDec_2.ttcn RAW_EncDec_3.ttcn RAW_EncDec_4.ttcn RAW_EncDec_5.ttcn RAW_EncDec_6.ttcn RAW_EncDec_7.ttcn RAW_EncDec_8.ttcn # The ASN.1 modules needed for this project: ASN1_MODULES = # C++ source & header files generated by TTCN-3 & ASN.1 compilers: -GENERATED_SOURCES = Temp.cc -GENERATED_HEADERS = Temp.hh +GENERATED_SOURCES = RAW_EncDec_1.cc RAW_EncDec_2.cc RAW_EncDec_3.cc RAW_EncDec_4.cc RAW_EncDec_5.cc RAW_EncDec_6.cc RAW_EncDec_7.cc RAW_EncDec_8.cc +GENERATED_HEADERS = RAW_EncDec_1.hh RAW_EncDec_2.hh RAW_EncDec_3.hh RAW_EncDec_4.hh RAW_EncDec_5.hh RAW_EncDec_6.hh RAW_EncDec_7.hh RAW_EncDec_8.hh # Source & header files of Test Ports and your other modules: USER_SOURCES = USER_HEADERS = # All object files needed for the executable test suite: -OBJECTS = Temp.o +OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS) + +GENERATED_OBJECTS = RAW_EncDec_1.o RAW_EncDec_2.o RAW_EncDec_3.o RAW_EncDec_4.o RAW_EncDec_5.o RAW_EncDec_6.o RAW_EncDec_7.o RAW_EncDec_8.o + +USER_OBJECTS = # The name of the executable test suite: -TARGET = Temp +TARGET = RAW_EncDec.exe ifdef COVERAGE CPPFLAGS += -fprofile-arcs -ftest-coverage -g diff --git a/function_test/RAW_EncDec/Temp.cfg b/function_test/RAW_EncDec/RAW_EncDec.cfg similarity index 87% rename from function_test/RAW_EncDec/Temp.cfg rename to function_test/RAW_EncDec/RAW_EncDec.cfg index 98d84255f813d7c66a25604a26aa125544b92c45..d5b2221f5a1d9efb2ce50226f2b9cdf9bc9954f4 100644 --- a/function_test/RAW_EncDec/Temp.cfg +++ b/function_test/RAW_EncDec/RAW_EncDec.cfg @@ -17,4 +17,11 @@ Logfile := "Temp.log" FileMask := LOG_ALL ConsoleMask := TTCN_WARNING | TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS [EXECUTE] -Temp +RAW_EncDec_1 +RAW_EncDec_2 +RAW_EncDec_3 +RAW_EncDec_4 +RAW_EncDec_5 +RAW_EncDec_6 +RAW_EncDec_7 +RAW_EncDec_8 \ No newline at end of file diff --git a/function_test/RAW_EncDec/RAW_EncDec_TD.fast_script b/function_test/RAW_EncDec/RAW_EncDec_1.ttcn similarity index 95% rename from function_test/RAW_EncDec/RAW_EncDec_TD.fast_script rename to function_test/RAW_EncDec/RAW_EncDec_1.ttcn index db294f9a1b4d9a80b9c7f717df15b30099f77e19..642cf904cc28eb90f9d57f3a8fa89d74252f7f14 100644 --- a/function_test/RAW_EncDec/RAW_EncDec_TD.fast_script +++ b/function_test/RAW_EncDec/RAW_EncDec_1.ttcn @@ -1,94 +1,17 @@ -.****************************************************************************** -.* 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 -.* Kovacs, Ferenc -.* Szabados, Kristof -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.7/152 91-CRL 113 200/5 Uen -:rev.A -:date.2018-04-05 -.* -:prep.ETH/XZR Jeno Balasko (+36 1 437 7760) -:appr.ETH/XZ (Elemer Lelik) -:checked.ETHGRY -.* -:title.Test description - RAW 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 RAW coder function. -The original test cases can be found in the RAW_EncDec_TD.script file. -The reason for the unification was to get a really fast version of the tests. - -:exmp. - -:p.:us.Revision Information:eus. - -:xmp nokeep. -:us.History:eus. - -REV DATE PREPARED CHANGE -=== ========== ======== ====== -A 2003-10-31 ETHCSIR New document -B 2005-11-09 EKRISZA New tests and updates of the original tests. -C 2007-03-06 EDMDELI Implicit message encoding -D 2007-06-20 EDMDELI New testcase for implicit message encoding -E 2008-10-01 EFERKOV Big integers -F 2010-01-18 EKRISZA Updated for TITAN R8C -H 2010-08-13 EKRISZA Updated for TITAN R8E -J 2011-05-26 EKRISZA Added new test -K 2010-01-18 EKRISZA Updated for TITAN R8H -A 2011-12-12 EKRISZA Updated for release -PB1 2012-01-31 ETHBAAT Based on Test Description RAW coder, 7/152 91-CRL 113 200 Uen, file: RAW_EncDec_TD.script Testcases expecting "passed" have been merged -B 2013-01-17 EKRIPND Updated for release -PC1 2013-02-01 ETHBAAT Testcase for TR HQ49956 fixing added - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -:p.:us.Software Tools:eus. -:xmp tab=2 nokeep. - - SAtester - -:exmp. -:np. -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Testing FIELDLENGTH Attribute -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. passing tests -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- passing tests> - -<STATIC> +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_1 { type component TempComp {} -<TTCN_TC:PURE_EXEC> type integer RAW_PDU_1 with { encode "RAW"; variant "FIELDLENGTH(16)"}; @@ -600,7 +523,9 @@ testcase TC_Default_FIELDLENGTH_for_enumerated() runs on TempComp { -type bitstring RAW_PDU_31 length (4); +type bitstring RAW_PDU_31 length (4) +with { variant "" ; + encode "RAW"}; external function enc_RAW_PDU_31(in RAW_PDU_31 pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } external function dec_RAW_PDU_31(in octetstring stream) return RAW_PDU_31 with { extension "prototype(convert) decode(RAW)" } @@ -614,7 +539,9 @@ testcase TC_FIELDLENGTH_with_length_restriction_bitstring() runs on TempComp { -type hexstring RAW_PDU_32 length (0); +type hexstring RAW_PDU_32 length (0) +with { variant "" ; + encode "RAW"}; external function enc_RAW_PDU_32(in RAW_PDU_32 pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } external function dec_RAW_PDU_32(in octetstring stream) return RAW_PDU_32 with { extension "prototype(convert) decode(RAW)" } @@ -628,7 +555,9 @@ testcase TC_FIELDLENGTH_with_length_restriction_hexstring() runs on TempComp { -type octetstring RAW_PDU_33 length (2 .. 2); +type octetstring RAW_PDU_33 length (2 .. 2) +with { variant "" ; + encode "RAW"}; external function enc_RAW_PDU_33(in RAW_PDU_33 pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } external function dec_RAW_PDU_33(in octetstring stream) return RAW_PDU_33 with { extension "prototype(convert) decode(RAW)" } @@ -7174,357 +7103,4 @@ control { execute(TC_Multiple_optional_fields()); //FOA bug } -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(1) for longer integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(1) for longer integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(1)"}; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) for longer bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) for longer bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(4)"}; - -const RAW_PDU i := '11111111'B -const octetstring o := 'FF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(2) for hexstring longer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(2) for hexstring longer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with {encode "RAW"; - variant "FIELDLENGTH(2)"}; - -const RAW_PDU i := '1234'H -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing COMP Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. COMP ( nosign ) for negative integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- COMP ( nosign ) for negative integer > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( nosign ) " - }; - -const RAW_PDU i := -2 -const octetstring o := '02'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. HO79315: Segfault on unbound octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- HO79315: Segfault on unbound octetstring> - -<STATIC> - -type octetstring raw_pdu_octetstring with { encode "RAW"; variant "FIELDLENGTH(1)"}; - -external function enc_raw_pdu_octetstring(in raw_pdu_octetstring pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_raw_pdu_octetstring(in octetstring stream) return raw_pdu_octetstring with { extension "prototype(convert) decode(RAW)" } - -<TTCN_TC:EXEC> - - var raw_pdu_octetstring i; - const octetstring o := '0F'O; - if ((enc_raw_pdu_octetstring(i) == o)and(dec_raw_pdu_octetstring(o) == i)) {setverdict(pass);} - else {setverdict(fail,"enc_raw_pdu_octetstring(i)= ", enc_raw_pdu_octetstring(i), "; dec_raw_pdu_octetstring(o)= ", dec_raw_pdu_octetstring(o));} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. HQ49956: RAW coder: wrong encoding when msb fieldorder. -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC-HQ49956: RAW coder: wrong encoding when msb fieldorder.> - -<STATIC> - - type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - - external function enc_PDU(in PDU pl_pdu) return octetstring - with { - extension "prototype(convert)" - extension "encode(RAW)" - }; - external function dec_PDU(in octetstring pl_octetstring) return PDU - with { - extension "prototype(convert)" - extension "decode(RAW)" - } - - type hexstring HEX1 length(1) with {encode "RAW";variant "FIELDLENGTH(1)"}; - type hexstring HEX5 length(5) with {encode "RAW";variant "FIELDLENGTH(5)"}; - type octetstring OCT1 length(1) with {encode "RAW";variant "FIELDLENGTH(1)"}; - - type record My_Type{ - OCT1 id, - HEX1 spare, - HEX5 hex, - octetstring o - } with { - encode "RAW"; - variant(spare,hex) "FIELDORDER(msb)"; - } - - type record PDU { - OCT1 msg_type, - U u - } with { - encode "RAW"; - variant (u) "CROSSTAG(h1, msg_type = '01'O; - h5, msg_type = '02'O; - my_type, msg_type = '03'O; - unknown, OTHERWISE;)"; - } - - type union U { - HEX1 h1, - HEX5 h5, - My_Type my_type, - octetstring unknown - - } with {encode "RAW";} - - - -testcase TC_02() runs on Test_CT{ - var PDU vl_pdu := { - msg_type := '03'O, - u := { - my_type := { - id := '01'O, - spare := 'F'H, - hex := 'ABCDE'H, - o := '123456'O - } - } - } - - var octetstring vl_encoded := enc_PDU(vl_pdu); - var PDU vl_decoded := dec_PDU(vl_encoded); - log("Encoded pdu:",vl_encoded); - if(vl_pdu == vl_decoded){ - setverdict(pass); - } else { - setverdict(fail); - log(match(vl_pdu, vl_decoded)); - } -} - -control{ - execute(TC_02()); -} - -<RESULT> - -Overall verdict: pass - -<END_TC> - - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Bug 492231: RAW coder: incorrect (int) conversion in generated code. -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC-Bug 492231: RAW coder: incorrect (int) conversion in generated code.> - -<STATIC> - - type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - - external function enc_U(in U pl_pdu) return octetstring - with { - extension "prototype(convert)" - extension "encode(RAW)" - }; - external function dec_U(in octetstring pl_octetstring) return U - with { - extension "prototype(convert)" - extension "decode(RAW)" - } - - type octetstring OCT2 length(2); - - type record R1 { - integer f1, - octetstring f2, - integer f3 - } with { - encode "RAW" - variant (f1) "FIELDLENGTH(64)" - variant (f1) "LENGTHTO(f2)" - } - - type union U { - R1 u1, - octetstring u2 length(8) - } with { - encode "RAW" - variant "" - } - -testcase TC_01() runs on Test_CT{ - var U pl_u, pl_u_result; - pl_u.u2 := 'FFFFFFFFFFFFFFFF'O; - var octetstring os := enc_U(pl_u); - pl_u_result := dec_U(os); - if (pl_u != pl_u_result) { - setverdict(fail); - } - setverdict(pass); -} - -control{ - execute(TC_01()); } - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h1.REFERENCES -.*---------------------------------------------------------------------* -:nl. Requirement specification(s): -:nl.------------------------------- -:list. -:li. 8/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's encoder/decoder functions -:elist. - -:etext. diff --git a/function_test/RAW_EncDec/RAW_EncDec_2.ttcn b/function_test/RAW_EncDec/RAW_EncDec_2.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1aa9c3c9852a0d4dcb7e6925230efada78072681 --- /dev/null +++ b/function_test/RAW_EncDec/RAW_EncDec_2.ttcn @@ -0,0 +1,43 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_2 { + +external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } +external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } + +type integer RAW_PDU +with { encode "RAW"; variant "FIELDLENGTH(1)"}; + +const RAW_PDU i := 15 +const octetstring o := '0F'O + + +type component TempComp {} +testcase TC() runs on TempComp { + + +@try { + if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} + else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*While RAW-encoding type '@RAW_EncDec_2.RAW_PDU': There are insufficient bits to encode '@RAW_EncDec_2.RAW_PDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/RAW_EncDec/RAW_EncDec_3.ttcn b/function_test/RAW_EncDec/RAW_EncDec_3.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4495e50cd0e8af1cf96b1b50c052cf977af8a4aa --- /dev/null +++ b/function_test/RAW_EncDec/RAW_EncDec_3.ttcn @@ -0,0 +1,43 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_3 { + +external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } +external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } + +type bitstring RAW_PDU +with { encode "RAW"; variant "FIELDLENGTH(4)"}; + +const RAW_PDU i := '11111111'B +const octetstring o := 'FF'O + + +type component TempComp {} +testcase TC() runs on TempComp { + +@try { +if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} + else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*While RAW-encoding type '@RAW_EncDec_3.RAW_PDU': There is no sufficient bits to encode '@RAW_EncDec_3.RAW_PDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/RAW_EncDec/RAW_EncDec_4.ttcn b/function_test/RAW_EncDec/RAW_EncDec_4.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..add8a57d5166fa2a70680a23c069fd55b0924324 --- /dev/null +++ b/function_test/RAW_EncDec/RAW_EncDec_4.ttcn @@ -0,0 +1,43 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_4 { + +external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } +external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } + +type hexstring RAW_PDU +with {encode "RAW"; + variant "FIELDLENGTH(2)"}; + +const RAW_PDU i := '1234'H +const octetstring o := '1234'O + + +type component TempComp {} +testcase TC() runs on TempComp { + +@try { + if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} + else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*While RAW-encoding type '@RAW_EncDec_4.RAW_PDU': There is no sufficient bits to encode '@RAW_EncDec_4.RAW_PDU'*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/RAW_EncDec/RAW_EncDec_5.ttcn b/function_test/RAW_EncDec/RAW_EncDec_5.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3c4e3c3023123fb2005c2ecdb19a8ac73a606f00 --- /dev/null +++ b/function_test/RAW_EncDec/RAW_EncDec_5.ttcn @@ -0,0 +1,45 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_5 { + +external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } +external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } + +type integer RAW_PDU +with { encode "RAW"; + variant "FIELDLENGTH(8)" ; + variant "COMP( nosign ) " + }; + +const RAW_PDU i := -2 +const octetstring o := '02'O + + +type component TempComp {} +testcase TC() runs on TempComp { + +@try { + if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} + else {setverdict(fail);} +} @catch (msg) { + var template charstring msg_exp := pattern "*While RAW-encoding type '@RAW_EncDec_5.RAW_PDU': Unsigned encoding of a negative number: @RAW_EncDec_5.RAW_PDU*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} +} + +control { +execute (TC()) +} +} diff --git a/function_test/RAW_EncDec/RAW_EncDec_6.ttcn b/function_test/RAW_EncDec/RAW_EncDec_6.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b57f03528c0658645db414132e1f1ccc25137f2a --- /dev/null +++ b/function_test/RAW_EncDec/RAW_EncDec_6.ttcn @@ -0,0 +1,41 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_6 { + +type octetstring raw_pdu_octetstring with { encode "RAW"; variant "FIELDLENGTH(1)"}; + +external function enc_raw_pdu_octetstring(in raw_pdu_octetstring pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } +external function dec_raw_pdu_octetstring(in octetstring stream) return raw_pdu_octetstring with { extension "prototype(convert) decode(RAW)" } + + +type component TempComp {} +testcase TC() runs on TempComp { + + var raw_pdu_octetstring i; + const octetstring o := '0F'O; + @try { + if ((enc_raw_pdu_octetstring(i) == o)and(dec_raw_pdu_octetstring(o) == i)) {setverdict(pass);} + else {setverdict(fail,"enc_raw_pdu_octetstring(i)= ", enc_raw_pdu_octetstring(i), "; dec_raw_pdu_octetstring(o)= ", dec_raw_pdu_octetstring(o));} + } @catch (msg) { + var template charstring msg_exp := pattern "*While RAW-encoding type '@RAW_EncDec_6.raw_pdu_octetstring': Encoding an unbound value.*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } + } + +} + +control { +execute (TC()) +} +} diff --git a/function_test/RAW_EncDec/RAW_EncDec_7.ttcn b/function_test/RAW_EncDec/RAW_EncDec_7.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b208225d6676329404b718d7543e3cc1f3428d60 --- /dev/null +++ b/function_test/RAW_EncDec/RAW_EncDec_7.ttcn @@ -0,0 +1,90 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_7 { + + type component Test_CT{}; + + + external function enc_PDU(in PDU pl_pdu) return octetstring + with { + extension "prototype(convert)" + extension "encode(RAW)" + }; + external function dec_PDU(in octetstring pl_octetstring) return PDU + with { + extension "prototype(convert)" + extension "decode(RAW)" + } + + type hexstring HEX1 length(1) with {encode "RAW";variant "FIELDLENGTH(1)"}; + type hexstring HEX5 length(5) with {encode "RAW";variant "FIELDLENGTH(5)"}; + type octetstring OCT1 length(1) with {encode "RAW";variant "FIELDLENGTH(1)"}; + + type record My_Type{ + OCT1 id, + HEX1 spare, + HEX5 hex, + octetstring o + } with { + encode "RAW"; + variant(spare,hex) "FIELDORDER(msb)"; + } + + type record PDU { + OCT1 msg_type, + U u + } with { + encode "RAW"; + variant (u) "CROSSTAG(h1, msg_type = '01'O; + h5, msg_type = '02'O; + my_type, msg_type = '03'O; + unknown, OTHERWISE;)"; + } + + type union U { + HEX1 h1, + HEX5 h5, + My_Type my_type, + octetstring unknown + + } with {encode "RAW";} + + + +testcase TC_02() runs on Test_CT{ + var PDU vl_pdu := { + msg_type := '03'O, + u := { + my_type := { + id := '01'O, + spare := 'F'H, + hex := 'ABCDE'H, + o := '123456'O + } + } + } + + var octetstring vl_encoded := enc_PDU(vl_pdu); + var PDU vl_decoded := dec_PDU(vl_encoded); + log("Encoded pdu:",vl_encoded); + if(vl_pdu == vl_decoded){ + setverdict(pass); + } else { + setverdict(fail); + log(match(vl_pdu, vl_decoded)); + } +} + +control{ + execute(TC_02()); +} + +} diff --git a/function_test/RAW_EncDec/RAW_EncDec_8.ttcn b/function_test/RAW_EncDec/RAW_EncDec_8.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7dbc82a9f0da3fba824de3652fdd6cc70eff3d9f --- /dev/null +++ b/function_test/RAW_EncDec/RAW_EncDec_8.ttcn @@ -0,0 +1,62 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module RAW_EncDec_8 { + + type component Test_CT{}; + + + external function enc_U(in U pl_pdu) return octetstring + with { + extension "prototype(convert)" + extension "encode(RAW)" + }; + external function dec_U(in octetstring pl_octetstring) return U + with { + extension "prototype(convert)" + extension "decode(RAW)" + } + + type octetstring OCT2 length(2); + + type record R1 { + integer f1, + octetstring f2, + integer f3 + } with { + encode "RAW" + variant (f1) "FIELDLENGTH(64)" + variant (f1) "LENGTHTO(f2)" + } + + type union U { + R1 u1, + octetstring u2 length(8) + } with { + encode "RAW" + variant "" + } + +testcase TC_01() runs on Test_CT{ + var U pl_u, pl_u_result; + pl_u.u2 := 'FFFFFFFFFFFFFFFF'O; + var octetstring os := enc_U(pl_u); + pl_u_result := dec_U(os); + if (pl_u != pl_u_result) { + setverdict(fail); + } + setverdict(pass); +} + +control{ + execute(TC_01()); +} + +} diff --git a/function_test/RAW_EncDec/RAW_EncDec_TD.script b/function_test/RAW_EncDec/RAW_EncDec_TD.script deleted file mode 100644 index da9358fa8f820619bb39acf4e181e5d8f45efe35..0000000000000000000000000000000000000000 --- a/function_test/RAW_EncDec/RAW_EncDec_TD.script +++ /dev/null @@ -1,13684 +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 -.* Delic, Adam -.* Hanko, Matyas -.* Kovacs, Ferenc -.* Pandi, Krisztian -.* Raduly, Csaba -.* Szabados, Kristof -.* Szabo, Janos Zoltan – initial implementation -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.7/152 91-CRL 113 200/3 Uen -:rev.A -:date.2013-01-27 -.* -:prep.ETH/XZR Krisztian Pandi -:appr.ETH/XZ (Gyula Koos) -:checked.ETHGRY -.* -:title.Test description - RAW coder -:contents level=3. -.*---------------------------------------------------------------------* -:h1.PREREQUISITES AND PREPARATIONS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Scope of the Test Object -.*---------------------------------------------------------------------* -:xmp tab=1 nokeep. - -This file is obsolate, don't modify, improve it anymore! - -This TD contains test cases related to TTCN3 Executor's RAW coder function. -DON'T YOU DARE TO WRITE AN INSPECTION RECORD ABOUT THIS FILE. - -:exmp. - -:p.:us.Revision Information:eus. - -:xmp nokeep. -:us.History:eus. - -REV DATE PREPARED CHANGE -=== ========== ======== ====== -A 2003-10-31 ETHCSIR New document -B 2005-11-09 EKRISZA New tests and updates of the original tests. -C 2007-03-06 EDMDELI Implicit message encoding -D 2007-06-20 EDMDELI New testcase for implicit message encoding -E 2008-10-01 EFERKOV Big integers -F 2010-01-18 EKRISZA Updated for TITAN R8C -H 2010-08-13 EKRISZA Updated for TITAN R8E -J 2011-05-26 EKRISZA Added new test -K 2010-01-18 EKRISZA Updated for TITAN R8H -A 2011-12-12 EKRISZA Updated for release -A 2012-06-27 EFERKOV Updated for release -A 2013-01-17 EKRIPND Updated for release -:exmp. - -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -:p.:us.Software Tools:eus. -:xmp tab=2 nokeep. - - SAtester - -:exmp. -:np. -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Testing FIELDLENGTH Attribute -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(16) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(16) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(16)"}; - -const RAW_PDU i := 255 -const octetstring o := 'FF00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(8) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(8) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(8)"}; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(4)"}; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(1) for longer integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(1) for longer integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(1)"}; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(16) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(16) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(16)"}; - -const RAW_PDU i := 4660 -const octetstring o := '3412'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(32) for integer 1 bit long -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(32) for integer 1 bit long> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(32)"}; - -const RAW_PDU i := 1 -const octetstring o := '01000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Default FIELDLENGTH for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Default FIELDLENGTH for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant ""}; - -const RAW_PDU i := 255 -const octetstring o := 'FF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(8) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(8) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(8)"}; - -const RAW_PDU i := '11110000'B -const octetstring o := 'F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(8) for bitstring 4 bits long -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(8) for bitstring 4 bits long> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(8)"}; - -const RAW_PDU i := '1111'B -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == '0000'B & i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(4)"}; - -const RAW_PDU i := '1111'B -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) for longer bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) for longer bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(4)"}; - -const RAW_PDU i := '11111111'B -const octetstring o := 'FF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(16) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(16) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(16)"}; - -const RAW_PDU i := '1111000001110000'B -const octetstring o := '70F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(24) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(24) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(24)"}; - -const RAW_PDU i := '1111000001110000'B -const octetstring o := '70F000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) =='00000000'B & i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(0) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(0) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(0)"}; - -const RAW_PDU i := '1111000001110000'B -const octetstring o := '70F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Default FIELDLENGTH for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Default FIELDLENGTH for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant ""}; - -const RAW_PDU i := '1111000001110000'B -const octetstring o := '70F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(32) for bitstring 4 bits long -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(32) for bitstring 4 bits long> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(32)"}; - -const RAW_PDU i := '1111'B -const octetstring o := '0F000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == '0000000000000000000000000000'B & i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(1) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(1) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(1)"}; - -const RAW_PDU i := '0F'O -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(2) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(2) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; variant "FIELDLENGTH(2)"}; - -const RAW_PDU i := '1234'O -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(2) and BYTEORDER (first) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(2) and BYTEORDER (first) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { variant "FIELDLENGTH(2)"; - variant "BYTEORDER (first)"; - encode "RAW" - }; - -const RAW_PDU i := '1234'O -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(2) and BYTEORDER (last) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(2) and BYTEORDER (last) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(2)"; - variant "BYTEORDER (last)" - }; - -const RAW_PDU i := '1234'O -const octetstring o := '3412'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) and BYTEORDER (first) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) and BYTEORDER (first) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(4)"; - variant "BYTEORDER (first)" - }; - -const RAW_PDU i := '12345678'O -const octetstring o := '12345678'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) for octetstring 3 octets long -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) for octetstring 3 octets long> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(4)"; - variant "BYTEORDER (first)" - }; - -const RAW_PDU i := '123456'O -const octetstring o := '12345600'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) == i & '00'O))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(5) for octetstring 2 octets long -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(5) for octetstring 2 octets long> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(5)" - }; - -const RAW_PDU i := '1234'O -const octetstring o := '1234000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i & '000000'O )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) and BYTEORDER (last) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) and BYTEORDER (last) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(4)"; - variant "BYTEORDER (last)" - }; - -const RAW_PDU i := '12345678'O -const octetstring o := '78563412'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) and BYTEORDER (last) for octetstring 3 octets long -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) and BYTEORDER (last) for octetstring 3 octets long> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(4)"; - variant "BYTEORDER (last)" - }; - -const RAW_PDU i := '123456'O -const octetstring o := '00563412'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) == i & '00'O))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Default FIELDLENGTH for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Default FIELDLENGTH for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant ""}; - -const RAW_PDU i := '123456'O -const octetstring o := '123456'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(0) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(0) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with {encode "RAW"; - variant "FIELDLENGTH(0)" - }; - -const RAW_PDU i := '1234'O -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(2) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(2) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(2)"}; - -const RAW_PDU i := '0F'H -const octetstring o := 'F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(4) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(4) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with {encode "RAW"; - variant "FIELDLENGTH(4)"}; - -const RAW_PDU i := '1234'H -const octetstring o := '2143'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(8) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(8) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)"}; - -const RAW_PDU i := '1234'H -const octetstring o := '21430000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) == i & '0000'H ))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(2) for hexstring longer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(2) for hexstring longer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with {encode "RAW"; - variant "FIELDLENGTH(2)"}; - -const RAW_PDU i := '1234'H -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Default FIELDLENGTH for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Default FIELDLENGTH for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; - variant ""}; - -const RAW_PDU i := '12345670'H -const octetstring o := '21436507'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(0) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(0) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(0)"}; - -const RAW_PDU i := '123456'H -const octetstring o := '214365'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(12) for hexstring 2 hex long -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(12) for hexstring 2 hex long> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(12)"}; - -const RAW_PDU i := '12'H -const octetstring o := '210000000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) == i & '0000000000'H ))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH (4) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH (4) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { variant "FIELDLENGTH(4)" ; - encode "RAW"}; - -const RAW_PDU i := first -const octetstring o := '01'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH(32) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH(32) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { variant "FIELDLENGTH(32)" - encode "RAW";}; - -const RAW_PDU i := first -const octetstring o := '01000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Default FIELDLENGTH for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Default FIELDLENGTH for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { variant "" - encode "RAW";}; - -const RAW_PDU i := tenth -const octetstring o := '0A'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction - bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type bitstring RAW_PDU length (4); - -const octetstring o := '0F'O -const RAW_PDU i := '1111'B - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction - hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type hexstring RAW_PDU length (0); - -const octetstring o := ''O -const RAW_PDU i := ''H - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction - octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type octetstring RAW_PDU length (2 .. 2); - -const octetstring o := '1122'O -const RAW_PDU i := '1122'O - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction - record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - - -type bitstring btype length (4) -type hexstring htype length (5) -type octetstring otype length (2 .. 2) - -type record RAW_PDU {btype b, htype h, otype o} -with {encode "RAW"; variant ""}; - -const octetstring o := '1932541122'O -const RAW_PDU i := {'1001'B,'12345'H, '1122'O} - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction - record of -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction record of> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type bitstring btype length (12 .. 12) - -type record length (2 .. 2) of btype RAW_PDU -with {encode "RAW"; variant ""}; - -const RAW_PDU i := {'000011111111'B, '111100001111'B} -const octetstring o := 'FFF0F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction - set -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction set> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - - -type bitstring btype length (1) -type hexstring htype length (4) -type octetstring otype length (2 .. 2) - -type set RAW_PDU {htype h, otype o, btype b} -with {encode "RAW"; variant ""}; - -const octetstring o := '2143112201'O -const RAW_PDU i := {h := '1234'H, o := '1122'O, b := '1'B} - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction - set of -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction set of> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type bitstring btype length (12 .. 12) - -type set length (2 .. 2) of btype RAW_PDU -with {encode "RAW"; variant ""}; - -const RAW_PDU i := {'000011111111'B, '111100001111'B} -const octetstring o := 'FFF0F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction and ALIGN - bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction and ALIGN - bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type bitstring RAW_PDU length (9 .. 9) -with {encode "RAW"; variant "ALIGN(left)"} - - -const RAW_PDU i := '111100001'B -const octetstring o := 'E101'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((dec_RAW_PDU(o) == i )) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction and ALIGN - hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction and ALIGN - hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type hexstring RAW_PDU length (10 .. 10) -with {encode "RAW"; variant "ALIGN(right), BITORDERINOCTET(lsb)"} - - -const RAW_PDU i := '0000012345'H -const octetstring o := '0000103254000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((dec_RAW_PDU(o) == i )) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. FIELDLENGTH with length restriction and ALIGN - octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- FIELDLENGTH with length restriction and ALIGN - octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type octetstring RAW_PDU length (8 .. 8) -with {encode "RAW"; variant "ALIGN(left)"} - - -const RAW_PDU i := '0102030400000000'O -const octetstring o := '010203040000000000000000000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((dec_RAW_PDU(o) == i )) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing BYTEORDER Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) for integer 0 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) for integer 0> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "BYTEORDER (first)" }; - -const RAW_PDU i := 0 -const octetstring o := '00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "BYTEORDER (first)" }; - -const RAW_PDU i := 1 -const octetstring o := '01'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "BYTEORDER (first)" }; - -const RAW_PDU i := 18 -const octetstring o := '12'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) and FIELDLENGTH (8) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) and FIELDLENGTH (8) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW" ; - variant "FIELDLENGTH (8)" ; - variant "BYTEORDER (first)" }; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) and FIELDLENGTH(16)for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) and FIELDLENGTH(16)for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW" ; - variant "FIELDLENGTH(16)" ; - variant "BYTEORDER (first)" }; - -const RAW_PDU i := 15 -const octetstring o := '0F00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) for integer 0 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) for integer 0> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "BYTEORDER (last)" }; - -const RAW_PDU i := 0 -const octetstring o := '00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "BYTEORDER (last)" }; - -const RAW_PDU i := 1 -const octetstring o := '01'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER (last) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER (last) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; variant "BYTEORDER (last)" }; - -const RAW_PDU i := 18 -const octetstring o := '12'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) and FIELDLENGTH (8) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) and FIELDLENGTH (8) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH (8)" ; - variant "BYTEORDER (last)" }; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) and FIELDLENGTH(16) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) and FIELDLENGTH(16) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BYTEORDER (last)" }; - -const RAW_PDU i := 15 -const octetstring o := '000F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BYTEORDER (first)" }; - -const RAW_PDU i := '0000000100000010'B -const octetstring o := '0201'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BYTEORDER (last)" }; - -const RAW_PDU i := '0000000100000010'B -const octetstring o := '0102'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "BYTEORDER (first)"}; - -const RAW_PDU i := '1234'O -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "BYTEORDER (last)"}; - -const RAW_PDU i := '1234'O -const octetstring o := '3412'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BYTEORDER (first) "}; - -const RAW_PDU i := first -const octetstring o := '0100'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BYTEORDER (last) "}; - -const RAW_PDU i := first -const octetstring o := '0001'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(first) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(first) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "BYTEORDER(first)"}; - -const RAW_PDU i := '1234567890'H -const octetstring o := '2143658709'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BYTEORDER(last) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BYTEORDER(last) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "BYTEORDER(last)"}; - -const RAW_PDU i := '1234567890'H -const octetstring o := '0987654321'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing BITORDERINFIELD Attribute -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINFIELD(lsb)"}; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINFIELD(msb)"}; - -const RAW_PDU i := 15 -const octetstring o := 'F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINFIELD(lsb)"}; - -const RAW_PDU i := 4660 -const octetstring o := '3412'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINFIELD(msb)"}; - -const RAW_PDU i := 4660 -const octetstring o := '482C'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(1)" ; - variant "BITORDERINFIELD(lsb)"}; - -const RAW_PDU i := '0F'O -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(1)" ; - variant "BITORDERINFIELD(msb)"}; - -const RAW_PDU i := '0F'O -const octetstring o := 'F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(2)" ; - variant "BITORDERINFIELD(lsb)"}; - -const RAW_PDU i := '1234'O -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(2)" ; - variant "BITORDERINFIELD(msb)"}; - -const RAW_PDU i := '1234'O -const octetstring o := '2C48'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINFIELD(lsb)"}; - -const RAW_PDU i := '00000011'B -const octetstring o := '03'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINFIELD(msb)"}; - -const RAW_PDU i := '00000011'B -const octetstring o := 'C0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINFIELD(lsb)"}; - -const RAW_PDU i := '0001111100110001'B -const octetstring o := '311F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINFIELD(msb)"}; - -const RAW_PDU i := '0001111100110001'B -const octetstring o := 'F88C'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { encode "RAW"; - variant "FIELDLENGTH(4)" ; - variant "BITORDERINFIELD (lsb) "}; - -const RAW_PDU i := first -const octetstring o := '01'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINFIELD (msb) "}; - -const RAW_PDU i := first -const octetstring o := '80'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(lsb) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(lsb) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "BITORDERINFIELD(lsb)"}; - -const RAW_PDU i := '1234'H -const octetstring o := '2143'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINFIELD(msb) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINFIELD(msb) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "BITORDERINFIELD(msb)"}; - -const RAW_PDU i := '1234'H -const octetstring o := 'C284'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing BITORDERINOCTET Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINOCTET(lsb)"}; - -const RAW_PDU i := 15 -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET (msb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET (msb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINOCTET(msb)"}; - -const RAW_PDU i := 15 -const octetstring o := 'F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINOCTET(lsb)"}; - -const RAW_PDU i := 4660 -const octetstring o := '3412'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(msb) for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(msb) for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINOCTET(msb)" - }; - -const RAW_PDU i := 4660 -const octetstring o := '2C48'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(1)" ; - variant "BITORDERINOCTET(lsb)" - }; - -const RAW_PDU i := '0F'O -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(msb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(msb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(1)" ; - variant "BITORDERINOCTET(msb)" - }; - -const RAW_PDU i := '0F'O -const octetstring o := 'F0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with {encode "RAW"; - variant "FIELDLENGTH(2)" ; - variant "BITORDERINOCTET(lsb)" - }; - -const RAW_PDU i := '1234'O -const octetstring o := '1234'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(msb) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(msb) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(2)" ; - variant "BITORDERINOCTET(msb)" - }; - -const RAW_PDU i := '1234'O -const octetstring o := '482C'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINOCTET(lsb)" - }; - -const RAW_PDU i := '00000011'B -const octetstring o := '03'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(msb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(msb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINOCTET(msb)" - }; - -const RAW_PDU i := '00000011'B -const octetstring o := 'C0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINOCTET(lsb)" - }; - -const RAW_PDU i := '0001111100110001'B -const octetstring o := '311F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(msb) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(msb) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)" ; - variant "BITORDERINOCTET(msb)" - }; - -const RAW_PDU i := '0001111100110001'B -const octetstring o := '8CF8'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { encode "RAW"; - variant "FIELDLENGTH(4)" ; - variant "BITORDERINOCTET (lsb) " - }; - -const RAW_PDU i := first -const octetstring o := '01'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(msb) for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(msb) for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type enumerated RAW_PDU - { zero, first, second, third, fourth, fifth, sixth , seventh, eight, nineth, - tenth } -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "BITORDERINOCTET (msb) " - }; - -const RAW_PDU i := first -const octetstring o := '80'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i )) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(lsb) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(lsb) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "BITORDERINOCTET(lsb)"}; - -const RAW_PDU i := '1234'H -const octetstring o := '2143'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. BITORDERINOCTET(msb) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- BITORDERINOCTET(msb) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "BITORDERINOCTET(msb)"}; - -const RAW_PDU i := '1234'H -const octetstring o := '84C2'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Testing COMP Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. COMP( nosign ) for positive integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- COMP( nosign ) for positive integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( nosign ) " - }; - -const RAW_PDU i := 2 -const octetstring o := '02'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. COMP ( nosign ) for negative integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- COMP ( nosign ) for negative integer > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( nosign ) " - }; - -const RAW_PDU i := -2 -const octetstring o := '02'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. COMP( signbit ) for positive integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- COMP( signbit ) for positive integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( signbit ) " - }; - -const RAW_PDU i := 2 -const octetstring o := '02'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. COMP( signbit ) for negative integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- COMP( signbit ) for negative integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( signbit ) " - }; - -const RAW_PDU i := -2 -const octetstring o := '82'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. COMP( 2scompl ) for positive integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- COMP( 2scompl ) for positive integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( 2scompl ) " - }; - -const RAW_PDU i := 2 -const octetstring o := '02'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. COMP( 2scompl ) for negative integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- COMP( 2scompl ) for negative integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( 2scompl ) " - }; - -const RAW_PDU i := -2 -const octetstring o := 'FE'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing PADDING Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. PADDING for integer -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING for integer> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ integer int1 , - integer int2 , - integer int3 , - integer int4 } - with { variant (int3) "FIELDLENGTH (4)" ; - variant (int1) "PADDING( yes ) " ; - variant (int2) "FIELDLENGTH (4)" ; - variant (int2) "PADDING( yes ) " ; - variant (int3) "FIELDLENGTH (4)" ; - variant (int3) "PADDING( no ) " ; - variant (int4) "FIELDLENGTH (4)" ; - variant (int4) "PADDING( no ) " ; } -} with {encode "RAW" }; - - -const RAW_PDU - i := { int1 := 1 , - int2 := 2 , - int3 := 3 , - int4 := 4 } - - - -const octetstring o := '010243'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDING for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ bitstring bit1 , - bitstring bit2 , - bitstring bit3 , - bitstring bit4 } - with { variant (bit1) "FIELDLENGTH(4)" ; - variant (bit1) "PADDING( yes ) " ; - variant (bit2) "FIELDLENGTH(4)" ; - variant (bit2) "PADDING( yes ) " ; - variant (bit3) "FIELDLENGTH(4)" ; - variant (bit3) "PADDING( no ) " ; - variant (bit4) "FIELDLENGTH(4)" ; - variant (bit4) "PADDING( no ) " ; - }; -} with {encode "RAW"} - - -const RAW_PDU - i := { bit1 := '0001'B , - bit2 := '0010'B , - bit3 := '0011'B , - bit4 := '0100'B } - - - -const octetstring o := '010243'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDING for enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING for enumerated> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type enumerated enumerated1 -{ zero, first, second, third, fourth, fifth } - -type enumerated enumerated2 -{ tenth, eleventh, twelfth, thirteenth, fourthteenth, fifteenth } - -type enumerated enumerated3 -{ twenty, twentyfirst, twentysecond, twentythird, twentyfourth, twentyfifth } - -type enumerated enumerated4 -{ thirty, thirtyfirst, thirtysecond, thirtythird, thirtyfourth, thirtyfifth } - - -type record RAW_PDU -{ enumerated1 enum1 , - enumerated2 enum2 , - enumerated3 enum3 , - enumerated4 enum4 } - with { variant (enum1) "FIELDLENGTH(4)" ; - variant (enum1) "PADDING( yes ) " ; - variant (enum2) "FIELDLENGTH(4)" ; - variant (enum2) "PADDING( yes ) " ; - variant (enum3) "FIELDLENGTH(4)" ; - variant (enum3) "PADDING( no ) " ; - variant (enum4) "FIELDLENGTH(4)" ; - variant (enum4) "PADDING( no ) " ; - }; -} with {encode "RAW" }; - - -const RAW_PDU - i := { enum1 := first , - enum2 := twelfth , - enum3 := twentythird , - enum4 := thirtyfourth } - - - - - - -const octetstring o := '010243'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDING for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ hexstring hex1 , - hexstring hex2 , - hexstring hex3 , - hexstring hex4 } - with { encode "RAW"; - variant (hex1) "FIELDLENGTH(1)" ; - variant (hex1) "PADDING( yes ) " ; - variant (hex2) "FIELDLENGTH(1)" ; - variant (hex2) "PADDING( yes ) " ; - variant (hex3) "FIELDLENGTH(1)" ; - variant (hex3) "PADDING( no ) " ; - variant (hex4) "FIELDLENGTH(1)" ; - variant (hex4) "PADDING( no ) " ; - }; -} with {encode "RAW" } - - -const RAW_PDU - i := { hex1 := '1'H , - hex2 := '2'H , - hex3 := '3'H , - hex4 := '4'H } - - - -const octetstring o := '010243'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Testing PREPADDING Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. PREPADDING(yes) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(yes) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU length (3) -with {encode "RAW"; variant "PREPADDING(yes)"} - -const RAW_PDU i := '101'B -const octetstring o := '05'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. PREPADDING(yes) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(yes) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU length (1) -with {encode "RAW"; variant "PREPADDING(yes)"} - -const RAW_PDU i := 'F'H -const octetstring o := '0F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PREPADDING(word16) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(word16) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring otype -with {encode "RAW"; variant "PREPADDING(word16)"} -type hexstring htype length (3) - -type record RAW_PDU { htype h, otype o} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {'AAA'H,'FF'O} -const octetstring o := 'AA0AFF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PREPADDING(word16) for record of -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(word16) for record of> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer itype -with {encode "RAW"; variant "FIELDLENGTH(3)"} -type record length (1) of itype rtype -with {encode "RAW"; variant "PREPADDING(word16)"} - -type record RAW_PDU {itype r1, rtype r2} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {4,{7}} -const octetstring o := '040007'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PREPADDING(dword32) for set of -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(dword32) for set of> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) -type record length (2) of BIT3 rtype -with {encode "RAW"; variant "PREPADDING(dword32)"} - -type record RAW_PDU {BIT3 r1, rtype r2} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {'100'B,{'111'B, '101'B}} -const octetstring o := '040000002F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PREPADDING(dword32) for record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(dword32) for record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) - -type record stype {BIT3 s1, BIT3 s2} -with {encode "RAW"; variant "PREPADDING(dword32)"} - -type record RAW_PDU {stype r1, stype r2, stype r3} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {{'111'B,'111'B},{'110'B,'000'B},{'111'B,'111'B}} -const octetstring o := '3F000000060000003F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PREPADDING(word16) for set -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(word16) for set> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) - -type set stype {BIT3 s1} -with {encode "RAW"; variant "PREPADDING(word16)"} - -type record RAW_PDU {stype r1, stype r2, stype r3} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {{s1:='111'B},{s1:='110'B},{s1:='111'B}} -const octetstring o := '0700060007'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PREPADDING(word16) for union -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PREPADDING(word16) for union> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) -type hexstring HEX1 length (1) - -type union utype {BIT3 u1, HEX1 u2} -with {encode "RAW"; variant "PREPADDING(word16)"} - -type record RAW_PDU {utype r1, utype r2, utype r3} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {{u1:='111'B},{u1:='010'B},{u1:='111'B}} -const octetstring o := '0700020007'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing PADDING_PATTERN Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. PADDING_PATTERN for record of -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING_PATTERN for record of> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer itype -with {encode "RAW"; variant "FIELDLENGTH(3)"} -type record length (1) of itype rtype -with {encode "RAW"; variant "PREPADDING(yes), PADDING_PATTERN('1'B)"} - -type record RAW_PDU {itype r1, rtype r2} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {4,{7}} -const octetstring o := 'FC07'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDING_PATTERN for set of -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING_PATTERN for set of> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) - -type set length (2) of BIT3 rtype -with {encode "RAW"; variant "PREPADDING(yes), PADDING_PATTERN('10000'B)"} - -type record RAW_PDU {BIT3 r1, rtype r2} -with {encode "RAW"; variant ""} - - -const RAW_PDU i := {'100'B,{'111'B, '101'B}} -const octetstring o := '842F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDING_PATTERN for record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING_PATTERN for record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT9 length (9) - -type record stype {BIT9 s1, BIT9 s2} -with {encode "RAW"; variant "PREPADDING(40), PADDING_PATTERN('100000'B)"} - -type record RAW_PDU {stype r1, stype r2, stype r3} -with {encode "RAW"; variant ""} - - -const RAW_PDU i := {{'111000111'B,'111000111'B},{'111111111'B,'111111111'B},{'111000111'B,'111000111'B}} -const octetstring o := 'C78F832008FFFF832008C78F03'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDING_PATTERN for set -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING_PATTERN for set> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring HEX3 length (3) - -type set stype {HEX3 s1} -with {encode "RAW"; variant "PREPADDING(15), PADDING_PATTERN('10001'B)"} - -type record RAW_PDU {stype r1, stype r2, stype r3} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {{s1:='FFF'H},{s1:='FFF'H},{s1:='FFF'H}} -const octetstring o := 'FF9FFFCFFF03'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDING_PATTERN for union -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDING_PATTERN for union> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring OCT2 length (2) - -type union utype {OCT2 u1, hexstring u2} -with {encode "RAW"; variant "PREPADDING(256),PADDING_PATTERN('11001'B)"} - -type record RAW_PDU {utype r1, utype r2, utype r3} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {{u1:='AABB'O},{u1:='CCDD'O},{u1:='EEFF'O}} -const octetstring o := 'AABB39E79C73CE39E79C73CE39E79C73CE39E79C73CE39E79C73CE39E79C73CECCDD39E79C73CE39E79C73CE39E79C73CE39E79C73CE39E79C73CE39E79C73CEEEFF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Testing PADDALL Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. PADDALL with PADDING Attribute - record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDALL with PADDING Attribute - record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT1 length (1) - -type record stype {BIT1 s1, BIT1 s2} -with {encode "RAW"; variant "PADDING(yes), PADDALL"} - -type record RAW_PDU {stype r1, stype r2, stype r3} -with {encode "RAW"; variant ""} - -const RAW_PDU i := {{'1'B,'1'B},{'1'B,'1'B},{'1'B,'1'B}} -const octetstring o := '010101010101'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDALL with PADDING Attribute - set -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDALL with PADDING Attribute - set> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) - -type set stype {BIT3 s1, BIT3 s2} -with {encode "RAW"; variant "PADDING(4), PADDALL"} - -type set RAW_PDU {stype r1, stype r2} -with {encode "RAW"; variant "PADDING(dword32), PADDALL"} - -const RAW_PDU i := {r1:={s1:='111'B,s2:='101'B},r2:={s1:='111'B,s2:='101'B}} - -const octetstring o := '57570000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDALL with PREPADDING Attribute - record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDALL with PADDING Attribute - record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring HEX1 length (1) - -type record stype {HEX1 s1, HEX1 s2} - -type record RAW_PDU {stype r1, stype r2, stype r3} -with {encode "RAW"; variant "PREPADDING(12), PADDALL"} - -const RAW_PDU i := {{'A'H,'B'H},{'A'H,'B'H},{'A'H,'B'H}} -const octetstring o := 'BAA00BBA'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PADDALL with PREPADDING Attribute - set -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PADDALL with PADDING Attribute - set> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring HEX1 length (1) - -type set stype {HEX1 s1, HEX1 s2, HEX1 s3} -with {encode "RAW"; variant "PREPADDING(12), PADDALL"} - -type set RAW_PDU {stype r1, stype r2} -with {encode "RAW"; variant "PREPADDING(36), PADDALL, PADDING_PATTERN('1111'B)"} - -const RAW_PDU i := { r1:={s1:='A'H,s2:='B'H,s3:='C'H}, - r2:={s1:='A'H,s2:='B'H,s3:='C'H}} - -const octetstring o := '0AB000FCAF000BC0'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Testing PTROFFSET Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. PTROFFSET is set to default base -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PTROFFSET is set to default base> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT4 length (4) -type hexstring HEX1 length (1) -type octetstring OCT3 length (3) - -group RAW_group{ - -type integer INT1 -with {variant "FIELDLENGTH(8)" }; - -type record RAW_PDU { - INT1 ptr1, - INT1 ptr2, - BIT4 field1, - BIT4 field2 } - -with { variant (ptr1) "POINTERTO(field1)"; - variant (ptr1) "UNIT(1)"; - variant (ptr1) "PTROFFSET(ptr1)"; - variant (ptr2) "POINTERTO(field2)"; - variant (ptr2) "UNIT(1)" - variant (ptr2) "PTROFFSET(ptr2)"} - -} with {encode "RAW" }; - -const RAW_PDU i := {16,12,'0110'B,'1001'B} - -const octetstring o := '100C96'O - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. PTROFFSET is set to the beginning of record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PTROFFSET is set to the beginning of record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) -type hexstring HEX1 length (1) -type octetstring OCT3 length (3) - -group RAW_group{ - -type integer INT1 -with { encode "RAW"; variant "FIELDLENGTH(8)" }; - - -type record RAW_PDU { - INT1 ptr1, - INT1 ptr2, - INT1 ptr3, - - BIT3 field1, - HEX1 field2, - OCT3 field3 } - -with { variant (ptr1) "POINTERTO(field1)"; - variant (ptr1) "UNIT(1)"; - variant (ptr1) "PTROFFSET(ptr1)"; - variant (ptr2) "POINTERTO(field2)"; - variant (ptr2) "UNIT(1)"; - variant (ptr2) "PTROFFSET(ptr1)"; - variant (ptr3) "POINTERTO(field3)"; - variant (ptr3) "UNIT(1)"; - variant (ptr3) "PTROFFSET(ptr1)"} - -} with {encode "RAW" }; - -const RAW_PDU i := {24,27,31,'111'B,'A'H,'010203'O} - -const octetstring o := '181B1FD7008101'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. PTROFFSET is set to data field -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- PTROFFSET is set to data field> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 length (3) -type hexstring HEX1 length (1) -type octetstring OCT3 length (3) - -group RAW_group{ - -type integer INT1 -with { variant "FIELDLENGTH(8)" }; - - -type record RAW_PDU { - INT1 ptr1, - INT1 ptr2, - INT1 ptr3, - - BIT3 field1, - HEX1 field2, - OCT3 field3 } - -with { variant (ptr1) "POINTERTO(field1)"; - variant (ptr1) "UNIT(1)"; - variant (ptr1) "PTROFFSET(field1)"; - variant (ptr2) "POINTERTO(field2)"; - variant (ptr2) "UNIT(1)"; - variant (ptr2) "PTROFFSET(field1)"; - variant (ptr3) "POINTERTO(field3)"; - variant (ptr3) "UNIT(1)"; - variant (ptr3) "PTROFFSET(field1)"} - -} with {encode "RAW" }; - -const RAW_PDU i := {0,3,7,'111'B,'A'H,'010203'O} - -const octetstring o := '000307D7008101'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing HEXORDER Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. HEXORDER(low) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- HEXORDER(low) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "HEXORDER(low)"}; - -const RAW_PDU i := '1234567890'H -const octetstring o := '2143658709'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. HEXORDER(high) for hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- HEXORDER(high) for hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type hexstring RAW_PDU -with { encode "RAW"; variant "HEXORDER(high)"}; - -const RAW_PDU i := '1234567890'H -const octetstring o := '1234567890'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing EXTENSION BIT Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(no) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(no) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(no)"}; - -const RAW_PDU i := '1234567890'O -const octetstring o := '1234567890'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(yes) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(yes) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(yes)"}; - -const RAW_PDU i := '010203040500'O -const octetstring o := '010203040580'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == '010203040580'O)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(reverse) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(reverse) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(reverse)"}; - -const RAW_PDU i := '010203040500'O -const octetstring o := '818283848500'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == '818283848500'O)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(yes) for record of octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(yes) for record of octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring OCT1 -with { encode "RAW"; variant "FIELDLENGTH(1)"}; - -type record of OCT1 RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(yes)"}; - -const RAW_PDU i := {'84'O, '00'O} -const octetstring o := '0480'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(reverse) for record of octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(reverse) for record of octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring OCT1 -with { encode "RAW"; variant "FIELDLENGTH(1)"}; - -type record of OCT1 RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(reverse)"}; - -const RAW_PDU i := {'80'O} -const octetstring o := '00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(no) for record of octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(no) for record of octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring OCT1 -with { encode "RAW"; variant "FIELDLENGTH(1)"}; - -type record of OCT1 RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(no)"}; - -const RAW_PDU i := {'84'O, '05'O} -const octetstring o := '8405'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(yes) for record of bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(yes) for record of bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -type bitstring BIT3 -with { encode "RAW"; variant "FIELDLENGTH(3)"}; - -type record of BIT3 RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(yes)"}; - -const RAW_PDU i := {'111'B, '000'B, '111'B} -const octetstring o := 'C301'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(reverse) for record of bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(reverse) for record of bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 -with { encode "RAW"; variant "FIELDLENGTH(3)"}; - -type record of BIT3 RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(reverse)"}; - -const RAW_PDU i := {'111'B, '000'B, '111'B} -const octetstring o := 'E700'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(yes) for set of bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(yes) for set of bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 -with { encode "RAW"; variant "FIELDLENGTH(3)"}; - -type set of BIT3 RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(yes)"}; - -const RAW_PDU i := {'111'B, '000'B, '111'B} -const octetstring o := 'C301'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(reverse) for set of bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(reverse) for set of bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring BIT3 -with { encode "RAW"; variant "FIELDLENGTH(3)"}; - -type set of BIT3 RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(reverse)"}; - -const RAW_PDU i := {'111'B, '000'B, '111'B} -const octetstring o := 'E700'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(yes) for set of hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(yes) for set of hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type set of hexstring RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(yes)"}; - -const RAW_PDU i := {'F'H, '0'H, 'F'H} -const octetstring o := '070F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -*---------------------------------------------------------------------* -:h3. EXTENSION_BIT(reverse) for set of hexstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT(reverse) for set of hexstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type set of hexstring RAW_PDU -with { encode "RAW"; variant "EXTENSION_BIT(reverse)"}; - -const RAW_PDU i := {'F'H, '00'H, 'FFF'H} -const octetstring o := '0FF87F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -} with {encode "RAW"} - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 15 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct2 := - { data := '0000010'B , - extensionbit := '0'B , - rec2 := - { data := '0000010'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct3 := - { data := '0000011'B , - extensionbit := '0'B , - rec3 := - { data := '0000011'B , - extensionbit := '0'B } , - more_extension := '000080'O } } - - - -const octetstring o :='1234560F010100008002020000800303000080'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -} with {encode "RAW"} - - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 12 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct2 := - { data := '0000010'B , - extensionbit := '0'B , - rec2 := - { data := '0000010'B , - extensionbit := '1'B } , - more_extension := omit } , - oct3 := - { data := '0000011'B , - extensionbit := '0'B , - rec3 := - { data := '0000011'B , - extensionbit := '0'B } , - more_extension := '000080'O } } - - - -const octetstring o :='1234560C010100008002820303000080'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -} with {encode "RAW"} - - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 9 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct2 := - { data := '0000010'B , - extensionbit := '0'B , - rec2 := - { data := '0000010'B , - extensionbit := '1'B } , - more_extension := omit } , - oct3 := - { data := '0000011'B , - extensionbit := '0'B , - rec3 := - { data := '0000011'B , - extensionbit := '1'B } , - more_extension := omit } } - - - -const octetstring o :='12345609010100008002820383'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -} with {encode "RAW"} - - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 6 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '1'B } , - more_extension := omit } , - oct2 := - { data := '0000010'B , - extensionbit := '0'B , - rec2 := - { data := '0000010'B , - extensionbit := '1'B } , - more_extension := omit } , - oct3 := - { data := '0000011'B , - extensionbit := '0'B , - rec3 := - { data := '0000011'B , - extensionbit := '1'B } , - more_extension := omit } } - - - -const octetstring o :='12345606018102820383'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -} with {encode "RAW"} - - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 4 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '1'B } , - more_extension := omit } , - oct2 := - { data := '0000010'B , - extensionbit := '0'B , - rec2 := - { data := '0000010'B , - extensionbit := '1'B } , - more_extension := omit } , - oct3 := omit } - - - -const octetstring o :='1234560401810282'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"; - variant (more_extension) "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -} with {encode "RAW"} - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 2 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '1'B } , - more_extension := omit } , - oct2 := omit , - oct3 := omit } - - - -const octetstring o :='123456020181'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ;}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -} with {encode "RAW"} - - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 15 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct2 := - { data := '0000010'B , - extensionbit := '0'B , - rec2 := - { data := '0000010'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct3 := - { data := '0000011'B , - extensionbit := '0'B , - rec3 := - { data := '0000011'B , - extensionbit := '0'B } , - more_extension := '000080'O } } - - - -const octetstring o :='1234560F010100008002020000800303000080'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ;}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -}with{encode "RAW"} - - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 5 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct2 := omit , - oct3 := omit } - - - -const octetstring o :='123456050101000080'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with EXTENSION_BIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with EXTENSION_BIT > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type record Rec1 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - -type record Rec2 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - -type record Rec3 -{ BIT7 data , - BIT1 extensionbit } - with { variant ""}; - - - - -type record Octet1 -{ BIT7 data , - BIT1 extensionbit , - Rec1 rec1 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)" ;}; - - - -type record Octet2 -{ BIT7 data , - BIT1 extensionbit , - Rec2 rec2 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"}; - - - -type record Octet3 -{ BIT7 data , - BIT1 extensionbit , - Rec3 rec3 , - octetstring more_extension optional } - with { variant "EXTENSION_BIT (yes)"}; - - - - -type record RAW_PDU -{ OCT3 octstr , - integer length1 , - Octet1 oct1 , - Octet2 oct2 optional , - Octet3 oct3 optional } - with { variant (length1) "LENGTHTO(oct1 , oct2 , oct3 )" } - -}with{encode "RAW"} - - - - -const RAW_PDU - i := { octstr := '123456'O , - length1 := 10 , - oct1 := - { data := '0000001'B , - extensionbit := '0'B , - rec1 := - { data := '0000001'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct2 := - { data := '0000010'B , - extensionbit := '0'B , - rec2 := - { data := '0000010'B , - extensionbit := '0'B } , - more_extension := '000080'O } , - oct3 := omit } - - - -const octetstring o :='1234560A01010000800202000080'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Testing EXTENSION_BIT_GROUP Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT_GROUP(no) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT_GROUP(no)> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 length(1); -type bitstring BIT7 length(7); - -type record RAW_PDU { - BIT7 field1, - BIT1 ext1, - BIT7 field2, - BIT1 ext2, - BIT7 field3, - BIT1 ext3 -}with { variant "EXTENSION_BIT_GROUP(no, field1, ext3)"}; - -}with {encode "RAW"} - -const RAW_PDU i := {'1111111'B, '0'B, '1110000'B, '0'B,'0001111'B,'0'B} -const octetstring o := '7F700F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT_GROUP(yes) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT_GROUP(yes)> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 length(1); -type bitstring BIT7 length(7); - -type record RAW_PDU { - BIT7 field1, - BIT1 ext1, - BIT7 field2, - BIT1 ext2, - BIT7 field3, - BIT1 ext3 -}with { variant "EXTENSION_BIT_GROUP(yes, field1, ext2)"}; - -}with{encode "RAW"} - -const RAW_PDU i := {'1111111'B, '0'B, '1110000'B, '0'B,'0001111'B,'0'B} -const octetstring o := '7FF00F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT_GROUP(yes) - two groups -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT_GROUP(yes) - two groups> - -<STATIC> -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 length(1); -type bitstring BIT7 length(7); - -type record RAW_PDU { - BIT7 field1, - BIT1 ext1, - BIT7 field2, - BIT1 ext2, - BIT7 field3, - BIT1 ext3, - BIT7 field4, - BIT1 ext4 - -}with { variant "EXTENSION_BIT_GROUP(yes, field1, ext2)" - variant "EXTENSION_BIT_GROUP(yes, field3, ext4)"}; - -}with{encode "RAW"} - -const RAW_PDU i := {'1111111'B, '0'B, '1110000'B, '0'B,'0001111'B,'0'B, '1111111'B, '0'B} -const octetstring o := '7FF00FFF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. EXTENSION_BIT_GROUP(yes, reverse) - two groups -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- EXTENSION_BIT_GROUP(yes, reverse) - two groups> - -<STATIC> -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT1 length(1); -type bitstring BIT7 length(7); - -type record RAW_PDU { - BIT7 field1, - BIT1 ext1, - BIT7 field2, - BIT1 ext2, - BIT7 field3, - BIT1 ext3, - BIT7 field4, - BIT1 ext4 - -}with { variant "EXTENSION_BIT_GROUP(yes, field1, ext2)" - variant "EXTENSION_BIT_GROUP(reverse, field3, ext4)"}; - -}with{encode "RAW"} - -const RAW_PDU i := {'1111111'B, '0'B, '1110000'B, '0'B,'0001111'B,'0'B, '1111111'B, '0'B} -const octetstring o := '7FF08F7F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if (enc_RAW_PDU(i) == o) {setverdict(pass);} else {setverdict(fail);} - - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2.Testing ALIGN Attribute -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. ALIGN(right) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- ALIGN(right) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(4)"; - variant "ALIGN (right)" - }; - -const RAW_PDU i := '123456'O -const octetstring o := '12345600'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) == i & '00'O))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. ALIGN(left) for octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- ALIGN(left) for octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type octetstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(4)"; - variant "ALIGN (left)" - }; - -const RAW_PDU i := '123456'O -const octetstring o := '00123456'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) =='00'O & i ))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. ALIGN(right) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- ALIGN(right) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)"; - variant "ALIGN (right)" - }; - -const RAW_PDU i := '11111111'B -const octetstring o := 'FF00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) == '00000000'B & i))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. ALIGN(left) for bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- ALIGN(left) for bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type bitstring RAW_PDU -with { encode "RAW"; - variant "FIELDLENGTH(16)"; - variant "ALIGN (left)" - }; - -const RAW_PDU i := '11111111'B -const octetstring o := '00FF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and((dec_RAW_PDU(o) ==i & '00000000'B ))) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing Compound types -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. Test of record with integer and octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with integer and octetstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ integer int , - octetstring octstr } -with { variant (int) "FIELDLENGTH(8)" ; - variant (octstr) "FIELDLENGTH(2)" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O } - - - -const octetstring o := '141234'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with default values in field -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with default values in field> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ integer int , - octetstring octstr } -with { variant (int) "" ; - variant (octstr) "FIELDLENGTH(2)" } ; - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O } - -}with{encode "RAW"} - -const octetstring o := '141234'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with bitstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with bitstring> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ integer int , - octetstring octstr , - bitstring bit6 , - bitstring bit2 } - -with { variant (int) "" ; - variant (octstr) "FIELDLENGTH(2)" ; - variant (bit6) "FIELDLENGTH(6)" ; - variant (bit2) "FIELDLENGTH(2)" - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O , - bit6 := '111111'B , - bit2 := '00'B - } - - - -const octetstring o := '1412343F'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with enumerated and fieldlength calculation -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with enumerated and fieldlength calculation> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type enumerated enum -{ zero, first, second, third, fourth, fifth, sixth, seventh, eighth, nineth, -tenth } -with { variant ""}; - - - - -type record RAW_PDU - { integer int , - octetstring octstr , - bitstring bit6 , - bitstring bit2 , - enum enum1 , - integer length1 , - octetstring octN } - -with {variant (int) "" ; - variant (octstr) "FIELDLENGTH(2)" ; - variant (bit6) "FIELDLENGTH(6)" ; - variant (bit2) "FIELDLENGTH(2)" ; - variant (enum1) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (octN) "" - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O , - bit6 := '111111'B , - bit2 := '00'B , - enum1 := tenth , - length1:= 3 , - octN := '123456'O - - } - - - -const octetstring o := '1412343F0A03123456'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record called from record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record called from record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_encode{ - -type enumerated enum -{ zero, first, second, third, fourth, fifth, sixth, seventh, eighth, nineth, -tenth } -with { variant ""} ; - - -type record record1 - { bitstring bit1 , - bitstring bit3 , - bitstring bit4 , - integer int , - integer length1 , - octetstring octN } -with { variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (bit4) "FIELDLENGTH(4)" ; - variant (int) "FIELDLENGTH(16)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (octN) "" - } - - - - -type record RAW_PDU - { integer int , - octetstring octstr , - bitstring bit6 , - bitstring bit2 , - enum enum1 , - integer length1 , - octetstring octN , - integer length2 , - record1 rec1 } - -with { variant (int) "" ; - variant (octstr) "FIELDLENGTH(2)" ; - variant (bit6) "FIELDLENGTH(6)" ; - variant (bit2) "FIELDLENGTH(2)" ; - variant (enum1) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (octN) "" ; - variant (length2) "LENGTHTO(rec1)" ; - variant (rec1) "" - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O , - bit6 := '111111'B , - bit2 := '00'B , - enum1 := tenth , - length1:= 3 , - octN := '123456'O , - length2:= 7 , - rec1 := { bit1 := '1'B , - bit3 := '000'B , - bit4 := '1111'B , - int := 4660 , - length1 := 3 , - octN := 'FFFFFF'O } - - } - - - -const octetstring o := '1412343F0A0312345607F1341203FFFFFF'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of union called from record with CROSSTAG -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of union called from record with CROSSTAG> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -group RAW_group{ - -type enumerated enum -{ zero, first, second, third, fourth, fifth, sixth, seventh, eighth, nineth, -tenth } -with { variant ""} ; - - -type record record1 - { bitstring bit1 , - bitstring bit3 , - bitstring bit4 , - integer int , - integer length1 , - octetstring octN } -with { variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (bit4) "FIELDLENGTH(4)" ; - variant (int) "FIELDLENGTH(16)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (octN) "" - } - - - -type union optionalpart -{ integer one , - integer two , - integer three , - integer four , - integer five } -with { variant (one) "" ; - variant (two) "" ; - variant (three) "" ; - variant (four) "" ; - variant (five) "" ; - } - - - - - -type record RAW_PDU - { integer int , - octetstring octstr , - bitstring bit6 , - bitstring bit2 , - enum enum1 , - integer length1 , - octetstring octN , - integer length2 , - record1 rec1 , - integer id , - integer opt_part_ptr , - optionalpart opt_part , - octetstring eop } - -with { variant (int) "" ; - variant (octstr) "FIELDLENGTH(2)" ; - variant (bit6) "FIELDLENGTH(6)" ; - variant (bit2) "FIELDLENGTH(2)" ; - variant (enum1) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (octN) "" ; - variant (length2) "LENGTHTO(rec1)" ; - variant (rec1) "" ; - variant (id) "" ; - variant (opt_part_ptr) "POINTERTO ( opt_part)"; - variant (opt_part) "CROSSTAG ( - one , id = 1 ; - two , id = 2 ; - three , id = 3 ; - four , id = 4 ; - five , id = 5 ) "; - - variant (eop) "FIELDLENGTH(1)" ; - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O , - bit6 := '111111'B , - bit2 := '00'B , - enum1 := tenth , - length1:= 3 , - octN := '123456'O , - length2:= 7 , - rec1 := { bit1 := '1'B , - bit3 := '000'B , - bit4 := '1111'B , - int := 4660 , - length1 := 3 , - octN := 'FFFFFF'O } , - id := 5 , - opt_part_ptr:= 1 , - opt_part := { five := 5 } , - eop := '00'O - } - - - -const octetstring o := '1412343F0A0312345607F1341203FFFFFF05010500'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of union called from record with CROSSTAG, OTHERWISE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of union called from record with CROSSTAG, OTHERWISE> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -group RAW_group{ - -type enumerated enum -{ zero, first, second, third, fourth, fifth, sixth, seventh, eighth, nineth, -tenth } -with { variant ""} ; - - -type record record1 - { bitstring bit1 , - bitstring bit3 , - bitstring bit4 , - integer int , - integer length1 , - octetstring octN } -with { variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (bit4) "FIELDLENGTH(4)" ; - variant (int) "FIELDLENGTH(16)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (octN) "" - } - - - -type union optionalpart -{ integer one , - integer two , - integer three , - integer four , - integer five } -with { variant (one) "" ; - variant (two) "" ; - variant (three) "" ; - variant (four) "" ; - variant (five) "" ; - } - - - - - -type record RAW_PDU - { integer int , - octetstring octstr , - bitstring bit6 , - bitstring bit2 , - enum enum1 , - integer length1 , - octetstring octN , - integer length2 , - record1 rec1 , - integer id , - integer opt_part_ptr , - optionalpart opt_part , - octetstring eop } - -with { variant (int) "" ; - variant (octstr) "FIELDLENGTH(2)" ; - variant (bit6) "FIELDLENGTH(6)" ; - variant (bit2) "FIELDLENGTH(2)" ; - variant (enum1) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (octN) "" ; - variant (length2) "LENGTHTO(rec1)" ; - variant (rec1) "" ; - variant (id) "" ; - variant (opt_part_ptr) "POINTERTO ( opt_part)"; - variant (opt_part) "CROSSTAG ( - one , id = 1 ; - two , id = 2 ; - three , id = 3 ; - four , id = 4 ; - five , OTHERWISE ) "; - - variant (eop) "FIELDLENGTH(1)" ; - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O , - bit6 := '111111'B , - bit2 := '00'B , - enum1 := tenth , - length1:= 3 , - octN := '123456'O , - length2:= 7 , - rec1 := { bit1 := '1'B , - bit3 := '000'B , - bit4 := '1111'B , - int := 4660 , - length1 := 3 , - octN := 'FFFFFF'O } , - id := 5 , - opt_part_ptr:= 1 , - opt_part := { five := 5 } , - eop := '00'O - } - - - -const octetstring o := '1412343F0A0312345607F1341203FFFFFF05010500'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - - -.*---------------------------------------------------------------------* -:h3. Test of record without specifying the default attributes for fields -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record without specifying the default attributes for fields> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -group RAW_group{ - -type enumerated enum -{ zero, first, second, third, fourth, fifth, sixth, seventh, eighth, nineth, -tenth } -with { variant ""} ; - - -type record record1 - { bitstring bit1 , - bitstring bit3 , - bitstring bit4 , - integer int , - integer length1 , - octetstring octN } -with { variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (bit4) "FIELDLENGTH(4)" ; - variant (int) "FIELDLENGTH(16)" ; - variant (length1) "LENGTHTO(octN)" - } - - - -type union optionalpart -{ integer one , - integer two , - integer three , - integer four , - integer five } -with { variant "" } - - - - - -type record RAW_PDU - { integer int , - octetstring octstr , - bitstring bit6 , - bitstring bit2 , - enum enum1 , - integer length1 , - octetstring octN , - integer length2 , - record1 rec1 , - integer id , - integer opt_part_ptr , - optionalpart opt_part , - octetstring eop } - -with { variant (octstr) "FIELDLENGTH(2)" ; - variant (bit6) "FIELDLENGTH(6)" ; - variant (bit2) "FIELDLENGTH(2)" ; - variant (enum1) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (length2) "LENGTHTO(rec1)" ; - variant (opt_part_ptr) "POINTERTO ( opt_part)"; - variant (opt_part) "CROSSTAG ( - one , id = 1 ; - two , id = 2 ; - three , id = 3 ; - four , id = 4 ; - five , id = 5 ) "; - - variant (eop) "FIELDLENGTH(1)" ; - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O , - bit6 := '111111'B , - bit2 := '00'B , - enum1 := tenth , - length1:= 3 , - octN := '123456'O , - length2:= 7 , - rec1 := { bit1 := '1'B , - bit3 := '000'B , - bit4 := '1111'B , - int := 4660 , - length1 := 3 , - octN := 'FFFFFF'O } , - id := 5 , - opt_part_ptr:= 1 , - opt_part := { five := 5 } , - eop := '00'O - } - - - -const octetstring o := '1412343F0A0312345607F1341203FFFFFF05010500'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record of called from record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record of called from record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - - -group RAW_group{ - -type record record2 - { octetstring oct1 , - integer length2 , - octetstring octN } -with { variant (oct1) "FIELDLENGTH(1)"; - variant (length2) "LENGTHTO(octN)" - - } - - - -type record of record2 Rec2list -with { variant "" }; - - - - -type record RAW_PDU - { integer length1 , - Rec2list rec2list } - -with { variant (length1) "LENGTHTO(rec2list)" } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { length1:= 8 , - rec2list := { { oct1 := '12'O , - length2 := 2 , - octN := '3456'O } , - { oct1 := '12'O , - length2 := 2 , - octN := '7890'O } } - } - - - -const octetstring o := '081202345612027890'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of set with TAG -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of set with TAG > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record intrec - { integer tag , - integer intfield } -with { variant ""} ; - - -type record octrec - { integer tag , - octetstring octfield } -with { variant (octfield) "FIELDLENGTH(2)"} ; - - -type record bitrec - { integer tag , - bitstring bit8field } -with { variant (bit8field) "FIELDLENGTH(8)"} ; - - - -type set RAW_PDU - { intrec int , - octrec octstr , - bitrec bit8 } - -with { variant "TAG ( - int , tag=1 ; - octstr , tag=2 ; - bit8 , tag=3 )" - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { octstr := { tag := 2 , - octfield := '1234'O } , - int := { tag := 1 , - intfield := 15 } , - bit8 := { tag := 3 , - bit8field := '11111111'B } - } - - - -const octetstring o := '010F02123403FF'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of union with TAG , first element called -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of union with TAG , first element called> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record intrec - { integer tag , - integer intfield } -with { variant ""} ; - - -type record octrec - { integer tag , - octetstring octfield } -with { variant (octfield) "FIELDLENGTH(2)"} ; - - -type record bitrec - { integer tag , - bitstring bit8field } -with { variant (bit8field) "FIELDLENGTH(8)"} ; - - - -type union RAW_PDU - { intrec int , - octrec octstr , - bitrec bit8 } - -with { variant "TAG ( - int , tag=1 ; - octstr , tag=2 ; - bit8 , tag=3 )" - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { int := { tag := 1 , - intfield := 15 } - } - - - -const octetstring o := '010F'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of union with TAG , second element called -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of union with TAG , second element called> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record intrec - { integer tag , - integer intfield } -with { variant ""} ; - - -type record octrec - { integer tag , - octetstring octfield } -with { variant (octfield) "FIELDLENGTH(2)"} ; - - -type record bitrec - { integer tag , - bitstring bit8field } -with { variant (bit8field) "FIELDLENGTH(8)"} ; - - - -type union RAW_PDU - { intrec int , - octrec octstr , - bitrec bit8 } - -with { variant "TAG ( - int , tag=1 ; - octstr , tag=2 ; - bit8 , tag=3)" - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { octstr := { tag := 2 , - octfield := '1234'O } - } - - - -const octetstring o := '021234'O - - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of union with TAG , third element called -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of union with TAG , third element called> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record intrec - { integer tag , - integer intfield } -with { variant ""} ; - - -type record octrec - { integer tag , - octetstring octfield } -with { variant (octfield) "FIELDLENGTH(2)"} ; - - -type record bitrec - { integer tag , - bitstring bit8field } -with { variant (bit8field) "FIELDLENGTH(8)"} ; - - - -type union RAW_PDU - { intrec int , - octrec octstr , - bitrec bit8 } - -with { variant "TAG ( - int , tag=1 ; - octstr , tag=2 ; - bit8 , tag=3 )" - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { bit8 := { tag := 3 , - bit8field := '11111111'B } - } - - - -const octetstring o := '03FF'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of union with TAG , third element called with OTHERWISE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of union with TAG , third element called with OTHERWISE> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record intrec - { integer tag , - integer intfield } -with { variant ""} ; - - -type record octrec - { integer tag , - octetstring octfield } -with { variant (octfield) "FIELDLENGTH(2)"} ; - - -type record bitrec - { integer tag , - bitstring bit8field } -with { variant (bit8field) "FIELDLENGTH(8)"} ; - - - -type union RAW_PDU - { intrec field1 , - octrec field2 , - bitrec field3} - -with { variant "TAG ( - field1, tag=1 ; - field2, tag=2 ; - field3, OTHERWISE)"}; - -}with{encode "RAW"} - - -const RAW_PDU - i := { field3 := { tag := 3, - bit8field := '11111111'B } - } - - - -const octetstring o := '03FF'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. Test of set of called from record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of set of called from record> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - - -group RAW_group{ - -type record record2 - { octetstring oct1 , - integer length2 , - octetstring octN } -with { variant (oct1) "FIELDLENGTH(1)"; - variant (length2) "LENGTHTO(octN)" - - } - -type set of record2 Rec2list -with { variant "" }; - -type record RAW_PDU - { integer length1 , - Rec2list rec2list } - -with { variant (length1) "LENGTHTO(rec2list)" } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { length1:= 8 , - rec2list := { { oct1 := '12'O , - length2 := 2 , - octN := '3456'O } , - { oct1 := '12'O , - length2 := 2 , - octN := '7890'O } } - } - - - -const octetstring o := '081202345612027890'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with optional field with PRESENCE -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with optional field with PRESENCE> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - - -group RAW_group{ - -type enumerated enum -{ zero, first, second, third, fourth, fifth, sixth, seventh, eighth, nineth, -tenth } -with { variant ""} ; - - -type record record1 - { bitstring bit1 , - bitstring bit3 , - bitstring bit4 , - integer int , - integer length1 , - octetstring octN } -with { variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (bit4) "FIELDLENGTH(4)" ; - variant (int) "FIELDLENGTH(16)" ; - variant (length1) "LENGTHTO(octN)" - } - - -type union optionalpart -{ integer one , - integer two , - integer three , - integer four , - integer five } -with { variant "" } - - -type record record2 - { octetstring oct1 , - integer length2 , - octetstring octN } -with { variant (oct1) "FIELDLENGTH(1)"; - variant (length2) "LENGTHTO(octN)" - - } - - -type record of record2 Rec2list -with { variant "" }; - -type record RAW_PDU - { integer int , - octetstring octstr , - bitstring bit6 , - bitstring bit2 , - enum enum1 , - integer length1 , - octetstring octN , - integer length2 , - record1 rec1 , - integer length3 , - Rec2list rec2list , - integer id , - integer opt_part_ptr , - integer presenceid , - optionalpart opt_part optional , - octetstring eop optional } - -with { variant (octstr) "FIELDLENGTH(2)" ; - variant (bit6) "FIELDLENGTH(6)" ; - variant (bit2) "FIELDLENGTH(2)" ; - variant (enum1) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - variant (length2) "LENGTHTO(rec1)" ; - variant (length3) "LENGTHTO(rec2list)" - variant (opt_part_ptr) "POINTERTO ( opt_part)"; - variant (opt_part) "PRESENCE (presenceid= 1)" ; - variant (opt_part) "CROSSTAG ( - one , id = 1 ; - two , id = 2 ; - three , id = 3 ; - four , id = 4 ; - five , id = 5 ) "; - - variant (eop) "FIELDLENGTH(1)" ; - } ; - -}with{encode "RAW"} - - -const RAW_PDU - i := { int := 20 , - octstr := '1234'O , - bit6 := '111111'B , - bit2 := '00'B , - enum1 := tenth , - length1:= 3 , - octN := '123456'O , - length2:= 7 , - rec1 := { bit1 := '1'B , - bit3 := '000'B , - bit4 := '1111'B , - int := 4660 , - length1 := 3 , - octN := 'FFFFFF'O } , - length3:= 8 , - rec2list := { { oct1 := '12'O , - length2 := 2 , - octN := '3456'O } , - { oct1 := '12'O , - length2 := 2 , - octN := '7890'O } } , - id := 5 , - opt_part_ptr:= 2 , - presenceid := 1 , - opt_part := { five := 5 } , - eop := '00'O - } - - - -const octetstring o := '1412343F0A0312345607F1341203FFFFFF0812023456120278900502010500'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with UNIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with UNIT> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type integer INT1 -with { variant "" } ; - - - -type record RAW_PDU -{ INT1 length1 , - octetstring octstr } -with { variant (length1) "LENGTHTO(octstr)" ; - variant (length1) "UNIT(8)" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { length1 := 4 , - octstr := '12345678'O } - - - -const octetstring o := '0412345678'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with PTRUNIT -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with PTRUNIT> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ integer pointer1 , - integer pointer2 , - integer pointer3 , - octetstring octstr1 , - octetstring octstr2 , - octetstring octstr3 } -with { variant (pointer1) "POINTERTO(octstr1)" ; - variant (pointer1) "PTRUNIT(1)" ; - variant (pointer2) "POINTERTO(octstr2)" ; - variant (pointer3) "POINTERTO(octstr3)" ; - variant (octstr1) "FIELDLENGTH(3)" ; - variant (octstr2) "FIELDLENGTH(3)" ; - variant (octstr3) "FIELDLENGTH(3)" ; - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { pointer1 := 24 , - pointer2 := 5 , - pointer3 := 7 , - octstr1 := '010203'O , - octstr2 := '040506'O , - octstr3 := '070809'O } - - - -const octetstring o := '180507010203040506070809'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of record with PTROFFSET -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of record with PTROFFSET> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record RAW_PDU -{ integer pointer1 , - integer pointer2 , - integer pointer3 , - octetstring octstr1 , - octetstring octstr2 , - octetstring octstr3 } -with { variant (pointer1) "POINTERTO(octstr1)" ; - variant (pointer1) "PTROFFSET(0)" ; - variant (pointer2) "POINTERTO(octstr2)" ; - variant (pointer3) "POINTERTO(octstr3)" ; - variant (octstr1) "FIELDLENGTH(3)" ; - variant (octstr2) "FIELDLENGTH(3)" ; - variant (octstr3) "FIELDLENGTH(3)" ; - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { pointer1 := 3 , - pointer2 := 5 , - pointer3 := 7 , - octstr1 := '010203'O , - octstr2 := '040506'O , - octstr3 := '070809'O } - - - -const octetstring o := '030507010203040506070809'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Complicated structured types -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 1 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 1 > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type record Rec1field -{ bitstring bit7 , - bitstring bit1 , - octetstring oct1 } -with { variant (bit7) "FIELDLENGTH (7)" ; - variant (bit1) "FIELDLENGTH (1)" ; - variant (oct1) "FIELDLENGTH (1)" ; - }; - -type enumerated Enum1 -{zero, first, second, third, fourth, fifth } -with { variant "FIELDLENGTH (8)" }; - - -type record Rec3 -{ integer int , - octetstring octstr , - bitstring bitstr } -with { variant (octstr) "FIELDLENGTH (1)" ; - variant (bitstr) "FIELDLENGTH (8)" ; - }; - - -type record of Rec3 Recof -with { variant "" }; - -type record Rec5 -{ integer length1 , - octetstring octN } -with { variant (length1) "LENGTHTO (octN)" }; - - - -type union Rec2content -{ Enum1 enum1 , - Recof recof , - Rec5 rec5 } -with { variant "" }; - - - -type record Rec2data -{ octetstring id , - integer length1 , - octetstring octN , - integer length2 , - Rec2content content } -with { variant (id) "FIELDLENGTH (1)" ; - variant (length1) "LENGTHTO (octN)" ; - variant (length2) "LENGTHTO (content)" ; - variant (content) "CROSSTAG ( - enum1 , id='01'O ; - recof , id='02'O ; - rec5 , id='03'O ) " - }; - - - - - - - -type set of Rec2data Rec2datas - with { variant "" }; - - - -type record RAW_PDU -{ integer length1 , - Rec1field rec1field1 , - integer length2 , - Rec1field rec1field2 , - Rec2datas datas } -with { variant (length1) "LENGTHTO(rec1field1)" ; - variant (length2) "LENGTHTO(rec1field2)" - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { length1 := 2 , - rec1field1 := { bit7 := '0000001'B , - bit1 := '1'B , - oct1:= 'FF'O } , - length2 := 2 , - rec1field2 := { bit7 := '0000010'B , - bit1 := '1'B , - oct1:= 'FF'O } , - datas :={ { id := '01'O , - length1 := 2 , - octN := '1234'O , - length2 := 1 , - content := { enum1 := fifth } }, - { id := '02'O , - length1 := 2 , - octN := '5678'O, - length2 := 6 , - content := { recof := { { int := 1 , - octstr := 'FF'O , - bitstr := '00000000'B } , - { int := 2 , - octstr := 'FF'O , - bitstr := '00000000'B } } } } , - { id := '03'O , - length1 := 2 , - octN := '9012'O, - length2 := 6 , - content := { rec5 := { length1 := 5 , - octN := '1234567890'O } } } } } - - - -const octetstring o := '0281FF0282FF010212340105020256780601FF0002FF000302901206051234567890'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 2 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 2 > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)"}; - - - - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 2 , - length1 := 0 , - rec1 := omit , - opt_part := { { id := 1 , // opt_part := omit - length1 := 2 , - par := { octstr := 'FFFF'O } } } , - EndOP := '00'O } // EndOP = omit - - - -const octetstring o := '0202000102FFFF00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 3 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 3> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)"}; - - - - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 7 , - length1 := 5 , - rec1 := { bit4 := '1111'B , // rec1 := omit - bit1 := '1'B , - bit3 := '000'B , - length1 := 3 , - octN := '123456'O } , // octN := omit - opt_part := { { id := 1 , // opt_part := omit - length1 := 2 , - par := { octstr := 'FFFF'O } } } , - EndOP := '00'O } // EndOP = omit - - - -const octetstring o := '0207051F031234560102FFFF00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 4 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 4> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)"}; - - - - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 7 , - length1 := 5 , - rec1 := { bit4 := '1111'B , // rec1 := omit - bit1 := '1'B , - bit3 := '000'B , - length1 := 3 , - octN := '123456'O } , // octN := omit - opt_part := { { id := 1 , // opt_part := omit - length1 := 2 , - par := { octstr := 'FFFF'O } } , - { id := 2 , - length1 := 7 , - par := { rec2:= { bit8 := '00000000'B , - length1 := 5 , - octN := '1234567890'O } } } , // octN := omit - { id := 3 , - length1 := 4 , - par := { rec3 := { bit4 := '1111'B , - bit1 := '0'B , - bit3 := '100'B , - int := 15 , - oct2 := '1234'O } } } , // oct2 := omit - { id := 4 , - length1 := 6 , - par := { rec4:= { int := 15 , - oct5 := '1234567890'O } } } } , // oct5 := omit - EndOP := '00'O } // EndOP = omit - - - -const octetstring o := '0207051F031234560102FFFF02070005123456789003048F0F123404060F123456789000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 5 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 5> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)" }; - - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 4 , - length1 := 2 , - rec1 := { bit4 := '1111'B , // rec1 := omit - bit1 := '1'B , - bit3 := '000'B , - length1 := 0 , - octN := omit } , - opt_part := { { id := 1 , // opt_part := omit - length1 := 2 , - par := { octstr := 'FFFF'O } } , - { id := 2 , - length1 := 7 , - par := { rec2:= { bit8 := '00000000'B , - length1 := 5 , - octN := '1234567890'O } } } , // octN := omit - { id := 3 , - length1 := 4 , - par := { rec3 := { bit4 := '1111'B , - bit1 := '0'B , - bit3 := '100'B , - int := 15 , - oct2 := '1234'O } } } , // oct2 := omit - { id := 4 , - length1 := 6 , - par := { rec4:= { int := 15 , - oct5 := '1234567890'O } } } } , // oct5 := omit - EndOP := '00'O } // EndOP = omit - - - -const octetstring o := '0204021F000102FFFF02070005123456789003048F0F123404060F123456789000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 6 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 6> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)"}; - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 2 , - length1 := 0 , - rec1 := omit , - opt_part := { { id := 1 , // opt_part := omit - length1 := 2 , - par := { octstr := 'FFFF'O } } , - { id := 2 , - length1 := 7 , - par := { rec2:= { bit8 := '00000000'B , - length1 := 5 , - octN := '1234567890'O } } } , // octN := omit - { id := 3 , - length1 := 4 , - par := { rec3 := { bit4 := '1111'B , - bit1 := '0'B , - bit3 := '100'B , - int := 15 , - oct2 := '1234'O } } } , // oct2 := omit - { id := 4 , - length1 := 6 , - par := { rec4:= { int := 15 , - oct5 := '1234567890'O } } } } , // oct5 := omit - EndOP := '00'O } // EndOP = omit - - - -const octetstring o := '0202000102FFFF02070005123456789003048F0F123404060F123456789000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 7 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 7 > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)"}; - - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 2 , - length1 := 0 , - rec1 := omit , - opt_part := { { id := 1 , // opt_part := omit - length1 := 2 , - par := { octstr := 'FFFF'O } } , - { id := 2 , - length1 := 2 , - par := { rec2:= { bit8 := '00000000'B , - length1 := 0 , - octN := omit } } } , - { id := 3 , - length1 := 2 , - par := { rec3 := { bit4 := '1111'B , - bit1 := '0'B , - bit3 := '100'B , - int := 15 , - oct2 := omit } } } , - { id := 4 , - length1 := 1 , - par := { rec4:= { int := 15 , - oct5 := omit } } } } , - EndOP := '00'O } // EndOP = omit - - - -const octetstring o := '0202000102FFFF0202000003028F0F04010F00'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 8 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 8> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)"}; - - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 0 , - length1 := 0 , - rec1 := omit , - opt_part := omit , - EndOP := '00'O } // EndOP = omit - - - -const octetstring o := '02000000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 9 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 9> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type octetstring end_of_optional_parameters_indicator -with { variant "FIELDLENGTH(1)"}; - -type integer pointer -with { variant "" }; - -type integer INT1 -with { variant "" }; - -type record Rec1 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - INT1 length1 , - octetstring octN optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec2 -{ bitstring bit8 , - INT1 length1 , - octetstring octN optional } -with { variant (bit8) "FIELDLENGTH(8)" ; - variant (length1) "LENGTHTO(octN)" ; - }; - - -type record Rec3 -{ bitstring bit4 , - bitstring bit1 , - bitstring bit3 , - integer int , - octetstring oct2 optional } -with { variant (bit4) "FIELDLENGTH(4)" ; - variant (bit1) "FIELDLENGTH(1)" ; - variant (bit3) "FIELDLENGTH(3)" ; - variant (oct2) "FIELDLENGTH(2)" ; - }; - - - -type record Rec4 -{ integer int , - octetstring oct5 optional } -with { variant (oct5) "FIELDLENGTH(5)"}; - - -type union opt_par_union -{ octetstring octstr , - Rec2 rec2 , - Rec3 rec3 , - Rec4 rec4 } - with { variant (octstr) "FIELDLENGTH(2)" }; - - -type record opt_par -{ integer id , - integer length1 , - opt_par_union par } -with { variant (length1) "LENGTHTO(par)" ; - variant (par) "CROSSTAG( - octstr , id=1 ; - rec2 , id=2 ; - rec3 , id=3 ; - rec4 , id=4 ; )" - } ; - - -type set of opt_par optional_part - with { variant "" }; - - -type record RAW_PDU -{ pointer var_part_ptr, - pointer opt_part_ptr, - INT1 length1, - Rec1 rec1 optional, - optional_part opt_part optional, - end_of_optional_parameters_indicator EndOP optional -} with { variant (var_part_ptr) "POINTERTO (length1)"; - variant (opt_part_ptr) "POINTERTO (opt_part)"; - variant (length1) "LENGTHTO (rec1)" }; - -}with{encode "RAW"} - - -const RAW_PDU - i := { var_part_ptr := 2 , - opt_part_ptr := 0 , - length1 := 0 , - rec1 := omit , - opt_part := omit , - EndOP := omit } - - - -const octetstring o := '020000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 10 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 10> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type integer Pointer -with { variant "" } ; - -type octetstring EndOfOptionalPart -with { variant "FIELDLENGTH(1)" } ; - -type integer INT1 -with { variant "" } ; - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - -type hexstring HEX2 -with { variant "FIELDLENGTH(2)" } ; - -type enumerated MessageType - { e1(1), e2(2), e3(3), e4(4), e5(5) } - with { variant "FIELDLENGTH(8)" } - - -type enumerated ParamName - { name1(1), name2(2), name3(3), name4(4) } - with { variant "FIELDLENGTH(8)" } - -type record Param1 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param2 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param3 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param4 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type set Optional_part -{ Param1 param1 optional , - Param2 param2 optional , - Param3 param3 optional , - Param4 param4 optional } - with { variant "TAG ( - param1 , paramName= name1; - param2 , paramName= name2; - param3 , paramName= name3; - param4 , paramName= name4 )" } - - - -type record Elem1 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem2 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem3 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem4 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem5 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type union RAW_PDU -{ Elem1 elem1 , - Elem2 elem2 , - Elem3 elem3 , - Elem4 elem4 , - Elem5 elem5 } -with { variant "TAG ( - elem1 , messageType = e1 ; - elem2 , messageType = e2 ; - elem3 , messageType = e3 ; - elem4 , messageType = e4 ; - elem5 , messageType = e5 ) " - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { elem1 := - { messageType := e1 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 , - pointer1 := 2 , - pointer2 := 7 , - length1 := 5 , - octN := '1234567890'O , - opt_part := - { param1 := - { paramName := name1 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param4 := - { paramName := name4 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param3 := - { paramName := name3 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param2 := - { paramName := name2 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } }, - eop := '00'O } } - - - -const octetstring o := '0112345680FF010207051234567890010612345680FF01020612345680FF01030612345680FF01040612345680FF0100'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 11 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 11> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type integer Pointer -with { variant "" } ; - -type octetstring EndOfOptionalPart -with { variant "FIELDLENGTH(1)" } ; - -type integer INT1 -with { variant "" } ; - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - -type hexstring HEX2 -with { variant "FIELDLENGTH(2)" } ; - -type enumerated MessageType - { e1(1), e2(2), e3(3), e4(4), e5(5) } - with { variant "FIELDLENGTH(8)" } - - -type enumerated ParamName - { name1(1), name2(2), name3(3), name4(4) } - with { variant "FIELDLENGTH(8)" } - -type record Param1 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param2 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param3 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param4 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type set Optional_part -{ Param1 param1 optional , - Param2 param2 optional , - Param3 param3 optional , - Param4 param4 optional } - with { variant "TAG ( - param1 , paramName= name1; - param2 , paramName= name2; - param3 , paramName= name3; - param4 , paramName= name4 )" } - - -type record Elem1 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem2 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem3 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem4 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem5 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type union RAW_PDU -{ Elem1 elem1 , - Elem2 elem2 , - Elem3 elem3 , - Elem4 elem4 , - Elem5 elem5 } -with { variant "TAG ( - elem1 , messageType = e1 ; - elem2 , messageType = e2 ; - elem3 , messageType = e3 ; - elem4 , messageType = e4 ; - elem5 , messageType = e5 ) " - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { elem1 := - { messageType := e1 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 , - pointer1 := 2 , - pointer2 := 7 , - length1 := 5 , - octN := '1234567890'O , - opt_part := - { param1 := omit , - param4 := omit , - param3 := omit , - param2 := omit }, - eop := omit } } - - - -const octetstring o := '0112345680FF010207051234567890'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 12 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 12 > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type integer Pointer -with { variant "" } ; - -type octetstring EndOfOptionalPart -with { variant "FIELDLENGTH(1)" } ; - -type integer INT1 -with { variant "" } ; - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - -type hexstring HEX2 -with { variant "FIELDLENGTH(2)" } ; - -type enumerated MessageType - { e1(1), e2(2), e3(3), e4(4), e5(5) } - with { variant "FIELDLENGTH(8)" } - - -type enumerated ParamName - { name1(1), name2(2), name3(3), name4(4) } - with { variant "FIELDLENGTH(8)" } - -type record Param1 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param2 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param3 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param4 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type set Optional_part -{ Param1 param1 optional , - Param2 param2 optional , - Param3 param3 optional , - Param4 param4 optional } - with { variant "TAG ( - param1 , paramName= name1; - param2 , paramName= name2; - param3 , paramName= name3; - param4 , paramName= name4 )" } - - -type record Elem1 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem2 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem3 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem4 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem5 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type union RAW_PDU -{ Elem1 elem1 , - Elem2 elem2 , - Elem3 elem3 , - Elem4 elem4 , - Elem5 elem5 } -with { variant "TAG ( - elem1 , messageType = e1 ; - elem2 , messageType = e2 ; - elem3 , messageType = e3 ; - elem4 , messageType = e4 ; - elem5 , messageType = e5 ) " - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { elem1 := - { messageType := e1 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 , - pointer1 := 2 , - pointer2 := 7 , - length1 := 5 , - octN := '1234567890'O , - opt_part := - { param1 := - { paramName := name1 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param4 := - { paramName := name4 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param3 := - { paramName := name3 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param2 := omit }, - eop := '00'O } } - - - -const octetstring o := '0112345680FF010207051234567890010612345680FF01030612345680FF01040612345680FF0100'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 13 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 13 > - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type integer Pointer -with { variant "" } ; - -type octetstring EndOfOptionalPart -with { variant "FIELDLENGTH(1)" } ; - -type integer INT1 -with { variant "" } ; - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - -type hexstring HEX2 -with { variant "FIELDLENGTH(2)" } ; - -type enumerated MessageType - { e1(1), e2(2), e3(3), e4(4), e5(5) } - with { variant "FIELDLENGTH(8)" } - - -type enumerated ParamName - { name1(1), name2(2), name3(3), name4(4) } - with { variant "FIELDLENGTH(8)" } - -type record Param1 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param2 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param3 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param4 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } -with {variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type set Optional_part -{ Param1 param1 optional , - Param2 param2 optional , - Param3 param3 optional , - Param4 param4 optional } - with { variant "TAG ( - param1 , paramName= name1; - param2 , paramName= name2; - param3 , paramName= name3; - param4 , paramName= name4 )" } - - -type record Elem1 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem2 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem3 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem4 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem5 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type union RAW_PDU -{ Elem1 elem1 , - Elem2 elem2 , - Elem3 elem3 , - Elem4 elem4 , - Elem5 elem5 } -with { variant "TAG ( - elem1 , messageType = e1 ; - elem2 , messageType = e2 ; - elem3 , messageType = e3 ; - elem4 , messageType = e4 ; - elem5 , messageType = e5 ) " - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { elem2 := - { messageType := e2 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 , - pointer1 := 2 , - pointer2 := 7 , - length1 := 5 , - octN := '1234567890'O , - opt_part := - { param1 := - { paramName := name1 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param4 := omit , - param3 := - { paramName := name3 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param2 := omit }, - eop := omit } } - - - -const octetstring o := '0212345680FF010207051234567890010612345680FF01030612345680FF01'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 14 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 14> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type integer Pointer -with { variant "" } ; - -type octetstring EndOfOptionalPart -with { variant "FIELDLENGTH(1)" } ; - -type integer INT1 -with { variant "" } ; - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - -type hexstring HEX2 -with { variant "FIELDLENGTH(2)" } ; - -type enumerated MessageType - { e1(1), e2(2), e3(3), e4(4), e5(5) } - with { variant "FIELDLENGTH(8)" } - - -type enumerated ParamName - { name1(1), name2(2), name3(3), name4(4) } - with { variant "FIELDLENGTH(8)" } - -type record Param1 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } - with { variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param2 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } - with { variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param3 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } - with { variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - - -type record Field1 -{ BIT1 field2indic , - BIT7 field2par } -with { variant "" } - - - -type union Field2 -{ OCT3 present_ , - OCT3 absent } -with { variant "" } - - - -type record Param4 -{ ParamName paramName , - integer paramLength , - Field1 field1 , - Field2 field2 , - HEX2 hexstr , - INT1 int } - with { variant (field2) "CROSSTAG( - present_ , field1.field2indic = '1'B ; - absent , field1.field2indic = '0'B ; )" ; - variant (paramLength) "LENGTHTO(field1 , field2 , hexstr , int )" } - -type set Optional_part -{ Param1 param1 optional , - Param2 param2 optional , - Param3 param3 optional , - Param4 param4 optional } - with { variant "TAG ( - param1 , paramName= name1; - param2 , paramName= name2; - param3 , paramName= name3; - param4 , paramName= name4 )" } - - -type record Elem1 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem2 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem3 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem4 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem5 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type union RAW_PDU -{ Elem1 elem1 , - Elem2 elem2 , - Elem3 elem3 , - Elem4 elem4 , - Elem5 elem5 } -with { variant "TAG ( - elem1 , messageType = e1 ; - elem2 , messageType = e2 ; - elem3 , messageType = e3 ; - elem4 , messageType = e4 ; - elem5 , messageType = e5 ) " - } ; - -} with{encode "RAW"} - -const RAW_PDU - i := { elem2 := - { messageType := e2 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 , - pointer1 := 2 , - pointer2 := 7 , - length1 := 5 , - octN := '1234567890'O , - opt_part := - { param1 := - { paramName := name1 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param4 := - { paramName := name4 , - paramLength := 6 , - field1 := - { field2indic := '1'B , - field2par := '0000000'B } , - field2 := - { present_ := 'FFFFFF'O } , - hexstr := '12'H , - int := 1 } , - param3 := - { paramName := name3 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param2 := omit }, - eop := '00'O } } - - - -const octetstring o :='0212345680FF010207051234567890010612345680FF01030612345680FF01040601FFFFFF210100'O - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 15 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 15> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type integer Pointer -with { variant "" } ; - -type octetstring EndOfOptionalPart -with { variant "FIELDLENGTH(1)" } ; - -type integer INT1 -with { variant "" } ; - -type bitstring BIT1 -with { variant "FIELDLENGTH(1)" } ; - -type bitstring BIT7 -with { variant "FIELDLENGTH(7)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - -type hexstring HEX2 -with { variant "FIELDLENGTH(2)" } ; - -type enumerated MessageType - { e1(1), e2(2), e3(3), e4(4), e5(5) } - with { variant "FIELDLENGTH(8)" } - - -type enumerated ParamName - { name1(1), name2(2), name3(3), name4(4) } - with { variant "FIELDLENGTH(8)" } - -type record Param1 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } - with { variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param2 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } - with { variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - -type record Param3 -{ ParamName paramName , - integer paramLength , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int } - with { variant (paramLength) "LENGTHTO(octstr , bit7 , bit1 , hexstr , int )" } - - -type record Field1 -{ BIT1 field2indic , - BIT7 field2par } -with { variant "" } - - -type union Field2 -{ OCT3 present_ , - OCT3 absent } -with { variant "" } - - -type record Param4 -{ ParamName paramName , - integer paramLength , - Field1 field1 , - Field2 field2 , - HEX2 hexstr , - INT1 int } - with { variant (field2) "CROSSTAG( - present_ , field1.field2indic = '1'B ; - absent , field1.field2indic = '0'B ; )" ; - variant (paramLength) "LENGTHTO(field1 , field2 , hexstr , int )" } - -type set Optional_part -{ Param1 param1 optional , - Param2 param2 optional , - Param3 param3 optional , - Param4 param4 optional } - with { variant "TAG ( - param1 , paramName= name1; - param2 , paramName= name2; - param3 , paramName= name3; - param4 , paramName= name4 )" } - - -type record Elem1 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem2 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem3 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem4 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type record Elem5 -{ MessageType messageType , - OCT3 octstr , - BIT7 bit7 , - BIT1 bit1 , - HEX2 hexstr , - INT1 int , - Pointer pointer1 , - Pointer pointer2 , - integer length1 , - octetstring octN , - Optional_part opt_part , - EndOfOptionalPart eop optional } - with { variant (pointer1) "POINTERTO(length1)"; - variant (pointer2) "POINTERTO(opt_part)" ; - variant (length1) "LENGTHTO(octN)" - - //Note, that optional part itself is mandatory but it may be empty! - } - - -type union RAW_PDU -{ Elem1 elem1 , - Elem2 elem2 , - Elem3 elem3 , - Elem4 elem4 , - Elem5 elem5 } -with { variant "TAG ( - elem1 , messageType = e1 ; - elem2 , messageType = e2 ; - elem3 , messageType = e3 ; - elem4 , messageType = e4 ; - elem5 , messageType = e5 ) " - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { elem2 := - { messageType := e2 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 , - pointer1 := 2 , - pointer2 := 7 , - length1 := 5 , - octN := '1234567890'O , - opt_part := - { param1 := - { paramName := name1 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param4 := - { paramName := name4 , - paramLength := 6 , - field1 := - { field2indic := '0'B , - field2par := '0000000'B } , - field2 := - { absent := '000000'O } , - hexstr := '12'H , - int := 1 } , - param3 := - { paramName := name3 , - paramLength := 6 , - octstr := '123456'O , - bit7 := '0000000'B , - bit1 := '1'B , - hexstr := 'FF'H , - int := 1 } , - param2 := omit }, - eop := '00'O } } - - - -const octetstring o :='0212345680FF010207051234567890010612345680FF01030612345680FF01040600000000210100'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 16 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 16> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - -type union Union2 -{ OCT3 field1 , - OCT2 field2 , - OCT3 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ BIT4 id , - Union1 union1 , - Union2 union2 } - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - - - - -const RAW_PDU - i := { id := '0001'B , - union1 := { field1 := '0000'B } , - union2 := { field1 := '123456'O } } - - - -const octetstring o :='01123456'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Test of structured types - 17 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Test of structured types - 17> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - -type octetstring OCT3 -with { variant "FIELDLENGTH(3)" } ; - - -type union Union2 -{ OCT3 field1 , - OCT2 field2 , - OCT3 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ BIT4 id , - Union1 union1 , - Union2 union2 } - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { id := '0111'B , - union1 := { field2 := '1111'B } , - union2 := { field4 := '1234'O } } - - - -const octetstring o :='F71234'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Testing RAW update -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Raw update test 1 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 1> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ Union2 union2 , - Union1 union1, - BIT4 id } - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := { field4 := '1234'O } , - union1 := { field2 := '1111'B }, - id := '0111'B } - - - -const octetstring o :='12347F'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 2 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 2> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ Union2 union2 , - Union1 union1, - BIT4 id } - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := { field1 := '1234'O } , - union1 := { field1 := '1111'B }, - id := '0001'B } - - - -const octetstring o :='12341F'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 3 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 3> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type bitstring BIT8 -with { variant "FIELDLENGTH(8)"}; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ Union2 union2 , - Union1 union1, - BIT8 outfiller, - BIT4 id } - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := { field1 := '1234'O } , - union1 := { field1 := '1111'B }, - outfiller := '00001000'B, - id := '0001'B } - - - -const octetstring o :='12348F10'O - - - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 4 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 4> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type bitstring BIT8 -with { variant "FIELDLENGTH(8)"}; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ Union2 union2 , - BIT8 outfiller, - Union1 union1, - BIT4 id } - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := { field1 := '1234'O } , - outfiller := '00001000'B, - union1 := { field1 := '1111'B }, - id := '0001'B } - - -const octetstring o :='1234081F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 5 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 5> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type bitstring BIT8 -with { variant "FIELDLENGTH(8)"}; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ BIT8 outfiller, - Union2 union2 , - Union1 union1, - BIT4 id } - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { outfiller := '00001000'B, - union2 := { field1 := '1234'O } , - union1 := { field1 := '1111'B }, - id := '0001'B } - - -const octetstring o :='0812341F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 6 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 6> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ Union2 union2 , - BIT4 id, - Union1 union1} - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := { field1 := '1234'O }, - id := '0001'B, - union1 := { field1 := '1111'B } - } - - -const octetstring o :='1234F1'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 7 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 7> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ Union2 union2 , - BIT4 id, - Union1 union1} - with { variant (union2) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := { field4 := '1234'O }, - id := '0101'B, - union1 := { field2 := '1111'B } - } - - -const octetstring o :='1234F5'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 8 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 8> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union2 -{ OCT2 field1 , - OCT2 field2 , - OCT2 field3 , - OCT2 field4 } - with { variant ""}; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - - -type record RAW_PDU -{ Union2 union2_1, - Union2 union2_2, - Union1 union1_1, - BIT4 id, - Union1 union1_2, - BIT4 id2} - with { variant (union2_1) "CROSSTAG( - field1 , id = '0001'B ; - field2 , id = '0010'B ; - field3 , id = '0011'B ; - field4 , { id = '0100'B , - id = '0101'B , - id = '0111'B } )" ; - variant (union1_1) "CROSSTAG( - field1 , { id = '0001'B , - id = '0010'B , - id = '0011'B } ; - field2 , { id = '0100'B , - id = '0101'B , - id = '0111'B })" ; - variant (union2_2) "CROSSTAG(field1 , id2 = '0001'B ; - field2 , OTHERWISE)"; - variant (union1_2) "CROSSTAG(field1 , id2 = '0001'B ; - field2 , OTHERWISE)" ; - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2_1 := {field1 := '1234'O }, - union2_2 := { field1 := '1234'O}, - union1_1 := { field1 := '1111'B }, - id := '0001'B, - union1_2 := { field1 := '1111'B}, - id2 := '0001'B - } - - -const octetstring o :='123412341F1F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 9 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 9> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - - -type union Union1 -{ BIT4 field1 , - BIT4 field2 } - with { variant ""}; - -type union Union3 -{ BIT4 field1, - OCT2 field2 -} with { variant ""}; - - -type record RAW_PDU -{ BIT4 id, - Union3 union3, - Union1 union1, - BIT4 id2} - with { variant (union1) "CROSSTAG(field1 , id2 = '0001'B ; - field2 , OTHERWISE)" ; - variant (union3) "CROSSTAG( field1, id = '0001'B; - field2, OTHERWISE)" - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { id := '0001'B, - union3 := {field1 := '1110'B}, - union1 := { field1 := '1111'B}, - id2 := '0001'B - } - - -const octetstring o :='E11F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 10 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 10> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - -group shortening{ - -type union Union1 -{ BIT4 field1 , - BIT4 field2 }; - -type union Union2 -{ OCT2 field1 , - OCT2 field2 }; - -type union Union3 -{ BIT4 field1, - OCT2 field2 }; - -} with {variant ""} - -type record RAW_PDU -{ Union2 union2, - BIT4 id, - Union3 union3, - Union1 union1, - BIT4 id2} - with { variant (union1) "CROSSTAG(field1 , id2 = '0001'B ; - field2 , OTHERWISE)" ; - variant (union3) "CROSSTAG( field1, id = '0001'B; - field2, OTHERWISE)"; - variant (union2) "CROSSTAG(field1 , id2 = '0001'B ; - field2 , OTHERWISE)"} ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := {field1 := '1234'O}, - id := '0001'B, - union3 := {field1 := '1110'B}, - union1 := { field1 := '1111'B}, - id2 := '0001'B - } - - -const octetstring o :='1234E11F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 11 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 11> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type bitstring BIT4 -with { variant "FIELDLENGTH(4)" } ; - -type octetstring OCT2 -with { variant "FIELDLENGTH(2)" } ; - -group shortening{ - -type union Union1 -{ BIT4 field1 , - BIT4 field2 }; - -type union Union3 -{ BIT4 field1, - OCT2 field2 }; - -} with {variant ""} - -type record RAW_PDU -{ union { - octetstring field1, - octetstring field2 - } union2, - BIT4 id, - Union3 union3, - Union1 union1, - BIT4 id2} - with { variant (union1) "CROSSTAG(field1 , id2 = '0001'B ; - field2 , OTHERWISE)" ; - variant (union3) "CROSSTAG( field1, id = '0001'B; - field2, OTHERWISE)"; - variant (union2) "CROSSTAG(field1 , id2 = '0001'B ; - field2 , OTHERWISE)"; - variant (union2.field1, union2.field2) "FIELDLENGTH(2)" - } ; - -}with{encode "RAW"} - -const RAW_PDU - i := { union2 := {field1 := '1234'O}, - id := '0001'B, - union3 := {field1 := '1110'B}, - union1 := { field1 := '1111'B}, - id2 := '0001'B - } - - -const octetstring o :='1234E11F'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 12 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 12> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type union Code { - integer field1, - integer field2, - integer field3 -} with { variant "FIELDLENGTH(8)"}; - -type record RAW_PDU{ - Code code, - bitstring ABCxxxxx, - integer PDU_length, - octetstring id optional - } with { variant (PDU_length) "FIELDLENGTH(16)"; - variant (ABCxxxxx) "FIELDLENGTH(8)"; - variant (id) "PRESENCE( { - ABCxxxxx = '10000000'B, - ABCxxxxx = '10100000'B} )"; - variant (code) "CROSSTAG( - field1, id = omit; - field2, id = '02'O; - field3, id = '03'O; )"}; - -}with{encode "RAW"} - -const RAW_PDU - i := { code := { field1 := 16}, - ABCxxxxx := '00000000'B, - PDU_length := 16, - id := omit } - - -const octetstring o :='10001000'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 13 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 13> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type union Code { - integer field1, - integer field2, - integer field3 -} with { variant "FIELDLENGTH(8)"}; - -type record RAW_PDU{ - Code code, - bitstring ABCxxxxx, - integer PDU_length, - octetstring id optional - } with { variant (PDU_length) "FIELDLENGTH(16)"; - variant (ABCxxxxx) "FIELDLENGTH(8)"; - variant (id) "PRESENCE( { - ABCxxxxx = '10000000'B, - ABCxxxxx = '10100000'B} )"; - variant (code) "CROSSTAG( - field1, id = omit; - field2, id = '02'O; - field3, id = '03'O; )"}; - -}with{encode "RAW"} - -const RAW_PDU - i := { code := { field2 := 16}, - ABCxxxxx := '10000000'B, - PDU_length := 16, - id := '02'O } - - -const octetstring o :='1080100002'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 14 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 14> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type union Code { - enumerated {e1a (0), e1b (1), e1c (2)} E1, - enumerated {e2a (1), e2b (2), e2c (3)} E2, - enumerated {e3a (2), e3b (3), e3c (4), e3d (5)} E3 -} with { variant (E1,E2,E3) "FIELDLENGTH(32)"; - variant (E1,E2,E3) "BYTEORDER(last)"; - variant (E1,E2,E3) "COMP(2scompl)"}; - -type integer UINT24 (0..16777215) -with {variant "FIELDLENGTH(24)"; - variant "BYTEORDER(last)"}; - -type enumerated Identifier { - id_E1 (0), - id_E2 (1), - id_E3 (2) -} with {variant "FIELDLENGTH(32)"; - variant "BYTEORDER(last)"; - variant "COMP(2scompl)"}; - -type record RAW_PDU{ - Code code, - bitstring ABCxxxxx, - UINT24 PDU_length, - Identifier id optional, - octetstring payload optional - } with { variant (ABCxxxxx) "FIELDLENGTH(8)"; - variant (id) "PRESENCE( { - ABCxxxxx = '10000000'B, - ABCxxxxx = '10100000'B} )"; - variant (code) "CROSSTAG( - E1, id = omit; - E2, id = id_E2; - E3, id = id_E3; )"; - variant (PDU_length) "LENGTHTO(code,ABCxxxxx,PDU_length,id,payload)"}; - -}with{encode "RAW"} - -const RAW_PDU - i := { code := {E1 := e1c}, - ABCxxxxx := '00000000'B, - PDU_length := 8, - id := omit, - payload := omit} - - -const octetstring o :='0000000200000008'O ; - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 15 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 15> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type union Code { - enumerated {e1a (0), e1b (1), e1c (2)} E1, - enumerated {e2a (1), e2b (2), e2c (3)} E2, - enumerated {e3a (2), e3b (3), e3c (4), e3d (5)} E3 -} with { variant (E1,E2,E3) "FIELDLENGTH(32)"; - variant (E1,E2,E3) "BYTEORDER(last)"; - variant (E1,E2,E3) "COMP(2scompl)"}; - -type integer UINT24 (0..16777215) -with {variant "FIELDLENGTH(24)"; - variant "BYTEORDER(last)"}; - -type enumerated Identifier { - id_E1 (0), - id_E2 (1), - id_E3 (2) -} with {variant "FIELDLENGTH(32)"; - variant "BYTEORDER(last)"; - variant "COMP(2scompl)"}; - -type record RAW_PDU{ - Code code, - bitstring ABCxxxxx, - UINT24 PDU_length, - Identifier id optional, - octetstring payload optional - } with { variant (ABCxxxxx) "FIELDLENGTH(8)"; - variant (id) "PRESENCE( { - ABCxxxxx = '10000000'B, - ABCxxxxx = '10100000'B} )"; - variant (code) "CROSSTAG( - E1, id = omit; - E2, id = id_E2; - E3, id = id_E3; )"; - variant (PDU_length) "LENGTHTO(code,ABCxxxxx,PDU_length,id,payload)"}; - -}with{encode "RAW"} - -const RAW_PDU - i := { code := {E2 := e2b}, - ABCxxxxx := '10000000'B, - PDU_length := 14, - id := id_E2, - payload := 'ABCD'O} - - -const octetstring o :='000000028000000E00000001ABCD'O ; - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Raw update test 16 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Raw update test 16> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - -type union Code { - enumerated {e1a (0), e1b (1), e1c (2)} E1, - enumerated {e2a (1), e2b (2), e2c (3)} E2, - enumerated {e3a (2), e3b (3), e3c (4), e3d (5)} E3 -} with { variant (E1,E2,E3) "FIELDLENGTH(32)"; - variant (E1,E2,E3) "BYTEORDER(last)"; - variant (E1,E2,E3) "COMP(2scompl)"}; - -type integer UINT24 (0..16777215) -with {variant "FIELDLENGTH(24)"; - variant "BYTEORDER(last)"}; - -type enumerated Identifier { - id_E1 (0), - id_E2 (1), - id_E3 (2) -} with {variant "FIELDLENGTH(32)"; - variant "BYTEORDER(last)"; - variant "COMP(2scompl)"}; - -type record RAW_PDU{ - Code code, - bitstring ABCxxxxx, - UINT24 PDU_length, - Identifier id optional, - octetstring payload optional - } with { variant (ABCxxxxx) "FIELDLENGTH(8)"; - variant (id) "PRESENCE( { - ABCxxxxx = '10000000'B, - ABCxxxxx = '10100000'B} )"; - variant (code) "CROSSTAG( - E1, id = omit; - E2, id = id_E2; - E3, id = id_E3; )"; - variant (PDU_length) "LENGTHTO(code,ABCxxxxx,PDU_length,id,payload)"}; - -}with{encode "RAW"} - -const RAW_PDU - i := { code := {E3 := e3b}, - ABCxxxxx := '10100000'B, - PDU_length := 14, - id := id_E3, - payload := 'ABCD'O} - - -const octetstring o :='00000003A000000E00000002ABCD'O ; - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o )and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3. group raw attribute test 1 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- group raw attribute test 1> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group { - type integer RAW_PDU -} with { encode "RAW"; - variant "FIELDLENGTH(8)" ; - variant "COMP( 2scompl ) " - }; - -const RAW_PDU i := -2 -const octetstring o := 'FE'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. group raw attribute test 2 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- group raw attribute test 2> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -type integer RAW_PDU -with { encode "RAW"; - variant "BITORDERINOCTET(msb)"; - variant "BYTEORDER(last)"; - variant "ALIGN(left)"; - variant "BITORDERINFIELD(msb)"; - variant "COMP(signbit)"; - variant "FIELDLENGTH(20)" }; - -const RAW_PDU i := -234 -const octetstring o := 'EA0008'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - - -.*---------------------------------------------------------------------* -:h3. group raw attribute test 3 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- group raw attribute test 3> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group { - group grp_v1 { - group grp_v2 { - group grp_v3 { - group grp_v4 { - group grp_v5 { - group grp_v6 { - type integer RAW_PDU - } with { variant "BITORDERINOCTET(msb)" } - } with { variant "BYTEORDER(last)" } - } with { variant "ALIGN(left)" } - } with { variant "BITORDERINFIELD(msb)" } - } with { variant "COMP(signbit)" } - } with { variant "FIELDLENGTH(20)" } -} with { encode "RAW" } - -const RAW_PDU i := -234 -const octetstring o := 'EA0008'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. group raw attribute test 4 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- group raw attribute test 4> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group { - group grp_v1 { - group grp_v2 { - group grp_v3 { - group grp_v4 { - group grp_v5 { - group grp_v6 { - type integer RAW_PDU - with { variant "" } - } with { variant "FIELDLENGTH(20)"; variant "COMP(signbit)" } - } with { variant "BITORDERINFIELD(msb)"; variant "ALIGN(left)" } - } with { variant "BITORDERINOCTET(msb)"; variant "BYTEORDER(last)" } - } with { variant "BITORDERINOCTET(lsb)"; variant "BYTEORDER(first)" } - } with { variant "FIELDLENGTH(10)"; variant "COMP(2scompl)" } - } with { variant "BITORDERINFIELD(lsb)"; variant "ALIGN(right)" } - -} with { encode "RAW" } - -const RAW_PDU i := -234 -const octetstring o := 'EA0008'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - - -.*---------------------------------------------------------------------* -:h3. group raw attribute test 5 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- group raw attribute test 5> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group { - group grp_v1 { - group grp_v2 { - group grp_v3 { - type integer RAW_PDU - with { encode "RAW"; variant "" } - } with { encode "RAW"; variant "FIELDLENGTH(20)"; variant "COMP(signbit)" } - } with { encode "RAW"; variant "BITORDERINFIELD(msb)"; variant "ALIGN(left)" } - } with { encode "RAW"; variant "BITORDERINOCTET(msb)"; variant "BYTEORDER(last)" } -} with { encode "RAW" } - -const RAW_PDU i := -234 -const octetstring o := 'EA0008'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. group raw attribute test 6 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- group raw attribute test 6> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group { - group grp_v1 { - group grp_v2 { - group grp_v3 { - type integer RAW_PDU - with { variant "" } - } with { variant override "FIELDLENGTH(32)" } - } with { variant "FIELDLENGTH(10)" } - } with { variant override "FIELDLENGTH(8)"; variant "FIELDLENGTH(2)" } -} with { encode "RAW" } - -const RAW_PDU i := 255 -const octetstring o := 'FF'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. group raw attribute test 7 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- group raw attribute test 7> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream) return RAW_PDU with { extension "prototype(convert) decode(RAW)" } - -group RAW_group{ - group grp1 { - type record RAW_PDU - { integer int1 , - integer int2 , - integer int3 , - integer int4 } - with { variant (int1,int2,int3,int4) "FIELDLENGTH(4)"; - variant (int1,int2) "PADDING(yes)"; - variant (int3,int4) "PADDING(no)"; } - } with { variant "FIELDLENGTH(3)" } -} with {encode "RAW" }; - - -const RAW_PDU - i := { int1 := 1 , - int2 := 2 , - int3 := 3 , - int4 := 4 } - -const octetstring o := '010243'O - -<TTCN_TC:EXEC> - -log ("enc_RAW_PDU(i)= " , enc_RAW_PDU(i)) ; -log ("dec_RAW_PDU(o)= " , dec_RAW_PDU(o)) ; - -if ((enc_RAW_PDU(i) == o)and(dec_RAW_PDU(o) == i)) {setverdict(pass);} - else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Testing Enc/Dec functions of implicit message encoding -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Fast enc/dec function -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Implicit message encoding: prototype fast> - -<STATIC> - -external function enc_RAW_PDU(in RAW_PDU pdu, out octetstring stream) with { extension "prototype(fast) encode(RAW)" } -external function dec_RAW_PDU(in octetstring stream, out RAW_PDU pdu) with { extension "prototype(fast) decode(RAW)" } -type integer RAW_PDU with { encode "RAW"; variant "FIELDLENGTH(16)" }; - -const RAW_PDU i := 255 -const octetstring o := 'FF00'O - -<TTCN_TC:EXEC> - -var octetstring encoded_pdu; -var RAW_PDU decoded_pdu; - -enc_RAW_PDU(i, encoded_pdu); -dec_RAW_PDU(o, decoded_pdu); - -if ( encoded_pdu == o and decoded_pdu == i ) {setverdict(pass);} -else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Backtrack decode function -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Implicit message encoding: prototype backtrack> - -<STATIC> - -external function dec_RAW_PDU(in octetstring stream, out RAW_PDU pdu) return integer - with { extension "prototype(backtrack) decode(RAW) errorbehavior(ALL:WARNING)" } - -type integer RAW_PDU with { encode "RAW"; variant "FIELDLENGTH(16)" }; - -const RAW_PDU i := 255 -const octetstring o1 := 'FF00'O -const octetstring o2 := '12'O - -<TTCN_TC:EXEC> - -var RAW_PDU decoded_pdu; -var integer ret_val; - -ret_val := dec_RAW_PDU(o1, decoded_pdu); -if (ret_val==0 and decoded_pdu==i) {setverdict(pass);} -else {setverdict(fail);} - -ret_val := dec_RAW_PDU(o2, decoded_pdu); -if (ret_val==1) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Sliding decode function -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Implicit message encoding: prototype sliding> - -<STATIC> - -external function dec_RAW_PDU(inout octetstring stream, out RAW_PDU pdu) return integer - with { extension "prototype(sliding) decode(RAW) errorbehavior(ALL:WARNING)" } - -type integer RAW_PDU with { encode "RAW"; variant "FIELDLENGTH(16)" }; - -const RAW_PDU i := 255 - -<TTCN_TC:EXEC> - -var octetstring o1 := 'FF00'O; -var octetstring o2 := '12'O; -var RAW_PDU decoded_pdu; -var integer ret_val; - -ret_val := dec_RAW_PDU(o1, decoded_pdu); -if (ret_val==0 and decoded_pdu==i) {setverdict(pass);} -else {setverdict(fail);} - -ret_val := dec_RAW_PDU(o2, decoded_pdu); -if (ret_val>0) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h2. Testing limits of codec -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Decoding empty octetstring to PDU -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Decoding empty octetstring to PDU> - -<STATIC> - -type record PDU { - integer f1, - octetstring f2, - boolean f3 -} with { encode "RAW" variant "" } - -external function decodePDU(inout octetstring os, out PDU pdu) return integer -with { extension "prototype(sliding) decode(RAW) errorbehavior(ALL:WARNING)" } - -<TTCN_TC:EXEC> - -var octetstring os := ''O; -var PDU pdu; -var integer ret_val := decodePDU(os, pdu); -if (ret_val>0) {setverdict(pass);} else {setverdict(fail);} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Testing encoding/decoding of big integers -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Encoding/decoding big integer variables -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Big integers: Encoding/decoding big integer variables> - -<STATIC> - -external function enc_raw3(in myint3 r) return octetstring - with { extension "encode(RAW) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_raw3(in octetstring r) return myint3 - with { extension "decode(RAW) prototype(convert) errorbehavior(ALL:WARNING)" } -external function enc_raw2(in myint2 r) return octetstring - with { extension "encode(RAW) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_raw2(in octetstring r) return myint2 - with { extension "decode(RAW) prototype(convert) errorbehavior(ALL:WARNING)" } - -type integer myint2 -with { - variant "FIELDLENGTH(128)" - variant "COMP(nosign)" - variant "BITORDERINFIELD(lsb)" - variant "PADDING(dword32)" - encode "RAW" } - -type integer myint3 -with { - variant "FIELDLENGTH(96)" - variant "COMP(signbit)" - variant "BITORDERINFIELD(lsb)" - variant "PADDING(dword32)" - encode "RAW" } - -<TTCN_TC:EXEC> - - var myint3 v1 := -4294967296 - var myint3 v2 := -2147483647 - var myint3 v3 := 34359738368 - var myint3 v4 := 4398046511104 - var myint3 v5 := -140737488355328 - var myint3 v6 := 4294967296 - var myint3 v7 := 4294967295 - var myint3 v8 := -4294967295 - var myint3 v9 := 4294967297 - var myint3 v10 := -4294967297 - var myint3 v11 := 2147483647 - var myint3 v12 := -2147483648 - var myint3 v13 := 2147483648 - var myint3 v14 := -2147483649 - var myint3 v15 := 2147483649 - var myint2 v16 := -4294967296 - var myint2 v17 := 2147483647 - var myint2 v18 := 34359738368 - var myint2 v19 := 4398046511104 - var octetstring o - o := enc_raw3(v1);if (v1 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v2);if (v2 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v3);if (v3 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v4);if (v4 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(-140737488355328);if (v5 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v6);if (v6 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v7);if (v7 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v8);if (v8 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v9);if (v9 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v10);if (v10 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v11);if (v11 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v12);if (v12 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v13);if (v13 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw3(v14);if (v14 == dec_raw3(o)) {setverdict(pass)} else {setverdict(fail)} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding/decoding records with big integer fields -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Big integers: Encoding/decoding records with big integer fields> - -<STATIC> - -external function enc_raw(in rec_raw1 r) return octetstring - with { extension "encode(RAW) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_raw(in octetstring r) return rec_raw1 - with { extension "decode(RAW) prototype(convert) errorbehavior(ALL:WARNING)" } - -type integer myint1 -with { - variant "FIELDLENGTH(256)" - variant "COMP(2scompl)" - variant "BITORDERINFIELD(lsb)" - variant "PADDING(dword32)" - encode "RAW" } // The script eats the trailing '}' in a new line. - -type record rec_raw1 { - myint1 int1, - myint1 int2 -} with { variant "" encode "RAW" } - -<TTCN_TC:EXEC> - - var rec_raw1 myrec1 := {int1 := -12345678910111213141516, int2 := -3} - var rec_raw1 myrec2 := {int1 := -11111111111111111111111, int2 := -11111111111111111111111} - var rec_raw1 myrec3 := {int1 := -2147483648, int2 := -4294967296} - var rec_raw1 myrec4 := {int1 := 2147483648, int2 := -4294967296} - var rec_raw1 myrec5 := {int1 := -2147483649, int2 := 2147483649} - var rec_raw1 myrec6 := {int1 := -1234, int2 := -4321} - var octetstring o - o := enc_raw(myrec1);if (myrec1 == dec_raw(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw(myrec2);if (myrec2 == dec_raw(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw(myrec3);if (myrec3 == dec_raw(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw(myrec4);if (myrec4 == dec_raw(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw(myrec5);if (myrec5 == dec_raw(o)) {setverdict(pass)} else {setverdict(fail)} - o := enc_raw(myrec6);if (myrec6 == dec_raw(o)) {setverdict(pass)} else {setverdict(fail)} - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Multiple optional fields (R8G FOA bug) -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- Multiple optional fields (R8G FOA bug)> - -<STATIC> - -external function enc_PDU_GTPCv2(in PDU_GTPCv2 pdu) return octetstring -with { extension "prototype(convert)" extension "encode(RAW)" } - -external function dec_PDU_GTPCv2(in octetstring stream) return PDU_GTPCv2 -with { extension "prototype(convert)" extension "decode(RAW)" } - -type bitstring BIT3 length(3) with { encode "RAW" variant "FIELDLENGTH(3)" }; -type bitstring BIT4 length(4) with { encode "RAW" variant "FIELDLENGTH(4)" }; -type bitstring BIT5 length(5) with { encode "RAW" variant "FIELDLENGTH(5)" }; -type bitstring BIT1 length(1) with { encode "RAW" variant "FIELDLENGTH(1)" }; -type octetstring OCT1 length(1) with { encode "RAW" variant "FIELDLENGTH(1)" }; -type octetstring OCT2 length(2) with { encode "RAW" variant "FIELDLENGTH(2)" }; -type octetstring OCT3 length(3) with { encode "RAW" variant "FIELDLENGTH(3)" }; -type octetstring OCT4 length(4) with { encode "RAW" variant "FIELDLENGTH(4)" }; -type integer LIN1 (0..255) with { encode "RAW" variant "FIELDLENGTH(8)" }; - -type integer LIN2_BO_LAST (0..65535) with { encode "RAW" variant "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)" }; - -type record Cause { - OCT1 elementIdentifier, //dec 2, '02'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - OCT1 causeValue, - BIT1 cS, - BIT1 bCE, - BIT1 pCE, - BIT5 spare2, - OCT1 typeOfOffendingIE optional, - LIN2_BO_LAST lengthIndicator2 optional, - BIT4 instanceOfOffendingIE optional, - BIT4 spare3 optional -} with { encode "RAW" - variant "PRESENCE (elementIdentifier = '02'O; )" - variant (lengthIndicator) "LENGTHTO(causeValue,cS,bCE,pCE,spare2,typeOfOffendingIE, - lengthIndicator2,instanceOfOffendingIE,spare3 )" }; - -type record Recovery { - OCT1 elementIdentifier, // dec 3, '03'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer recoveryValue -} with { encode "RAW" - variant (lengthIndicator) "LENGTHTO(recoveryValue)" - variant "PRESENCE (elementIdentifier = '03'O; )" }; - -type set of ProtocolID_or_ContainerID ProtocolIDs_and_ContainerIDs; - -type record ProtocolID_or_ContainerID { - OCT2 protocolID_or_ContainerID, - LIN1 lengthIndicator, - octetstring protID_orContID_Contents -} with { encode "RAW" - variant (lengthIndicator) "LENGTHTO (protID_orContID_Contents)"}; - -type record ProtocolConfigOptions { - OCT1 elementIdentifier, // dec 78 '4E'O; - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - BIT3 configProtocol, - BIT4 spare2, //'0000'B - BIT1 extensionField, //'1'B - ProtocolIDs_and_ContainerIDs protocolIDs_and_ContainerIDs optional -} with { encode "RAW" - variant (lengthIndicator) "LENGTHTO(configProtocol,spare2,extensionField,protocolIDs_and_ContainerIDs)" - variant "PRESENCE (elementIdentifier = '4E'O; )" }; - -type record PrivateExtension { - OCT1 elementIdentifier, // dec 255, 'FF'O - LIN2_BO_LAST lengthIndicator, - BIT4 instance, - BIT4 spare, - integer enterpriseID, - octetstring proprietartyValue -} with { encode "RAW" - variant (lengthIndicator) "LENGTHTO(enterpriseID,proprietartyValue)"; - variant "PRESENCE (elementIdentifier = 'FF'O;)"; }; - -type set DeleteSessionResponse { - Cause cause, - Recovery recovery optional, - ProtocolConfigOptions protocolConfigOptions optional, - PrivateExtension privateExtension optional }; - -type union GTPCv2_PDUs { - DeleteSessionResponse deleteSessionResponse }; - -type record PDU_GTPCv2 { - BIT3 spare, //0 - BIT1 t_Bit, - BIT1 p_Bit, - BIT3 version, //'010'B - OCT1 messageType, - LIN2_BO_LAST lengthf, - OCT4 tEID optional, - OCT3 sequenceNumber, - OCT1 spare3, // 0 - GTPCv2_PDUs gtpcv2_pdu, - PDU_GTPCv2 piggybackPDU_GTPCv2 optional -} with { encode "RAW" - variant (tEID) "PRESENCE(t_Bit = '1'B)"; - variant (piggybackPDU_GTPCv2) "PRESENCE(p_Bit = '1'B)"; - variant (lengthf) "LENGTHTO(tEID,sequenceNumber,spare3,gtpcv2_pdu)"; - variant (gtpcv2_pdu) "CROSSTAG( - deleteSessionResponse, messageType = '25'O; //37 - )"; }; - -<TTCN_TC:EXEC> - - var PDU_GTPCv2 vl_temp := dec_PDU_GTPCv2( '48250013800000000249BF000200020010000300010011'O ); - setverdict(pass); - -<RESULT> - -Overall verdict: pass - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. HO79315: Segfault on unbound octetstring -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC- HO79315: Segfault on unbound octetstring> - -<STATIC> - -type octetstring raw_pdu_octetstring with { encode "RAW"; variant "FIELDLENGTH(1)"}; -external function enc_raw_pdu_octetstring(in raw_pdu_octetstring pdu) return octetstring with { extension "prototype(convert) encode(RAW)" } -external function dec_raw_pdu_octetstring(in octetstring stream) return raw_pdu_octetstring with { extension "prototype(convert) decode(RAW)" } - -<TTCN_TC:EXEC> - - var raw_pdu_octetstring i - const octetstring o := '0F'O - if ((enc_raw_pdu_octetstring(i) == o)and(dec_raw_pdu_octetstring(o) == i)) {setverdict(pass);} - else {setverdict(fail,"enc_raw_pdu_octetstring(i)= ", enc_raw_pdu_octetstring(i), "; dec_raw_pdu_octetstring(o)= ", dec_raw_pdu_octetstring(o));} - -<RESULT> - -Overall verdict: error - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h1.REFERENCES -.*---------------------------------------------------------------------* -:nl. Requirement specification(s): -:nl.------------------------------- -:list. -:li. 8/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's encoder/decoder functions -:elist. - -:etext. diff --git a/function_test/RAW_EncDec/run_test b/function_test/RAW_EncDec/run_test deleted file mode 100755 index 474f33f9c162102e4898ac6734e1c8840721a5d0..0000000000000000000000000000000000000000 --- a/function_test/RAW_EncDec/run_test +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -# Script parameters are coming from ../Makefile. -../Tools/SAtester $* ./RAW_EncDec_TD.fast_script - -rm -f Temp.log -rm -f Temp.ttcn diff --git a/function_test/Text_EncDec/.gitignore b/function_test/Text_EncDec/.gitignore index 828837baa056ac0a36d76977e2e55636b2ff2848..f72ce901f5245831c60cc4cc792072a0e1ef63bf 100644 --- a/function_test/Text_EncDec/.gitignore +++ b/function_test/Text_EncDec/.gitignore @@ -1,11 +1,4 @@ -*.report -perl -perl.lnk -Temp.ttcn -Temp.?? -Temp.gcda -Temp.gcno -Temp -Temp.exe +*.hh +*.cc +*.o compile -core diff --git a/function_test/Text_EncDec/Makefile b/function_test/Text_EncDec/Makefile index a47c778f0a8c2c8ea842eb715bf650adc17083c7..504a9241af27bf9eae0b61edcdd847a581dfda49 100644 --- a/function_test/Text_EncDec/Makefile +++ b/function_test/Text_EncDec/Makefile @@ -84,24 +84,28 @@ ARCHIVE_DIR = backup # # TTCN-3 modules of this project: -TTCN3_MODULES = Temp.ttcn +TTCN3_MODULES = Text_EncDec_1.ttcn Text_EncDec_2.ttcn Text_EncDec_3.ttcn Text_EncDec_4.ttcn # ASN.1 modules of this project: ASN1_MODULES = # C++ source & header files generated by TTCN-3 & ASN.1 compilers: -GENERATED_SOURCES = Temp.cc -GENERATED_HEADERS = Temp.hh +GENERATED_SOURCES = Text_EncDec_1.cc Text_EncDec_2.cc Text_EncDec_3.cc Text_EncDec_4.cc +GENERATED_HEADERS = Text_EncDec_1.hh Text_EncDec_2.hh Text_EncDec_3.hh Text_EncDec_4.hh # Source & header files of Test Ports and your other modules: USER_SOURCES = USER_HEADERS = # Object files of this project that are needed for the executable test suite: -OBJECTS = Temp.o +OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS) + +GENERATED_OBJECTS = Text_EncDec_1.o Text_EncDec_2.o Text_EncDec_3.o Text_EncDec_4.o + +USER_OBJECTS = # The name of the executable test suite: -TARGET = Temp +TARGET = Text_EncDec.exe ifdef COVERAGE CPPFLAGS += -fprofile-arcs -ftest-coverage -g diff --git a/function_test/Text_EncDec/TEXT_1_TD.script b/function_test/Text_EncDec/TEXT_1_TD.script deleted file mode 100644 index 3dcf3eff7488b260ca1a9d9dcedbcfc2e77714d4..0000000000000000000000000000000000000000 --- a/function_test/Text_EncDec/TEXT_1_TD.script +++ /dev/null @@ -1,2062 +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 -.* Delic, Adam -.* Kovacs, Ferenc -.* Pandi, Krisztian -.* Szabados, Kristof -.* Szabo, Janos Zoltan – initial implementation -.* Szalai, Endre -.* Szalai, Gabor -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.21/152 91-CRL 113 200/3 Uen -:rev.A -:date.2013-01-17 -.* -:prep.ETH/XZR Krisztian Pandi -:appr.ETH/XZ (Gyula Koos) -:checked.ETHGRY -.* -:title.Test Description - Text based coding for TTCN-3 Test Executor -:contents level=3. -.*---------------------------------------------------------------------* -:h1.PREREQUISITES AND PREPARATIONS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Scope of the Test Object -.*---------------------------------------------------------------------* -:xmp tab=1 nokeep. - -This file is obsolate, don't modify, improve it anymore! - -This TD contains test cases related to TTCN3 Executor's Text coder function. -A faster version is located in the TEXT_1_TD.fast_script file. -DON'T YOU DARE TO WRITE AN INSPECTION RECORD ABOUT THIS FILE. - -:exmp. - -:p.:us.Revision Information:eus. - -:xmp nokeep. -:us.History:eus. - -REV DATE PREPARED CHANGE -=== ========== ======== ====== -A 2005-01-10 ETHGHASZ New document -B 2005-10-11 EKRISZA Updated for group support. -C 2007-03-06 EDMDELI Implicit message encoding -D 2008-10-01 EFERKOV Big integers -E 2011-01-24 EKRISZA Restructured to use more efficient script. -F 2011-10-10 EKRISZA Updated for release. -A 2011-12-12 EKRISZA Updated for release -A 2012-06-27 EFERKOV Updated for release -A 2013-01-17 EKRIPND Updated for release -:exmp. - -.*---------------------------------------------------------------------* -:h1.Test environment -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Hardware -.*---------------------------------------------------------------------* -No specific hardware requirement. -.*---------------------------------------------------------------------* -:h2.Software -.*---------------------------------------------------------------------* -Tests shall be carried out on the following platforms: -:list. -:li D='1.'.Solaris 8 (Sun OS 5.8) (gcc 3.0.4) -:li D='2.'.SUSE Linux Enterprise server 8 (2.4.19-4GB) (gcc 3.2) -:li D='3.'.CYGWIN_NT-5.0 (Cygwin DLL: 1.5.12) on Windows 2000 (gcc 3.3.3) -:elist. -.*---------------------------------------------------------------------* -:h2.Configuration -.*---------------------------------------------------------------------* -The test environment had been setup in CVS. The tester program is stored in: -:nl.TTCNv3/function_test/Tools/SAtester.pl -:nl.Test cases are stored with extension .script in the directory: -:nl.TTCNv3/function_test/Semantic_Analyser/ -.*---------------------------------------------------------------------* -:h2.Installation -.*---------------------------------------------------------------------* -Install proper TITAN binaries on the used platforms and make sure that -your environment settings are correct: -:list. -:li D='1.'.TTCN3_DIR is set -:li D='2.'.$TTCN3_DIR/bin is added to the PATH variable -:li D='3.'.$TTCN3_DIR/lib is added to the LD_LIBRARY_PATH variable -:li D='4.'.Perl 5.6.0 or higher is available on the platform -:li D='5.'.Create a symlink to your Perl binary into the directory where the -test cases are stored: -:nl.ln -s <your Perl> perl -:elist. -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -:p.Test cases are specified in the Test Description documents in EDML format. -The tester program parses these files and generates the TTCN-3/ASN.1 modules, then -calls the compiler to compile them. The result printout is then matched against -different patterns to be able to set the verdict. Test cases contain not only -the source modules, but the patterns as well. -:p.The tester program allows one-by-one execution of test cases and batched -execution as well. -:p.NOTE: the tester program requires Perl 5.6.0 or higher. -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Basic types - Charstring -.*---------------------------------------------------------------------* -This test case group covers the encoding attributes of type charstring -.*---------------------------------------------------------------------* -:h3.Length -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Fixed length encoding> - -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(length=5)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i := "HALI" -const charstring o := " HALI" -const TEXT_PDU expected_res:=" HALI" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h3.Convert -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Convert string to lower case during encoding> - -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(convert=lower_case)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i := "HALI" -const charstring o := "hali" -const TEXT_PDU expected_res:="hali" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -:xmp tab=0. - -<TC - Convert string to upper case during encoding> - -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(convert=upper_case)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i := "hali" -const charstring o := "HALI" -const TEXT_PDU expected_res:="HALI" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -:xmp tab=0. - -<TC - Convert string to lower case during encoding and upper case during decoding> - -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(convert=lower_case, - convert=upper_case)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="HALI" -const charstring o := "hali" -const TEXT_PDU expected_res:="HALI" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - - -:xmp tab=0. - -<TC - Convert string to upper case during encoding and lower case during decoding> - -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(convert=upper_case, - convert=lower_case)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="hali" -const charstring o := "HALI" -const TEXT_PDU expected_res:="hali" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h3.Justification -.*---------------------------------------------------------------------* - -:xmp tab=0. - -<TC - Left justification> - -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(just=left;length=5)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="hali" -const charstring o := "hali " -const TEXT_PDU expected_res:="hali " - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -:xmp tab=0. - -<TC - Center justification> - -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(just=center;length=6)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="hali" -const charstring o := " hali " -const TEXT_PDU expected_res:=" hali " - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -:xmp tab=0. - -<TC - Right justification> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(just=right;length=5)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="hali" -const charstring o := " hali" -const TEXT_PDU expected_res:=" hali" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -.*---------------------------------------------------------------------* -:h3.Select token -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Case sensitive selection> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(,,'[\d]#(4)[a-e]#(4)')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="1234abcd" -const charstring o := "1234abcdfrd" -const TEXT_PDU expected_res:="1234abcd" -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - Case insensitive selection> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "TEXT_CODING(,convert=lower_case, - '[\d]#(4)[a-e]#(4)', case_insensitive)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="1234abcd" -const charstring o := "1234aBCdfrd" -const TEXT_PDU expected_res:="1234abcd" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h2.Basic types - Integer -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3.Length -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Fixed length> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type integer TEXT_PDU with { variant "TEXT_CODING(length=5)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=249 -const charstring o := " 249" -const TEXT_PDU expected_res:=249 - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - variable length> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type integer TEXT_PDU with { variant "TEXT_CODING()"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=12249 -const charstring o := "12249" -const TEXT_PDU expected_res:=12249 - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h3.Leading zero's -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - encoding without leading zero> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type integer TEXT_PDU with { variant "TEXT_CODING(length=7)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=12249 -const charstring o := " 12249" -const TEXT_PDU expected_res:=12249 - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - encoding with leading zero> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type integer TEXT_PDU with { variant "TEXT_CODING(leading0=true;length=7)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=12249 -const charstring o := "0012249" -const TEXT_PDU expected_res:=12249 - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - encoding negativ integer with leading zero> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type integer TEXT_PDU with { variant "TEXT_CODING(leading0=true;length=7)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=-12249 -const charstring o := "-012249" -const TEXT_PDU expected_res:=-12249 - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h3.Select token -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Selection of integer value> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type integer TEXT_PDU with { variant "TEXT_CODING(,, - '[1-4]#(1,)')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=123423 -const charstring o := "123423567aBCdfrd" -const TEXT_PDU expected_res:=123423 - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. - -.*---------------------------------------------------------------------* -:h2.Basic types - Boolean -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Basic encoding of true value> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type boolean TEXT_PDU with { variant "TEXT_CODING()"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=true -const charstring o := "true" -const TEXT_PDU expected_res:=true - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - Basic encoding of false value> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type boolean TEXT_PDU with { variant "TEXT_CODING()"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=false -const charstring o := "false" -const TEXT_PDU expected_res:=false - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - Encoding and decoding of given tokens 1> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type boolean TEXT_PDU with { variant "TEXT_CODING(true:'YES';false:'NO')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=false -const charstring o := "NO" -const TEXT_PDU expected_res:=false - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - Encoding and decoding of given tokens 2> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type boolean TEXT_PDU with { variant "TEXT_CODING(true:'YES';false:'NO', - true:'good';false:{'bad',case_insensitive})"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:=false -const charstring o1 := "NO" -const charstring o := "Bad" -const TEXT_PDU expected_res:=false - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if( res==o1 and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h2.Basic types - Enumerated -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Basic encoding of enumerated values> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type enumerated TEXT_PDU {egy,ketto,harom} - with { variant "TEXT_CODING()"}; - -} with {encode "TEXT"} - -<TTCN_TC:EXEC> - var TEXT_PDU i:=egy - var charstring o := "egy" - var TEXT_PDU expected_res:=egy - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - i:=harom - o := "harom" - expected_res:=harom - res:=enc_TEXT_PDU(i); - dec_pdu:=dec_TEXT_PDU(o); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -:xmp tab=0. - -<TC - Encoding of given enumerated values> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type enumerated TEXT_PDU {egy,ketto,harom} - with { variant "TEXT_CODING(egy:'haho';harom:'har', - egy:'(haho)|(H)';ketto:{,case_insensitive}; - harom:{'hArom',case_insensitive})"}; - -} with {encode "TEXT"} - -<TTCN_TC:EXEC> - var TEXT_PDU i:=egy - var charstring o := "haho" - var charstring o1 := "H" - var TEXT_PDU expected_res:=egy - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu2:=dec_TEXT_PDU(o1); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if( res==o and dec_pdu==expected_res and dec_pdu2==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - i:=ketto - o := "ketto" - o1:="KettO" - expected_res:=ketto - res:=enc_TEXT_PDU(i); - dec_pdu:=dec_TEXT_PDU(o1); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - i:=harom - o := "har" - o1:="haRoM" - expected_res:=harom - res:=enc_TEXT_PDU(i); - dec_pdu:=dec_TEXT_PDU(o1); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h2.Leading, separation and trailing token -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3.Leading token -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Coding with leading token> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "BEGIN('Header:')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="value" -const charstring o := "Header:value" -const TEXT_PDU expected_res:="value" -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Coding with leading token, case insensitive decoding> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "BEGIN('Header:',, case_insensitive)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="value" -const charstring o := "heADer:value" -const TEXT_PDU expected_res:="value" -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Coding with leading token, using decoding matching pattern> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "BEGIN('Header:','(T:)|(Header:)')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="value" -const TEXT_PDU expected_res:="value" - -<TTCN_TC:EXEC> - var charstring o := "T:value" - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - o := "Header:value" - dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -.*---------------------------------------------------------------------* -:h3.Trailing token -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Coding with trailing token> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "END(':close')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="value" -const charstring o := "value:close" -const TEXT_PDU expected_res:="value" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Coding with trailing token, case insensitive decoding> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "END(':close',, case_insensitive)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="value" -const charstring o := "value:CloSe" -const TEXT_PDU expected_res:="value" - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Coding with leading token, using decoding matching pattern> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type charstring TEXT_PDU with { variant "END(':close','(:T)|(:close)')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:="value" -const TEXT_PDU expected_res:="value" - -<TTCN_TC:EXEC> - var charstring o := "value:close" - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - o := "value:T" - dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -.*---------------------------------------------------------------------* -:h3.Field separator token -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Coding with separator token> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record TEXT_PDU { - charstring f1, - charstring f2 -} with { variant "SEPARATOR('\n\r')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1",f2:="value2"} -const charstring o := "value1\n\rvalue2" -const TEXT_PDU expected_res:={f1:="value1",f2:="value2"} - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Coding with separator token, case insensitive decoding> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record TEXT_PDU { - charstring f1, - charstring f2 -} with { variant "SEPARATOR(':FieldSep\n\r',,case_insensitive)"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1",f2:="value2"} -const charstring o := "value1:FiELDsep\n\rvalue2" -const TEXT_PDU expected_res:={f1:="value1",f2:="value2"} - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Coding with separator token, using decoding matching pattern> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record TEXT_PDU { - charstring f1, - charstring f2 -} with { variant "SEPARATOR(':FieldSep\n\r','(\n\r)|(:FieldSep\n\r)')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1",f2:="value2"} -const TEXT_PDU expected_res:={f1:="value1",f2:="value2"} - -<TTCN_TC:EXEC> - var charstring o := "value1:FieldSep\n\rvalue2" - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - o := "value1\n\rvalue2" - dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -.*---------------------------------------------------------------------* -:h2.Coding of compound types -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3.Record -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Record with BEGIN/END token> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record TEXT_PDU { - charstring f1 -} with { variant "BEGIN('Head:'),END(':end')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1"} -const charstring o := "Head:value1:end" -const TEXT_PDU expected_res:={f1:="value1"} - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Record with record fields> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record rec1{ - charstring field1, - charstring field2 -} with { variant "BEGIN('Head:'),END(':end'),SEPARATOR(',')"}; - -type record TEXT_PDU { - rec1 f1, - charstring f2 -} with { variant "BEGIN('PDU:'),END(':UDP')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:={field1:="v1",field2:="v2"},f2:="value1"} -const charstring o := "PDU:Head:v1,v2:endvalue1:UDP" -const TEXT_PDU expected_res:={f1:={field1:="v1",field2:="v2"},f2:="value1"} - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Record with optional fields> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record rec1{ - charstring field1, - charstring field2 -} with { variant "BEGIN('Head:'),END(':end'),SEPARATOR(',')"}; - -type record TEXT_PDU { - rec1 f1 optional, - charstring f2 -} with { variant "BEGIN('PDU:'),END(':UDP')"}; - -} with {encode "TEXT"} - -<TTCN_TC:EXEC> - var TEXT_PDU i:={f1:={field1:="v1",field2:="v2"},f2:="value1"} - var charstring o := "PDU:Head:v1,v2:endvalue1:UDP" - var TEXT_PDU expected_res:={f1:={field1:="v1",field2:="v2"},f2:="value1"} - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - i:={f1:=omit,f2:="value1"} - o := "PDU:value1:UDP" - expected_res:={f1:=omit,f2:="value1"} - res:=enc_TEXT_PDU(i); - dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -.*---------------------------------------------------------------------* -:h3.Set -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Set with BEGIN/END token> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type set TEXT_PDU { - charstring f1 -} with { variant "BEGIN('Head:'),END(':end')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1"} -const charstring o := "Head:value1:end" -const TEXT_PDU expected_res:={f1:="value1"} - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Set with record fields> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type set rec1{ - charstring field1, - charstring field2 -} with { variant "BEGIN('Head:'),END(':end'),SEPARATOR(',')"}; - -type set TEXT_PDU { - rec1 f1, - charstring f2 -} with { variant "BEGIN('PDU:'),END(':UDP'),SEPARATOR(',')"}; - -} with {encode "TEXT"} - -<TTCN_TC:EXEC> - var TEXT_PDU i:={f1:={field1:="v1",field2:="v2"},f2:="value1"} - var charstring o := "PDU:Head:v1,v2:end,value1:UDP" - var charstring o2 := "PDU:value1,Head:v1,v2:end:UDP" - var TEXT_PDU expected_res:={f1:={field1:="v1",field2:="v2"},f2:="value1"} - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - var TEXT_PDU dec_pdu2:=dec_TEXT_PDU(o2); - - if(dec_pdu==expected_res and dec_pdu2==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Set with optional fields> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record rec1{ - charstring field1, - charstring field2 -} with { variant "BEGIN('Head:'),END(':end'),SEPARATOR(',')"}; - -type set TEXT_PDU { - rec1 f1 optional, - charstring f2 -} with { variant "BEGIN('PDU:'),END(':UDP')"}; - -} with {encode "TEXT"} - -<TTCN_TC:EXEC> - var TEXT_PDU i:={f1:={field1:="v1",field2:="v2"},f2:="value1"} - var charstring o := "PDU:Head:v1,v2:endvalue1:UDP" - var TEXT_PDU expected_res:={f1:={field1:="v1",field2:="v2"},f2:="value1"} - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - i:={f1:=omit,f2:="value1"} - o := "PDU:value1:UDP" - expected_res:={f1:=omit,f2:="value1"} - res:=enc_TEXT_PDU(i); - dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. - -:xmp tab=0. - -<TC - Set with set of type fields> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type set of charstring sof with {variant "SEPARATOR(',')"} - -type set TEXT_PDU { - charstring f1, - charstring f2 optional, - sof f3, - sof f4 optional, - sof f5, - charstring f6 -} with { variant "BEGIN('Head:'),END(':end')"; - variant (f1) "BEGIN('f1:')"; - variant (f2) "BEGIN('f2:')"; - variant (f3) "BEGIN('f3:')"; - variant (f4) "BEGIN('f4:'),TEXT_CODING(,repeatable=true)"; - variant (f5) "BEGIN('f5:'),TEXT_CODING(,repeatable=true)"; - variant (f6) "BEGIN('f6:')"; - variant "SEPARATOR(';')" }; - -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1", - f2:=omit, - f3:={"sof1","sof1a","sof1b"}, - f4:={"sof2","sof2a","sof2b"}, - f5:={"sof3","sof3a","sof3b"}, - f6:="value6" } - -<TTCN_TC:EXEC> - var charstring o := "Head:f1:value1;f3:sof1,sof1a,sof1b;f4:sof2,sof2a,sof2b;f5:sof3,sof3a,sof3b;f6:value6:end" - var TEXT_PDU expected_res:={f1:="value1", - f2:=omit, - f3:={"sof1","sof1a","sof1b"}, - f4:={"sof2","sof2a","sof2b"}, - f5:={"sof3","sof3a","sof3b"}, - f6:="value6" } - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - o := "Head:f5:sof3a,sof3b;f3:sof1,sof1a,sof1b;f4:sof2;f1:value1;f4:sof2a,sof2b;f5:sof3;f6:value6:end" - expected_res:={f1:="value1", - f2:=omit, - f3:={"sof1","sof1a","sof1b"}, - f4:={"sof2","sof2a","sof2b"}, - f5:={"sof3","sof3a","sof3b"}, - f6:="value6" } - dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - o := "Head:f5:sof3a,sof3b;f3:sof1,sof1a,sof1b;f1:value1;f5:sof3;f6:value6:end" - expected_res:={f1:="value1", - f2:=omit, - f3:={"sof1","sof1a","sof1b"}, - f4:=omit, - f5:={"sof3","sof3a","sof3b"}, - f6:="value6" } - dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -.*---------------------------------------------------------------------* -:h3.Record/Set of -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Record of with BEGIN/END token> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record of charstring TEXT_PDU - with { variant "BEGIN('Head:'),END(':end'),SEPARATOR(',')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={"value1","value2","value3"} -const charstring o := "Head:value1,value2,value3:end" -const TEXT_PDU expected_res:={"value1","value2","value3"} - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Record of with record fields> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record rec1{ - charstring field1, - charstring field2 -} with { variant "BEGIN('Head:'),END(':end'),SEPARATOR(',')"}; - -type record of rec1 TEXT_PDU with { variant "BEGIN('PDU:'),END(':UDP')"}; - -} with {encode "TEXT"} - -const TEXT_PDU i:={{field1:="v1",field2:="v2"},{field1:="v3",field2:="v4"}} -const charstring o := "PDU:Head:v1,v2:endHead:v3,v4:end:UDP" -const TEXT_PDU expected_res:={{field1:="v1",field2:="v2"},{field1:="v3",field2:="v4"}} - -<TTCN_TC:EXEC> - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(res); - - if( res==o and dec_pdu==expected_res){ - setverdict(pass); - } else { - log ("enc_TEXT_PDU(i)= " , res) ; - log ("dec_TEXT_PDU(res)= " , dec_pdu) ; - setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -<TC - Empty record of> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type record rec1{ - charstring field1, - charstring field2 -} with { variant "BEGIN('Head:'),END(':end'),SEPARATOR(',')"}; - -type record of rec1 TEXT_PDU with { variant "BEGIN('PDU:'),END(':UDP')"}; - -} with {encode "TEXT"} - -<TTCN_TC:EXEC> - var TEXT_PDU i:={} - var charstring o := "PDU::UDP" - var TEXT_PDU expected_res:={} - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -.*---------------------------------------------------------------------* -:h3.Union -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Union with BEGIN/END token> -<STATIC> - -external function enc_TEXT_PDU(in TEXT_PDU pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } -external function dec_TEXT_PDU(in charstring oct) return TEXT_PDU with { extension "prototype(convert) decode(TEXT)" } - -group TEXT_group{ - -type union TEXT_PDU { - charstring f1, - charstring f2 -} with { variant "BEGIN('Head:'),END(':end')"; - variant (f1) "BEGIN('f1:'),END(':1f')" - variant (f2) "BEGIN('f2:'),END(':2f')" }; -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1"} - -<TTCN_TC:EXEC> - var charstring o := "Head:f1:value1:1f:end" - var TEXT_PDU expected_res:={f1:="value1"} - var charstring res:=enc_TEXT_PDU(i); - var TEXT_PDU dec_pdu:=dec_TEXT_PDU(o); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - o := "Head:f2:value2:2f:end" - expected_res:={f2:="value2"} - dec_pdu:=dec_TEXT_PDU(o); - //log(o); - //log(dec_pdu); - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - - -.*---------------------------------------------------------------------* -:h3.Fast -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - implicit message encoding: prototype fast> -<STATIC> - -external function fast_enc_TEXT_PDU(in TEXT_PDU pdu, out charstring cs) with { extension "prototype(fast) encode(TEXT)" } -external function fast_dec_TEXT_PDU(in charstring cs, out TEXT_PDU pdu) with { extension "prototype(fast) decode(TEXT)" } - -group TEXT_group{ - -type union TEXT_PDU { - charstring f1, - charstring f2 -} with { variant "BEGIN('Head:'),END(':end')"; - variant (f1) "BEGIN('f1:'),END(':1f')" - variant (f2) "BEGIN('f2:'),END(':2f')" }; -} with {encode "TEXT"} - -const TEXT_PDU i:={f1:="value1"} - -<TTCN_TC:EXEC> - var charstring o := "Head:f1:value1:1f:end" - var TEXT_PDU expected_res:={f1:="value1"} - var charstring res; - fast_enc_TEXT_PDU(i, res); - var TEXT_PDU dec_pdu; - fast_dec_TEXT_PDU(o, dec_pdu); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - - o := "Head:f2:value2:2f:end" - expected_res:={f2:="value2"} - fast_dec_TEXT_PDU(o, dec_pdu); - - if(dec_pdu==expected_res){ - setverdict(pass); - } else {setverdict(fail);} - -<RESULT> -Overall verdict: pass -<END_TC> -:exmp. -:xmp tab=0. - -.*---------------------------------------------------------------------* -:h3.Backtrack -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - implicit message encoding: prototype backtrack> -<STATIC> - -external function fast_enc_TEXT_PDU(in TEXT_PDU pdu, out charstring cs) - with { extension "prototype(fast) encode(TEXT)" } -external function backtrack_dec_TEXT_PDU(in charstring cs, out TEXT_PDU pdu) return integer - with { extension "prototype(backtrack) decode(TEXT) errorbehavior(ALL:WARNING)" } - -type integer TEXT_PDU with { variant "TEXT_CODING()" } - -<TTCN_TC:EXEC> - - var TEXT_PDU bs := 42; - var TEXT_PDU decoded_bs; - var charstring enc_bs; - var integer ret_val; - var charstring invalid_enc_bs := "bruhaha"; - - fast_enc_TEXT_PDU(bs, enc_bs); - ret_val := backtrack_dec_TEXT_PDU(enc_bs, decoded_bs); - if (ret_val==0) { setverdict(pass); } else { setverdict(fail); } - if (decoded_bs==bs) { setverdict(pass); } else { setverdict(fail); } - ret_val := backtrack_dec_TEXT_PDU(invalid_enc_bs, decoded_bs); - if (ret_val==1) { setverdict(pass); } else { setverdict(fail); } - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.Sliding -.*---------------------------------------------------------------------* -:xmp tab=0. - - -<TC - implicit message encoding: prototype sliding> -<STATIC> - -external function sliding_dec_TEXT_PDU(inout charstring cs, out TEXT_PDU pdu) return integer - with { extension "prototype(sliding) decode(TEXT) errorbehavior(ALL:WARNING)" } - -type integer TEXT_PDU with { variant "TEXT_CODING(length=4)" } - -<TTCN_TC:EXEC> - - var TEXT_PDU out_pdu; - var charstring enc_pdu1 := " 42 21"; - var integer ret_val; - - ret_val := sliding_dec_TEXT_PDU(enc_pdu1, out_pdu); - if (ret_val==0 and out_pdu==42) { setverdict(pass); } else { setverdict(fail); } - ret_val := sliding_dec_TEXT_PDU(enc_pdu1, out_pdu); - if (ret_val==0 and out_pdu==21) { setverdict(pass); } else { setverdict(fail); } - ret_val := sliding_dec_TEXT_PDU(enc_pdu1, out_pdu); - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Encoding/decoding of big integers -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3.Big integer fields -.*---------------------------------------------------------------------* -:xmp tab=0. - - -<TC - big integers: big integer fields> -<STATIC> - -external function enc_text(in rec_text r) return charstring - with { extension "encode(TEXT) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_text(in charstring r) return rec_text - with { extension "decode(TEXT) prototype(convert) errorbehavior(ALL:WARNING)" } - -type integer myint1 with { - variant "BEGIN('<myint>')" - variant "END('</myint>')" - encode "TEXT" } - -type integer myint2 with { - variant "BEGIN('<myint_dummy>')" - variant "END('</myint_dummy>')" - variant "TEXT_CODING(length=128;leading0=true)" - encode "TEXT" } - -type integer myint3 with { - variant "BEGIN('<myint_super>')" - variant "END('</myint_super>')" - encode "TEXT" } - -type integer myint4 with { - variant "TEXT_CODING(length=256)" - variant "BEGIN('<myint_pad>')" - variant "END('</myint_pad>')" - encode "TEXT" } - -type record rec_text { - myint1 int1, - myint1 int2, - myint2 int3 optional, - myint3 int4 optional, - myint4 int5 optional -} with { - variant "BEGIN('<rec_text>')" - // `variant "SEPARATOR(',')"' is not necessary if the fields can be found - // unambigously. - variant "END('</rec_text>')" - encode "TEXT" } - -<TTCN_TC:EXEC> - const integer a := 214748364799 - const integer b := 214748364788 - const integer c := 0 - // Implicit `omit' would be great. - var rec_text myrec1 := {int1 := 214748364799, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec2 := {214748364799, 214748364788, omit, omit, omit} - var rec_text myrec3 := {214748364799, 0, omit, omit, omit} - var rec_text myrec4 := {int1 := 214748364799, int2 := 0, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec5 := {int1 := 0, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec6 := {0, 214748364788, omit, omit, omit} - var rec_text myrec7 := {0, 0, omit, omit, omit} - var rec_text myrec8 := {int1 := 0, int2 := 0, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec9 := {int1 := a, int2 := b, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec10 := {a, b, omit, omit, omit} - // The original `sprintf' encoder encodes negative values `-' <padding> - // `0123456'. We should work similarly. - var rec_text myrec11 := { - int1 := -11111111111111111111111111111, - int2 := 22222222222222222222222222222, - int3 := -33333333333333333333333333333, - int4 := 2147483648, - int5 := -2147483648 } - var rec_text myrec12 := {int1 := 0, int2 := 0, int3 := 0, int4 := -1111111111111111111111111111111, int5 := -1234567891011121314151617181920} - var rec_text myrec13 := {-0, -0, -0, -0, -0} - var rec_text myrec14 := {-0, -1, 1234567891011121314151617181920, -1111111111111111111111111111111, -0} - var rec_text myrec15 := {int1 := 1111111111111111111111111111111, int2 := -1234567891011121314151617181920, int3 := 0, int4 := -0, int5 := -111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111} - var charstring ret_val - ret_val := enc_text(myrec1) - if (dec_text(ret_val) == myrec1) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 214748364799, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec2) - if (dec_text(ret_val) == myrec2) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {214748364799, 214748364788, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec3) - if (dec_text(ret_val) == myrec3) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {214748364799, 0, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec4) - if (dec_text(ret_val) == myrec4) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 214748364799, int2 := 0, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec5) - if (dec_text(ret_val) == myrec5) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 0, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec6) - if (dec_text(ret_val) == myrec6) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {0, 214748364788, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec7) - if (dec_text(ret_val) == myrec7) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {0, 0, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec8) - if (dec_text(ret_val) == myrec8) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 0, int2 := 0, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec9) - if (dec_text(ret_val) == myrec9) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := a, int2 := b, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec10) - if (dec_text(ret_val) == myrec10) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {a, b, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec11) - if (dec_text(ret_val) == myrec11) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := -11111111111111111111111111111, int2 := 22222222222222222222222222222, int3 := -33333333333333333333333333333, int4 := 2147483648, int5 := -2147483648}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec12) - if (dec_text(ret_val) == myrec12) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 0, int2 := 0, int3 := 0, int4 := -1111111111111111111111111111111, int5 := -1234567891011121314151617181920}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec13) - if (dec_text(ret_val) == myrec13) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {-0, -0, -0, -0, -0}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec14) - if (dec_text(ret_val) == myrec14) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {-0, -1, 1234567891011121314151617181920, -1111111111111111111111111111111, -0}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec15) - if (dec_text(ret_val) == myrec15) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 1111111111111111111111111111111, int2 := -1234567891011121314151617181920, int3 := 0, int4 := -0, int5 := -111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111}) { setverdict(pass) } else { setverdict(fail) } - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.Sliding encoding/decoding of big integers -.*---------------------------------------------------------------------* -:xmp tab=0. - - -<TC - big integers: sliding encoding/decoding of big integers> -<STATIC> - -external function dec_text_sliding(inout charstring r, out myint5 s) return integer - with { extension "prototype(sliding) decode(TEXT) errorbehavior(ALL:WARNING)" } - -type integer myint5 with { variant "TEXT_CODING(length=25)" } - -<TTCN_TC:EXEC> - var myint5 decoded - var charstring encoded := " 12345678910111213141516 -11111111111111111111" - var integer ret_val - var template integer intt := 12345678910111213141516 - ret_val := dec_text_sliding(encoded, decoded) - if (ret_val == 0 and decoded == 12345678910111213141516) {setverdict(pass)} - else {setverdict(fail)} - ret_val := dec_text_sliding(encoded, decoded) - if (ret_val == 0 and decoded == -11111111111111111111) {setverdict(pass)} - else {setverdict(fail)} - ret_val := dec_text_sliding(encoded, decoded) - if (match(12345678910111213141516, intt)) {setverdict(pass)} - else {setverdict(fail)} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h1.REFERENCES -.*---------------------------------------------------------------------* -:nl. Requirement specification(s): -:nl.------------------------------- -:list. -:li. 3/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's TTCN-3 Semantic Analyser -:elist. - -:etext. diff --git a/function_test/Text_EncDec/Temp.cfg b/function_test/Text_EncDec/Text_EncDec.cfg similarity index 92% rename from function_test/Text_EncDec/Temp.cfg rename to function_test/Text_EncDec/Text_EncDec.cfg index e6004a42612796fb46a7f59d3e1e9c9ea2721d7d..b953324b8277cb2801741794f7c0c0da42d8d852 100644 --- a/function_test/Text_EncDec/Temp.cfg +++ b/function_test/Text_EncDec/Text_EncDec.cfg @@ -17,4 +17,7 @@ Logfile := "Temp.log" FileMask := LOG_ALL ConsoleMask := TTCN_WARNING | TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS | TTCN_USER [EXECUTE] -Temp +Text_EncDec_1 +Text_EncDec_2 +Text_EncDec_3 +Text_EncDec_4 diff --git a/function_test/Text_EncDec/TEXT_1_TD.fast_script b/function_test/Text_EncDec/Text_EncDec_1.ttcn similarity index 74% rename from function_test/Text_EncDec/TEXT_1_TD.fast_script rename to function_test/Text_EncDec/Text_EncDec_1.ttcn index 16033f59693644b32b00973a7ed4f891596d7213..6e79b83d275c95748f2d4352542df0a3fa63231e 100644 --- a/function_test/Text_EncDec/TEXT_1_TD.fast_script +++ b/function_test/Text_EncDec/Text_EncDec_1.ttcn @@ -1,92 +1,17 @@ -.****************************************************************************** -.* 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 -.* Kovacs, Ferenc -.* Szabados, Kristof -.* Szabo, Bence Janos -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.21/152 91-CRL 113 200/5 Uen -:rev.A -:date.2015-04-27 -.* -:prep.ETH/XZR Ferenc Kovacs (+36 1 439 5511) -:appr.ETH/XZ (Roland Gecse) -:checked.ETHPKR -.* -:title.Test Description - Text based coding for TTCN-3 Test Executor -: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 a part of TTCN3 Executor's Text coder function. -The original test cases can be found in the TEXT_1_TD.script file. -The reason for the unification was to get a really fast version of the tests. - -:exmp. - -:p.:us.Revision Information:eus. - -:xmp nokeep. -:us.History:eus. - -REV DATE PREPARED CHANGE -=== ========== ======== ====== -A 2005-01-10 ETHGHASZ New document -B 2005-10-11 EKRISZA Updated for group support. -C 2007-03-06 EDMDELI Implicit message encoding -D 2008-10-01 EFERKOV Big integers -E 2011-01-24 EKRISZA Restructured to use more efficient script. -F 2011-10-10 EKRISZA Updated for release. -A 2011-12-12 EKRISZA Updated for release -PB1 2012-01-31 ETHBAAT Editorial changes, -:exmp. - -.*---------------------------------------------------------------------* -:h1.Test environment -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Hardware -.*---------------------------------------------------------------------* -No specific hardware requirement. -.*---------------------------------------------------------------------* -:h2.Software -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h2.Configuration -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h2.Installation -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Fixed length encoding> - -<STATIC> +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module Text_EncDec_1 { + + type component TempComp {} -<TTCN_TC:PURE_EXEC> type charstring TEXT_PDU_1 with { encode "TEXT"; variant "TEXT_CODING(length=5)"}; external function enc_TEXT_PDU_1(in TEXT_PDU_1 pdu) return charstring with { extension "prototype(convert) encode(TEXT)" } @@ -1041,282 +966,4 @@ execute (TC_implicit_message_encoding_prototype_backtrack()); execute (TC_implicit_message_encoding_prototype_sliding()); } -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Encoding/decoding of big integers -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3.Big integer fields -.*---------------------------------------------------------------------* -:xmp tab=0. - - -<TC - big integers: big integer fields> -<STATIC> - -external function enc_text(in rec_text r) return charstring - with { extension "encode(TEXT) prototype(convert) errorbehavior(ALL:WARNING)" } -external function dec_text(in charstring r) return rec_text - with { extension "decode(TEXT) prototype(convert) errorbehavior(ALL:WARNING)" } - -type integer myint1 with { - variant "BEGIN('<myint>')" - variant "END('</myint>')" - encode "TEXT" } - -type integer myint2 with { - variant "BEGIN('<myint_dummy>')" - variant "END('</myint_dummy>')" - variant "TEXT_CODING(length=128;leading0=true)" - encode "TEXT" } - -type integer myint3 with { - variant "BEGIN('<myint_super>')" - variant "END('</myint_super>')" - encode "TEXT" } - -type integer myint4 with { - variant "TEXT_CODING(length=256)" - variant "BEGIN('<myint_pad>')" - variant "END('</myint_pad>')" - encode "TEXT" } - -type record rec_text { - myint1 int1, - myint1 int2, - myint2 int3 optional, - myint3 int4 optional, - myint4 int5 optional -} with { - variant "BEGIN('<rec_text>')" - // `variant "SEPARATOR(',')"' is not necessary if the fields can be found - // unambigously. - variant "END('</rec_text>')" - encode "TEXT" } - -<TTCN_TC:EXEC> - const integer a := 214748364799 - const integer b := 214748364788 - const integer c := 0 - // Implicit `omit' would be great. - var rec_text myrec1 := {int1 := 214748364799, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec2 := {214748364799, 214748364788, omit, omit, omit} - var rec_text myrec3 := {214748364799, 0, omit, omit, omit} - var rec_text myrec4 := {int1 := 214748364799, int2 := 0, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec5 := {int1 := 0, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec6 := {0, 214748364788, omit, omit, omit} - var rec_text myrec7 := {0, 0, omit, omit, omit} - var rec_text myrec8 := {int1 := 0, int2 := 0, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec9 := {int1 := a, int2 := b, int3 := omit, int4 := omit, int5 := omit} - var rec_text myrec10 := {a, b, omit, omit, omit} - // The original `sprintf' encoder encodes negative values `-' <padding> - // `0123456'. We should work similarly. - var rec_text myrec11 := { - int1 := -11111111111111111111111111111, - int2 := 22222222222222222222222222222, - int3 := -33333333333333333333333333333, - int4 := 2147483648, - int5 := -2147483648 } - var rec_text myrec12 := {int1 := 0, int2 := 0, int3 := 0, int4 := -1111111111111111111111111111111, int5 := -1234567891011121314151617181920} - var rec_text myrec13 := {-0, -0, -0, -0, -0} - var rec_text myrec14 := {-0, -1, 1234567891011121314151617181920, -1111111111111111111111111111111, -0} - var rec_text myrec15 := {int1 := 1111111111111111111111111111111, int2 := -1234567891011121314151617181920, int3 := 0, int4 := -0, int5 := -111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111} - var charstring ret_val - ret_val := enc_text(myrec1) - if (dec_text(ret_val) == myrec1) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 214748364799, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec2) - if (dec_text(ret_val) == myrec2) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {214748364799, 214748364788, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec3) - if (dec_text(ret_val) == myrec3) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {214748364799, 0, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec4) - if (dec_text(ret_val) == myrec4) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 214748364799, int2 := 0, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec5) - if (dec_text(ret_val) == myrec5) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 0, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec6) - if (dec_text(ret_val) == myrec6) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {0, 214748364788, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec7) - if (dec_text(ret_val) == myrec7) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {0, 0, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec8) - if (dec_text(ret_val) == myrec8) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 0, int2 := 0, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec9) - if (dec_text(ret_val) == myrec9) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := a, int2 := b, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec10) - if (dec_text(ret_val) == myrec10) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {a, b, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec11) - if (dec_text(ret_val) == myrec11) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := -11111111111111111111111111111, int2 := 22222222222222222222222222222, int3 := -33333333333333333333333333333, int4 := 2147483648, int5 := -2147483648}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec12) - if (dec_text(ret_val) == myrec12) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 0, int2 := 0, int3 := 0, int4 := -1111111111111111111111111111111, int5 := -1234567891011121314151617181920}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec13) - if (dec_text(ret_val) == myrec13) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {-0, -0, -0, -0, -0}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec14) - if (dec_text(ret_val) == myrec14) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {-0, -1, 1234567891011121314151617181920, -1111111111111111111111111111111, -0}) { setverdict(pass) } else { setverdict(fail) } - ret_val := enc_text(myrec15) - if (dec_text(ret_val) == myrec15) { setverdict(pass) } else { setverdict(fail) } - if (dec_text(ret_val) == {int1 := 1111111111111111111111111111111, int2 := -1234567891011121314151617181920, int3 := 0, int4 := -0, int5 := -111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111}) { setverdict(pass) } else { setverdict(fail) } - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.Sliding encoding/decoding of big integers -.*---------------------------------------------------------------------* -:xmp tab=0. - - -<TC - big integers: sliding encoding/decoding of big integers> -<STATIC> - -external function dec_text_sliding(inout charstring r, out myint5 s) return integer - with { extension "prototype(sliding) decode(TEXT) errorbehavior(ALL:WARNING)" } - -type integer myint5 with { encode "TEXT"; variant "TEXT_CODING(length=25)" } - -<TTCN_TC:EXEC> - var myint5 decoded - var charstring encoded := " 12345678910111213141516 -11111111111111111111" - var integer ret_val - var template integer intt := 12345678910111213141516 - ret_val := dec_text_sliding(encoded, decoded) - if (ret_val == 0 and decoded == 12345678910111213141516) {setverdict(pass)} - else {setverdict(fail)} - ret_val := dec_text_sliding(encoded, decoded) - if (ret_val == 0 and decoded == -11111111111111111111) {setverdict(pass)} - else {setverdict(fail)} - ret_val := dec_text_sliding(encoded, decoded) - if (match(12345678910111213141516, intt)) {setverdict(pass)} - else {setverdict(fail)} - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3.Decode second field of union -.*---------------------------------------------------------------------* -:xmp tab=0. - - -<TC - Decode second field of union> -<STATIC> - - type charstring Version (pattern "\d.\d") with { - encode "TEXT"; - variant "BEGIN('ABCD ')" - } - - type record Command { - charstring code, - charstring id, - charstring string, - Version ver - } with { - encode "TEXT"; - variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\r\n', '([\r\n])|(\r\n)')" - } - - type record Response { - charstring code, - charstring id, - charstring string optional - } with { - encode "TEXT"; - variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\r\n', '([\r\n])|(\r\n)')" - } - - - - type union Message { - Command command, - Response response - } with { - encode "TEXT"; - variant "BEGIN('')" - } - - type record Whole { - integer i, - Message mess - } with { - encode "TEXT"; - variant "SEPARATOR(' ', '[\t ]+')" - variant "BEGIN('')" - } - - - external function enc_Response(in Response id) return charstring - with { extension "prototype(convert) encode(TEXT)" }; - external function dec_Response(in charstring id) return Response - with { extension "prototype(convert) decode(TEXT)" }; - - external function enc_Message(in Message id) return charstring - with { extension "prototype(convert) encode(TEXT)" }; - external function dec_Message(in charstring id) return Message - with { extension "prototype(convert) decode(TEXT)" }; - - external function enc_Whole(in Whole id) return charstring - with { extension "prototype(convert) encode(TEXT)" }; - external function dec_Whole(in charstring id) return Whole - with { extension "prototype(convert) decode(TEXT)" }; - -<TTCN_TC:EXEC> - var Response pdu := { code := "510", id := "23", string := "FAIL" } - var charstring cs := "510 23 FAIL\r\n"; - if (not match(pdu, dec_Response(cs))) { - setverdict(fail); - } - - var Message mess := { response := { code := "510", id := "23", string := "FAIL" } } - if (not match(mess, dec_Message(cs))) { - setverdict(fail); - } - - var Whole wh := { i := 1, mess := { response := { code := "510", id := "23", string := "FAIL" } } } - cs := "1 510 23 FAIL\r\n"; - log(match(wh, dec_Whole(cs))) - if (not match(wh, dec_Whole(cs))) { - setverdict(fail); - } - - setverdict(pass); - -<RESULT> -Overall verdict: pass -<END_TC> - -:exmp. -.*---------------------------------------------------------------------* -:h1.REFERENCES -.*---------------------------------------------------------------------* -:nl. Requirement specification(s): -:nl.------------------------------- -:list. -:li. 3/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's TTCN-3 Semantic Analyser -:elist. - -:etext. +} diff --git a/function_test/Text_EncDec/Text_EncDec_2.ttcn b/function_test/Text_EncDec/Text_EncDec_2.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3bad7c0a96e113960a9b0c7a1f63f46c7274fc92 --- /dev/null +++ b/function_test/Text_EncDec/Text_EncDec_2.ttcn @@ -0,0 +1,135 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module Text_EncDec_2 { + + +external function enc_text(in rec_text r) return charstring + with { extension "encode(TEXT) prototype(convert) errorbehavior(ALL:WARNING)" } +external function dec_text(in charstring r) return rec_text + with { extension "decode(TEXT) prototype(convert) errorbehavior(ALL:WARNING)" } + +type integer myint1 with { + variant "BEGIN('<myint>')" + variant "END('</myint>')" + encode "TEXT" } + +type integer myint2 with { + variant "BEGIN('<myint_dummy>')" + variant "END('</myint_dummy>')" + variant "TEXT_CODING(length=128;leading0=true)" + encode "TEXT" } + +type integer myint3 with { + variant "BEGIN('<myint_super>')" + variant "END('</myint_super>')" + encode "TEXT" } + +type integer myint4 with { + variant "TEXT_CODING(length=256)" + variant "BEGIN('<myint_pad>')" + variant "END('</myint_pad>')" + encode "TEXT" } + +type record rec_text { + myint1 int1, + myint1 int2, + myint2 int3 optional, + myint3 int4 optional, + myint4 int5 optional +} with { + variant "BEGIN('<rec_text>')" + // `variant "SEPARATOR(',')"' is not necessary if the fields can be found + // unambigously. + variant "END('</rec_text>')" + encode "TEXT" } + + +type component TempComp {} +testcase TC() runs on TempComp { + const integer a := 214748364799 + const integer b := 214748364788 + const integer c := 0 + // Implicit `omit' would be great. + var rec_text myrec1 := {int1 := 214748364799, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit} + var rec_text myrec2 := {214748364799, 214748364788, omit, omit, omit} + var rec_text myrec3 := {214748364799, 0, omit, omit, omit} + var rec_text myrec4 := {int1 := 214748364799, int2 := 0, int3 := omit, int4 := omit, int5 := omit} + var rec_text myrec5 := {int1 := 0, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit} + var rec_text myrec6 := {0, 214748364788, omit, omit, omit} + var rec_text myrec7 := {0, 0, omit, omit, omit} + var rec_text myrec8 := {int1 := 0, int2 := 0, int3 := omit, int4 := omit, int5 := omit} + var rec_text myrec9 := {int1 := a, int2 := b, int3 := omit, int4 := omit, int5 := omit} + var rec_text myrec10 := {a, b, omit, omit, omit} + // The original `sprintf' encoder encodes negative values `-' <padding> + // `0123456'. We should work similarly. + var rec_text myrec11 := { + int1 := -11111111111111111111111111111, + int2 := 22222222222222222222222222222, + int3 := -33333333333333333333333333333, + int4 := 2147483648, + int5 := -2147483648 } + var rec_text myrec12 := {int1 := 0, int2 := 0, int3 := 0, int4 := -1111111111111111111111111111111, int5 := -1234567891011121314151617181920} + var rec_text myrec13 := {-0, -0, -0, -0, -0} + var rec_text myrec14 := {-0, -1, 1234567891011121314151617181920, -1111111111111111111111111111111, -0} + var rec_text myrec15 := {int1 := 1111111111111111111111111111111, int2 := -1234567891011121314151617181920, int3 := 0, int4 := -0, int5 := -111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111} + var charstring ret_val + ret_val := enc_text(myrec1) + if (dec_text(ret_val) == myrec1) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := 214748364799, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec2) + if (dec_text(ret_val) == myrec2) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {214748364799, 214748364788, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec3) + if (dec_text(ret_val) == myrec3) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {214748364799, 0, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec4) + if (dec_text(ret_val) == myrec4) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := 214748364799, int2 := 0, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec5) + if (dec_text(ret_val) == myrec5) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := 0, int2 := 214748364788, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec6) + if (dec_text(ret_val) == myrec6) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {0, 214748364788, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec7) + if (dec_text(ret_val) == myrec7) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {0, 0, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec8) + if (dec_text(ret_val) == myrec8) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := 0, int2 := 0, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec9) + if (dec_text(ret_val) == myrec9) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := a, int2 := b, int3 := omit, int4 := omit, int5 := omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec10) + if (dec_text(ret_val) == myrec10) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {a, b, omit, omit, omit}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec11) + if (dec_text(ret_val) == myrec11) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := -11111111111111111111111111111, int2 := 22222222222222222222222222222, int3 := -33333333333333333333333333333, int4 := 2147483648, int5 := -2147483648}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec12) + if (dec_text(ret_val) == myrec12) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := 0, int2 := 0, int3 := 0, int4 := -1111111111111111111111111111111, int5 := -1234567891011121314151617181920}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec13) + if (dec_text(ret_val) == myrec13) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {-0, -0, -0, -0, -0}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec14) + if (dec_text(ret_val) == myrec14) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {-0, -1, 1234567891011121314151617181920, -1111111111111111111111111111111, -0}) { setverdict(pass) } else { setverdict(fail) } + ret_val := enc_text(myrec15) + if (dec_text(ret_val) == myrec15) { setverdict(pass) } else { setverdict(fail) } + if (dec_text(ret_val) == {int1 := 1111111111111111111111111111111, int2 := -1234567891011121314151617181920, int3 := 0, int4 := -0, int5 := -111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111}) { setverdict(pass) } else { setverdict(fail) } + +} + +control { +execute (TC()) +} +} diff --git a/function_test/Text_EncDec/Text_EncDec_3.ttcn b/function_test/Text_EncDec/Text_EncDec_3.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3ce01c7360d9148a4ecdbb5ba8887a707cd9200 --- /dev/null +++ b/function_test/Text_EncDec/Text_EncDec_3.ttcn @@ -0,0 +1,41 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module Text_EncDec_3 { + + +external function dec_text_sliding(inout charstring r, out myint5 s) return integer + with { extension "prototype(sliding) decode(TEXT) errorbehavior(ALL:WARNING)" } + +type integer myint5 with { encode "TEXT"; variant "TEXT_CODING(length=25)" } + + +type component TempComp {} +testcase TC() runs on TempComp { + var myint5 decoded + var charstring encoded := " 12345678910111213141516 -11111111111111111111" + var integer ret_val + var template integer intt := 12345678910111213141516 + ret_val := dec_text_sliding(encoded, decoded) + if (ret_val == 0 and decoded == 12345678910111213141516) {setverdict(pass)} + else {setverdict(fail)} + ret_val := dec_text_sliding(encoded, decoded) + if (ret_val == 0 and decoded == -11111111111111111111) {setverdict(pass)} + else {setverdict(fail)} + ret_val := dec_text_sliding(encoded, decoded) + if (match(12345678910111213141516, intt)) {setverdict(pass)} + else {setverdict(fail)} + +} + +control { +execute (TC()) +} +} diff --git a/function_test/Text_EncDec/Text_EncDec_4.ttcn b/function_test/Text_EncDec/Text_EncDec_4.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f49937de8ac38358f2ffbbeb8996a909f615ea45 --- /dev/null +++ b/function_test/Text_EncDec/Text_EncDec_4.ttcn @@ -0,0 +1,103 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module Text_EncDec_4 { + + + type charstring Version (pattern "\d.\d") with { + encode "TEXT"; + variant "BEGIN('ABCD ')" + } + + type record Command { + charstring code, + charstring id, + charstring string, + Version ver + } with { + encode "TEXT"; + variant "SEPARATOR(' ', '[\t ]+')" + variant "END('\r\n', '([\r\n])|(\r\n)')" + } + + type record Response { + charstring code, + charstring id, + charstring string optional + } with { + encode "TEXT"; + variant "SEPARATOR(' ', '[\t ]+')" + variant "END('\r\n', '([\r\n])|(\r\n)')" + } + + + + type union Message { + Command command, + Response response + } with { + encode "TEXT"; + variant "BEGIN('')" + } + + type record Whole { + integer i, + Message mess + } with { + encode "TEXT"; + variant "SEPARATOR(' ', '[\t ]+')" + variant "BEGIN('')" + } + + + external function enc_Response(in Response id) return charstring + with { extension "prototype(convert) encode(TEXT)" }; + external function dec_Response(in charstring id) return Response + with { extension "prototype(convert) decode(TEXT)" }; + + external function enc_Message(in Message id) return charstring + with { extension "prototype(convert) encode(TEXT)" }; + external function dec_Message(in charstring id) return Message + with { extension "prototype(convert) decode(TEXT)" }; + + external function enc_Whole(in Whole id) return charstring + with { extension "prototype(convert) encode(TEXT)" }; + external function dec_Whole(in charstring id) return Whole + with { extension "prototype(convert) decode(TEXT)" }; + + +type component TempComp {} +testcase TC() runs on TempComp { + var Response pdu := { code := "510", id := "23", string := "FAIL" } + var charstring cs := "510 23 FAIL\r\n"; + if (not match(pdu, dec_Response(cs))) { + setverdict(fail); + } + + var Message mess := { response := { code := "510", id := "23", string := "FAIL" } } + if (not match(mess, dec_Message(cs))) { + setverdict(fail); + } + + var Whole wh := { i := 1, mess := { response := { code := "510", id := "23", string := "FAIL" } } } + cs := "1 510 23 FAIL\r\n"; + log(match(wh, dec_Whole(cs))) + if (not match(wh, dec_Whole(cs))) { + setverdict(fail); + } + + setverdict(pass); + +} + +control { +execute (TC()) +} +} diff --git a/function_test/Text_EncDec/run_test b/function_test/Text_EncDec/run_test deleted file mode 100755 index 4e25e16c9048e4ff0e92d4137425f74ef47245a4..0000000000000000000000000000000000000000 --- a/function_test/Text_EncDec/run_test +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -# Script parameters are coming from ../Makefile. -../Tools/SAtester $* ./TEXT_1_TD.fast_script - -rm -f Temp.ttcn -rm -f Temp.log diff --git a/function_test/XER_EncDec/Makefile b/function_test/XER_EncDec/Makefile index 33d72fe2836a063e0eb7990b184cd34cb4143f07..6270a0d940a7984a9f6b865e5ef66c2dc0bd7657 100644 --- a/function_test/XER_EncDec/Makefile +++ b/function_test/XER_EncDec/Makefile @@ -84,24 +84,28 @@ ARCHIVE_DIR = ./backup # # The TTCN-3 modules needed for this project: -TTCN3_MODULES = Temp.ttcn +TTCN3_MODULES = XER_EncDec_1.ttcn XER_EncDec_10.ttcn XER_EncDec_11.ttcn XER_EncDec_12.ttcn XER_EncDec_13.ttcn XER_EncDec_14.ttcn XER_EncDec_15.ttcn XER_EncDec_16.ttcn XER_EncDec_17.ttcn XER_EncDec_18.ttcn XER_EncDec_19.ttcn XER_EncDec_2.ttcn XER_EncDec_20.ttcn XER_EncDec_21.ttcn XER_EncDec_22.ttcn XER_EncDec_23.ttcn XER_EncDec_24.ttcn XER_EncDec_25.ttcn XER_EncDec_26.ttcn XER_EncDec_27.ttcn XER_EncDec_28.ttcn XER_EncDec_29.ttcn XER_EncDec_3.ttcn XER_EncDec_30.ttcn XER_EncDec_4.ttcn XER_EncDec_5.ttcn XER_EncDec_6.ttcn XER_EncDec_7.ttcn XER_EncDec_8.ttcn XER_EncDec_9.ttcn # The ASN.1 modules needed for this project: ASN1_MODULES = # C++ source & header files generated by TTCN-3 & ASN.1 compilers: -GENERATED_SOURCES = Temp.cc -GENERATED_HEADERS = Temp.hh +GENERATED_SOURCES = XER_EncDec_1.cc XER_EncDec_10.cc XER_EncDec_11.cc XER_EncDec_12.cc XER_EncDec_13.cc XER_EncDec_14.cc XER_EncDec_15.cc XER_EncDec_16.cc XER_EncDec_17.cc XER_EncDec_18.cc XER_EncDec_19.cc XER_EncDec_2.cc XER_EncDec_20.cc XER_EncDec_21.cc XER_EncDec_22.cc XER_EncDec_23.cc XER_EncDec_24.cc XER_EncDec_25.cc XER_EncDec_26.cc XER_EncDec_27.cc XER_EncDec_28.cc XER_EncDec_29.cc XER_EncDec_3.cc XER_EncDec_30.cc XER_EncDec_4.cc XER_EncDec_5.cc XER_EncDec_6.cc XER_EncDec_7.cc XER_EncDec_8.cc XER_EncDec_9.cc +GENERATED_HEADERS = XER_EncDec_1.hh XER_EncDec_10.hh XER_EncDec_11.hh XER_EncDec_12.hh XER_EncDec_13.hh XER_EncDec_14.hh XER_EncDec_15.hh XER_EncDec_16.hh XER_EncDec_17.hh XER_EncDec_18.hh XER_EncDec_19.hh XER_EncDec_2.hh XER_EncDec_20.hh XER_EncDec_21.hh XER_EncDec_22.hh XER_EncDec_23.hh XER_EncDec_24.hh XER_EncDec_25.hh XER_EncDec_26.hh XER_EncDec_27.hh XER_EncDec_28.hh XER_EncDec_29.hh XER_EncDec_3.hh XER_EncDec_30.hh XER_EncDec_4.hh XER_EncDec_5.hh XER_EncDec_6.hh XER_EncDec_7.hh XER_EncDec_8.hh XER_EncDec_9.hh # Source & header files of Test Ports and your other modules: USER_SOURCES = USER_HEADERS = # All object files needed for the executable test suite: -OBJECTS = Temp.o +OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS) + +GENERATED_OBJECTS = XER_EncDec_1.o XER_EncDec_10.o XER_EncDec_11.o XER_EncDec_12.o XER_EncDec_13.o XER_EncDec_14.o XER_EncDec_15.o XER_EncDec_16.o XER_EncDec_17.o XER_EncDec_18.o XER_EncDec_19.o XER_EncDec_2.o XER_EncDec_20.o XER_EncDec_21.o XER_EncDec_22.o XER_EncDec_23.o XER_EncDec_24.o XER_EncDec_25.o XER_EncDec_26.o XER_EncDec_27.o XER_EncDec_28.o XER_EncDec_29.o XER_EncDec_3.o XER_EncDec_30.o XER_EncDec_4.o XER_EncDec_5.o XER_EncDec_6.o XER_EncDec_7.o XER_EncDec_8.o XER_EncDec_9.o + +USER_OBJECTS = # The name of the executable test suite: -TARGET = Temp +TARGET = XER_EncDec.exe ifdef COVERAGE CPPFLAGS += -fprofile-arcs -ftest-coverage -g diff --git a/function_test/XER_EncDec/Temp.cfg b/function_test/XER_EncDec/XER_EncDec.cfg similarity index 63% rename from function_test/XER_EncDec/Temp.cfg rename to function_test/XER_EncDec/XER_EncDec.cfg index bfd85299f24f81c0f27aa5c8e451584025623bf2..f9120bb7389e8b971bedda7278956d7fa22ce67c 100644 --- a/function_test/XER_EncDec/Temp.cfg +++ b/function_test/XER_EncDec/XER_EncDec.cfg @@ -17,4 +17,33 @@ Logfile := "Temp.log" FileMask := LOG_ALL ConsoleMask := TTCN_WARNING | TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS [EXECUTE] -Temp +XER_EncDec_1 +XER_EncDec_2 +XER_EncDec_3 +XER_EncDec_4 +XER_EncDec_5 +XER_EncDec_6 +XER_EncDec_7 +XER_EncDec_8 +XER_EncDec_9 +XER_EncDec_10 +XER_EncDec_11 +XER_EncDec_12 +XER_EncDec_13 +XER_EncDec_14 +XER_EncDec_15 +XER_EncDec_16 +XER_EncDec_17 +XER_EncDec_18 +XER_EncDec_19 +XER_EncDec_20 +XER_EncDec_21 +XER_EncDec_22 +XER_EncDec_23 +XER_EncDec_24 +XER_EncDec_25 +XER_EncDec_26 +XER_EncDec_27 +XER_EncDec_28 +XER_EncDec_29 +XER_EncDec_30 diff --git a/function_test/XER_EncDec/XER_EncDec_1.ttcn b/function_test/XER_EncDec/XER_EncDec_1.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..10bff24799d2058236e754c8781974a5734395fb --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_1.ttcn @@ -0,0 +1,45 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_1 { + +type component Test_CT{}; + + +type float MyFloat +with { + encode "XML"; + variant "fractionDigits 2"; + variant "XSD:decimal"; +}; + +external function ef_xer_dec(in octetstring par) return MyFloat + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_dec_fractiondigits() runs on Test_CT { + var universal charstring xml := "<MyFloat>1234567890.111</MyFloat>\n"; +@try { + ef_xer_dec(unichar2oct(xml)); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_1.MyFloat': The float value \(1234567890.111\) contains too many fractionDigits. Expected 2 or less.*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_dec_fractiondigits()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_10.ttcn b/function_test/XER_EncDec/XER_EncDec_10.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5d7951f6858a648a661defc58d9f8e7b704d414a --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_10.ttcn @@ -0,0 +1,50 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_10 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_enc(in any_elem_rec_of par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>", + "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>", + "<something>not very important</something>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_10.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.someotherplace.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_11.ttcn b/function_test/XER_EncDec/XER_EncDec_11.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..94d56a070b32855edd44d4aa8f74e937ab9f07fa --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_11.ttcn @@ -0,0 +1,51 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_11 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement except unqualified"; +} + +external function ef_xer_enc(in any_elem_rec par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec v_good := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec v_bad := { 3, "<something>not very important</something>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_11.any_elem_rec': Component 'any_elem': While checking anyElement: The unqualified XML namespace is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_12.ttcn b/function_test/XER_EncDec/XER_EncDec_12.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28d9e4a1cb82b00c8cc16afcc1af16d2cbd8b67b --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_12.ttcn @@ -0,0 +1,54 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_12 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement except 'http://www.somewhere.com'"; +} + +external function ef_xer_enc(in any_elem_rec par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec v_good1 := { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + os_enc := ef_xer_enc(v_good1); + + var any_elem_rec v_good2 := { 3, "<something>not very important</something>" }; + os_enc := ef_xer_enc(v_good2); + +@try { + var any_elem_rec v_bad := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_12.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhere.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_13.ttcn b/function_test/XER_EncDec/XER_EncDec_13.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a2a63408502ad578c6c80d9b5a6be90d24c66b8 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_13.ttcn @@ -0,0 +1,51 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_13 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_enc(in any_elem_rec par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec v_good := { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec v_bad := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_13.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhere.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_14.ttcn b/function_test/XER_EncDec/XER_EncDec_14.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..76b7fb0e6cc6612aa6ffc9a882ff0fc3a037d3c8 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_14.ttcn @@ -0,0 +1,48 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_14 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement except unqualified"; +} + +external function ef_xer_enc(in any_elem_rec_of par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec_of v_bad := { "<something>not very important</something>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_14.any_elem_rec_of': Index 0: While checking anyElement: The unqualified XML namespace is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_15.ttcn b/function_test/XER_EncDec/XER_EncDec_15.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dfc6546e5ef7a4692d07859f075aeb32b9594e48 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_15.ttcn @@ -0,0 +1,48 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_15 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement except 'http://www.somewhere.com'"; +} + +external function ef_xer_enc(in any_elem_rec_of par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_15.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhere.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_16.ttcn b/function_test/XER_EncDec/XER_EncDec_16.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1f654e25d963d6679bfc4f5867fe0b65f42a3c16 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_16.ttcn @@ -0,0 +1,48 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_16 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_enc(in any_elem_rec_of par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_16.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhere.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_17.ttcn b/function_test/XER_EncDec/XER_EncDec_17.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..142dce8622ed4bab12413e193c7583f6d37df4e8 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_17.ttcn @@ -0,0 +1,53 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_17 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement from unqualified"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec v_res; + + // encoded { 3, "<something>not very important</something>" }; + var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E333C2F6E6F745F757365643E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_17.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhere.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_18.ttcn b/function_test/XER_EncDec/XER_EncDec_18.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d69ce68f9e5abce3a8ae670ec1b4a6527d4c04db --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_18.ttcn @@ -0,0 +1,53 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_18 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement from 'http://www.somewhere.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec v_res; + + // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E36313C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_18.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhereelse.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_19.ttcn b/function_test/XER_EncDec/XER_EncDec_19.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2e36f9f420cb0401400f72640e889b3dc053f4da --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_19.ttcn @@ -0,0 +1,61 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_19 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec v_res; + + // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_good1 := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good1); + + // encoded { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + var octetstring v_good2 := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E36313C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good2); + + // encoded { 3, "<something>not very important</something>" }; + var octetstring v_good3 := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E333C2F6E6F745F757365643E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good3); + +@try { + // encoded { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E303C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_19.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.someotherplace.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_2.ttcn b/function_test/XER_EncDec/XER_EncDec_2.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2d3cdd937807849703cd8d3014bdcbdc09386519 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_2.ttcn @@ -0,0 +1,45 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_2 { + +type component Test_CT{}; + + +type float MyFloat +with { + encode "XML"; + variant "fractionDigits 0"; + variant "XSD:decimal"; +}; + +external function ef_xer_dec(in octetstring par) return MyFloat + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_dec_fractiondigits() runs on Test_CT { + var universal charstring xml := "<MyFloat>1234567890.1</MyFloat>\n"; +@try { + ef_xer_dec(unichar2oct(xml)); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_2.MyFloat': The float value \(1234567890.1\) contains too many fractionDigits. Expected 0 or less*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_dec_fractiondigits()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_20.ttcn b/function_test/XER_EncDec/XER_EncDec_20.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..70e318176884f23ee844a84e185d2f096f4d8579 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_20.ttcn @@ -0,0 +1,50 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_20 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement from unqualified"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec_of + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec_of v_res; + + // encoded { "<something>not very important</something>" }; + var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_20.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhere.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_21.ttcn b/function_test/XER_EncDec/XER_EncDec_21.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..401cfbebb4ecef16347209acf0baa8fb42574519 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_21.ttcn @@ -0,0 +1,50 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_21 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement from 'http://www.somewhere.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec_of + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec_of v_res; + + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_21.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhereelse.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_22.ttcn b/function_test/XER_EncDec/XER_EncDec_22.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e88b5b6e3e164c505661eb003c7b27f7013fa558 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_22.ttcn @@ -0,0 +1,52 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_22 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec_of + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec_of v_res; + + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>", + // "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>", + // "<something>not very important</something>" }; + var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_22.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.someotherplace.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_23.ttcn b/function_test/XER_EncDec/XER_EncDec_23.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..41a36ac84b11e0201248754b5d3734402f6c3712 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_23.ttcn @@ -0,0 +1,53 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_23 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement except unqualified"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec v_res; + + // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { 3, "<something>not very important</something>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E333C2F6E6F745F757365643E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_23.any_elem_rec': Component 'any_elem': While checking anyElement: The unqualified XML namespace is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_24.ttcn b/function_test/XER_EncDec/XER_EncDec_24.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3443fbaa768598f07c629c353fb17c6d053705a --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_24.ttcn @@ -0,0 +1,53 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_24 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement except 'http://www.somewhere.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec v_res; + + // encoded { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E36313C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_24.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhere.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_25.ttcn b/function_test/XER_EncDec/XER_EncDec_25.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..34254ccbc8d9c8cdaec9858fadc0feb592c22fd6 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_25.ttcn @@ -0,0 +1,53 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_25 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec v_res; + + // encoded { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E303C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_25.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhere.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_26.ttcn b/function_test/XER_EncDec/XER_EncDec_26.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2785e370effb16e509fa739e49e9ba761499f447 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_26.ttcn @@ -0,0 +1,50 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_26 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement except unqualified"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec_of + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec_of v_res; + + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { "<something>not very important</something>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_26.any_elem_rec_of': Index 0: While checking anyElement: The unqualified XML namespace is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_27.ttcn b/function_test/XER_EncDec/XER_EncDec_27.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7c21c5300d521a3fea6683370bb90d0141920123 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_27.ttcn @@ -0,0 +1,50 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_27 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement except 'http://www.somewhere.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec_of + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec_of v_res; + + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_27.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhere.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_28.ttcn b/function_test/XER_EncDec/XER_EncDec_28.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db0edf936d163b765426714f357687a02e022c73 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_28.ttcn @@ -0,0 +1,50 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_28 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_dec(in octetstring par) return any_elem_rec_of + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var any_elem_rec_of v_res; + + // encoded { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_good); + +@try { + // encoded { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; + v_res := ef_xer_dec(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_28.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhereelse.com"" is in the excluded namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_29.ttcn b/function_test/XER_EncDec/XER_EncDec_29.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3100eb47a380988a13d816c583e59c491caf8e2d --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_29.ttcn @@ -0,0 +1,48 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_29 { + +type component Test_CT{}; + + +type record MyType +{ + universal charstring foo +} +with { + encode "XML"; + variant "element"; +}; + +external function ef_xer_enc(in MyType par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_enc_explicitly_unspecified() runs on Test_CT { + template MyType myTemp := { foo := - }; + +@try { + var octetstring v_res := ef_xer_enc(valueof(myTemp)); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: Performing a valueof or send operation on a non-specific template of type @XER_EncDec_29.MyType*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_enc_explicitly_unspecified()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_3.ttcn b/function_test/XER_EncDec/XER_EncDec_3.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c471918a45624be5b5a749a14f087369842e833d --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_3.ttcn @@ -0,0 +1,53 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_3 { + +type component Test_CT{}; + + +type float MyFloat +with { + encode "XML"; + variant "XSD:decimal"; +}; + +type record MyRec { + MyFloat myfloat +} +with { + encode "XML"; + variant (myfloat) "fractionDigits 2"; + variant (myfloat) "attribute"; +}; + +external function ef_xer_dec(in octetstring par) return MyRec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_dec_fractiondigits_attr() runs on Test_CT { + var universal charstring xml := "<MyRec myfloat='1234567890.111'></MyRec>\n"; +@try { + ef_xer_dec(unichar2oct(xml)); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_3.MyRec': Component 'myfloat': The float value \(1234567890.111\) contains too many fractionDigits. Expected 2 or less*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_dec_fractiondigits_attr()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_30.ttcn b/function_test/XER_EncDec/XER_EncDec_30.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bc61b0764fa6f62ee1e5f607cae5db241995201c --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_30.ttcn @@ -0,0 +1,53 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_30 { + +type component Test_CT{}; + + +type record MyRecord { + UntaggedUnion u +} with { + encode "XML"; +} + +type union UntaggedUnion { + integer i, + UntaggedUnion u +} with { + encode "XML"; + variant "untagged"; +} + +external function ef_xer_dec(in octetstring par) return MyRecord + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_dec_self_recursive_untagged_field() runs on Test_CT { + var universal charstring bad_xml := "<MyRecord>\n\t<bad>44</bad>\n</MyRecord>\n\n"; + +@try { + var MyRecord v_res := ef_xer_dec(unichar2oct(bad_xml)); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_30.MyRecord': Component 'u': 'bad' does not match any alternative*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_dec_self_recursive_untagged_field()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_4.ttcn b/function_test/XER_EncDec/XER_EncDec_4.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8fb6894eeccee003df50d3f90ca80265bc082f4c --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_4.ttcn @@ -0,0 +1,54 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_4 { + +type component Test_CT{}; + + +type float MyFloat +with { + encode "XML"; + variant "XSD:decimal"; +}; + +type record MyRec { + MyFloat myfloat +} +with { + encode "XML"; + variant (myfloat) "fractionDigits 0"; + variant (myfloat) "attribute"; +}; + +external function ef_xer_dec(in octetstring par) return MyRec + with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_dec_fractiondigits_attr() runs on Test_CT { + var universal charstring xml := "<MyRec myfloat='1234567890.1'></MyRec>\n"; +@try { + ef_xer_dec(unichar2oct(xml)); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-decoding type '@XER_EncDec_4.MyRec': Component 'myfloat': The float value \(1234567890.1\) contains too many fractionDigits. Expected 0 or less*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + + setverdict(pass); +} + +control { + execute(tc_dec_fractiondigits_attr()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_5.ttcn b/function_test/XER_EncDec/XER_EncDec_5.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c6d96936d7ca3a4c2c942e366ea3dbea03397679 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_5.ttcn @@ -0,0 +1,52 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_5 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement from unqualified"; +} + +external function ef_xer_enc(in any_elem_rec par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec v_good := { 3, "<something>not very important</something>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec v_bad := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_5.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhere.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_6.ttcn b/function_test/XER_EncDec/XER_EncDec_6.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0229d1c47ecfd2aca19b815c5d972c7db12dcbfe --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_6.ttcn @@ -0,0 +1,52 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_6 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement from 'http://www.somewhere.com'"; +} + +external function ef_xer_enc(in any_elem_rec par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec v_good := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec v_bad := { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_6.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.somewhereelse.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_7.ttcn b/function_test/XER_EncDec/XER_EncDec_7.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c504298fb10df2e73aed4284ee0351df96dbaab7 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_7.ttcn @@ -0,0 +1,57 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_7 { + +type component Test_CT{}; + + +type record any_elem_rec { + integer not_used, + universal charstring any_elem +} with { + encode "XML"; + variant(any_elem) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; +} + +external function ef_xer_enc(in any_elem_rec par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec v_good1 := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_good1); + + var any_elem_rec v_good2 := { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + os_enc := ef_xer_enc(v_good2); + + var any_elem_rec v_good3 := { 3, "<something>not very important</something>" }; + os_enc := ef_xer_enc(v_good3); + +@try { + var any_elem_rec v_bad := { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_7.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace ""http://www.someotherplace.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_8.ttcn b/function_test/XER_EncDec/XER_EncDec_8.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bc1013617920af1b261a44d0b73df5176042690d --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_8.ttcn @@ -0,0 +1,49 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_8 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement from unqualified"; +} + +external function ef_xer_enc(in any_elem_rec_of par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec_of v_good := { "<something>not very important</something>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_8.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhere.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_9.ttcn b/function_test/XER_EncDec/XER_EncDec_9.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..27b88ab559bbf257f55cead5cacd627df24174e5 --- /dev/null +++ b/function_test/XER_EncDec/XER_EncDec_9.ttcn @@ -0,0 +1,48 @@ +/****************************************************************************** + * 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: + * Szabados, Kristof * + ******************************************************************************/ +module XER_EncDec_9 { + +type component Test_CT{}; + + +type record of universal charstring any_elem_rec_of with { + encode "XML"; + variant([-]) "anyElement from 'http://www.somewhere.com'"; +} + +external function ef_xer_enc(in any_elem_rec_of par) return octetstring + with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } + +testcase tc_any_elem() runs on Test_CT { + var octetstring os_enc; + + var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; + os_enc := ef_xer_enc(v_good); + +@try { + var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; + os_enc := ef_xer_enc(v_bad); +} @catch (msg) { + var template charstring msg_exp := pattern "*Dynamic test case error: While XER-encoding type '@XER_EncDec_9.any_elem_rec_of': Index 0: While checking anyElement: XML namespace ""http://www.somewhereelse.com"" is not in the allowed namespace list*"; + if (not match(msg, msg_exp)) { + setverdict(fail, "Invalid error message: ", msg); + } else { + setverdict(pass); + } +} + setverdict(pass); +} + +control { + execute(tc_any_elem()); +} + +} diff --git a/function_test/XER_EncDec/XER_EncDec_TD.script b/function_test/XER_EncDec/XER_EncDec_TD.script deleted file mode 100644 index 3b6e8fd9c409de73a9a56c582d7ed90cf36369ee..0000000000000000000000000000000000000000 --- a/function_test/XER_EncDec/XER_EncDec_TD.script +++ /dev/null @@ -1,1523 +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 -.* Baranyi, Botond -.* Szabo, Bence Janos -.* -.******************************************************************************/ -:text. -:lang eng. -.* -:docname.Test Description -:docno.9/152 91-CRL 113 200/5 Uen -:rev.A -:date.2015-04-27 -.* -:prep.ETH/XZ Botond Baranyi -:appr.ETH/XZ (Elemer Lelik) -:checked.ETHBAAT -.* -:title.Test description - XER coder -:contents level=3. -.*---------------------------------------------------------------------* -:h1.PREREQUISITES AND PREPARATIONS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2.Scope of the Test Object -.*---------------------------------------------------------------------* -:xmp tab=1 nokeep. - -This TD contains test cases related to TTCN3 Executor's XER coder function. -For now, only "anyElement" variants are tested. - -:exmp. - -:p.:us.Revision Information:eus. - -:xmp nokeep. -:us.History:eus. - -REV DATE PREPARED CHANGE -=== ========== ======== ====== -A 2014-04-29 EBOTBAR New document - -:exmp. - -.*---------------------------------------------------------------------* -:h2.Test Tools -.*---------------------------------------------------------------------* -:p.:us.Software Tools:eus. -:xmp tab=2 nokeep. - - SAtester - -:exmp. -:np. -.*---------------------------------------------------------------------* -:h1.REQUIREMENT-BASED TESTS -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h2. Negative tests with encoding "anyElement from ..." variants -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Encoding record with any element from unqualified namespace -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h4. Encoding record template with explicitly unspecified field -.*---------------------------------------------------------------------* - -.*---------------------------------------------------------------------* -:h4. Too many fraction digits when fractionDigits is 2 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Too many fraction digits when fractionDigits is 2> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type float MyFloat -with { - encode "XML"; - variant "fractionDigits 2"; - variant "XSD:decimal"; -}; - -external function ef_xer_dec(in octetstring par) return MyFloat - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_dec_fractiondigits() runs on Test_CT { - var universal charstring xml := "<MyFloat>1234567890.111</MyFloat>\n"; - ef_xer_dec(unichar2oct(xml)); - setverdict(pass); -} - -control { - execute(tc_dec_fractiondigits()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.MyFloat': The float value (1234567890.111) contains too many fractionDigits. Expected 2 or less - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h4. Too many fraction digits when fractionDigits is 0 -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Too many fraction digits when fractionDigits is 0> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type float MyFloat -with { - encode "XML"; - variant "fractionDigits 0"; - variant "XSD:decimal"; -}; - -external function ef_xer_dec(in octetstring par) return MyFloat - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_dec_fractiondigits() runs on Test_CT { - var universal charstring xml := "<MyFloat>1234567890.1</MyFloat>\n"; - ef_xer_dec(unichar2oct(xml)); - setverdict(pass); -} - -control { - execute(tc_dec_fractiondigits()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.MyFloat': The float value (1234567890.1) contains too many fractionDigits. Expected 0 or less - -<END_TC> - -:exmp. - - -.*---------------------------------------------------------------------* -:h4. Too many fraction digits when fractionDigits is 2 in attribute -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Too many fraction digits when fractionDigits is 2 in attribute> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type float MyFloat -with { - encode "XML"; - variant "XSD:decimal"; -}; - -type record MyRec { - MyFloat myfloat -} -with { - encode "XML"; - variant (myfloat) "fractionDigits 2"; - variant (myfloat) "attribute"; -}; - -external function ef_xer_dec(in octetstring par) return MyRec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_dec_fractiondigits_attr() runs on Test_CT { - var universal charstring xml := "<MyRec myfloat='1234567890.111'></MyRec>\n"; - ef_xer_dec(unichar2oct(xml)); - setverdict(pass); -} - -control { - execute(tc_dec_fractiondigits_attr()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.MyRec': Component 'myfloat': The float value (1234567890.111) contains too many fractionDigits. Expected 2 or less. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h4. Too many fraction digits when fractionDigits is 0 in attribute -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Too many fraction digits when fractionDigits is 0 in attribute> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type float MyFloat -with { - encode "XML"; - variant "XSD:decimal"; -}; - -type record MyRec { - MyFloat myfloat -} -with { - encode "XML"; - variant (myfloat) "fractionDigits 0"; - variant (myfloat) "attribute"; -}; - -external function ef_xer_dec(in octetstring par) return MyRec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_dec_fractiondigits_attr() runs on Test_CT { - var universal charstring xml := "<MyRec myfloat='1234567890.1'></MyRec>\n"; - ef_xer_dec(unichar2oct(xml)); - setverdict(pass); -} - -control { - execute(tc_dec_fractiondigits_attr()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.MyRec': Component 'myfloat': The float value (1234567890.1) contains too many fractionDigits. Expected 0 or less. - -<END_TC> - -:exmp. - - -:xmp tab=0. - -<TC - Encoding record with any element from unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement from unqualified"; -} - -external function ef_xer_enc(in any_elem_rec par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec v_good := { 3, "<something>not very important</something>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec v_bad := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhere.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record with any element from specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record with any element from specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement from 'http://www.somewhere.com'"; -} - -external function ef_xer_enc(in any_elem_rec par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec v_good := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec v_bad := { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhereelse.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record with any element from multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record with any element from multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_enc(in any_elem_rec par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec v_good1 := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_good1); - - var any_elem_rec v_good2 := { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - os_enc := ef_xer_enc(v_good2); - - var any_elem_rec v_good3 := { 3, "<something>not very important</something>" }; - os_enc := ef_xer_enc(v_good3); - - var any_elem_rec v_bad := { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.someotherplace.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record of with any element from unqualified namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record of with any element from unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement from unqualified"; -} - -external function ef_xer_enc(in any_elem_rec_of par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec_of v_good := { "<something>not very important</something>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhere.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record of with any element from specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record of with any element from specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement from 'http://www.somewhere.com'"; -} - -external function ef_xer_enc(in any_elem_rec_of par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhereelse.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record of with any element from multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record of with any element from multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_enc(in any_elem_rec_of par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>", - "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>", - "<something>not very important</something>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.someotherplace.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Negative tests with encoding "anyElement except ..." variants -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Encoding record with any element except unqualified namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record with any element except unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement except unqualified"; -} - -external function ef_xer_enc(in any_elem_rec par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec v_good := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec v_bad := { 3, "<something>not very important</something>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: The unqualified XML namespace is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record with any element except specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record with any element except specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement except 'http://www.somewhere.com'"; -} - -external function ef_xer_enc(in any_elem_rec par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec v_good1 := { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - os_enc := ef_xer_enc(v_good1); - - var any_elem_rec v_good2 := { 3, "<something>not very important</something>" }; - os_enc := ef_xer_enc(v_good2); - - var any_elem_rec v_bad := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhere.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record with any element except multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record with any element except multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_enc(in any_elem_rec par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec v_good := { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec v_bad := { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhere.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record of with any element except unqualified namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record of with any element except unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement except unqualified"; -} - -external function ef_xer_enc(in any_elem_rec_of par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec_of v_bad := { "<something>not very important</something>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: The unqualified XML namespace is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record of with any element except specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record of with any element except specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement except 'http://www.somewhere.com'"; -} - -external function ef_xer_enc(in any_elem_rec_of par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhere.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Encoding record of with any element except multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record of with any element except multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_enc(in any_elem_rec_of par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var octetstring os_enc; - - var any_elem_rec_of v_good := { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - os_enc := ef_xer_enc(v_good); - - var any_elem_rec_of v_bad := { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - os_enc := ef_xer_enc(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> -Dynamic test case error: While XER-encoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhere.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Negative tests with decoding "anyElement from ..." variants -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Decoding record with any element from unqualified namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record with any element from unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement from unqualified"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec v_res; - - // encoded { 3, "<something>not very important</something>" }; - var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E333C2F6E6F745F757365643E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhere.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record with any element from specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record with any element from specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement from 'http://www.somewhere.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec v_res; - - // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E36313C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhereelse.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record with any element from multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record with any element from multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec v_res; - - // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_good1 := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good1); - - // encoded { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - var octetstring v_good2 := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E36313C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good2); - - // encoded { 3, "<something>not very important</something>" }; - var octetstring v_good3 := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E333C2F6E6F745F757365643E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good3); - - // encoded { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E303C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.someotherplace.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record of with any element from unqualified namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record of with any element from unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement from unqualified"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec_of - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec_of v_res; - - // encoded { "<something>not very important</something>" }; - var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhere.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record of with any element from specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record of with any element from specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement from 'http://www.somewhere.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec_of - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec_of v_res; - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhereelse.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record of with any element from multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record of with any element from multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement from unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec_of - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec_of v_res; - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>", - // "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>", - // "<something>not very important</something>" }; - var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.someotherplace.com" is not in the allowed namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h2. Negative tests with decoding "anyElement except ..." variants -.*---------------------------------------------------------------------* -.*---------------------------------------------------------------------* -:h3. Decoding record with any element except unqualified namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record with any element except unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement except unqualified"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec v_res; - - // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { 3, "<something>not very important</something>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E333C2F6E6F745F757365643E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: The unqualified XML namespace is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record with any element except specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record with any element except specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement except 'http://www.somewhere.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec v_res; - - // encoded { 61, "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E36313C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhere.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record with any element except multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record with any element except multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record any_elem_rec { - integer not_used, - universal charstring any_elem -} with { - encode "XML"; - variant(any_elem) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec v_res; - - // encoded { 0, "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E303C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { -5, "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265633E0A093C6E6F745F757365643E2D353C2F6E6F745F757365643E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265633E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec': Component 'any_elem': While checking anyElement: XML namespace "http://www.somewhere.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record of with any element except unqualified namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record of with any element except unqualified namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement except unqualified"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec_of - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec_of v_res; - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { "<something>not very important</something>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C736F6D657468696E673E6E6F74207665727920696D706F7274616E743C2F736F6D657468696E673E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: The unqualified XML namespace is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record of with any element except specific namespace -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record of with any element except specific namespace> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement except 'http://www.somewhere.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec_of - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec_of v_res; - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhere.com"">red</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D6577686572652E636F6D223E7265643C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhere.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h3. Decoding record of with any element except multiple namespaces -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record of with any element except multiple namespaces> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record of universal charstring any_elem_rec_of with { - encode "XML"; - variant([-]) "anyElement except unqualified, 'http://www.somewhere.com', 'http://www.somewhereelse.com'"; -} - -external function ef_xer_dec(in octetstring par) return any_elem_rec_of - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_any_elem() runs on Test_CT { - var any_elem_rec_of v_res; - - // encoded { "<xyz:color xmlns:xyz=""http://www.someotherplace.com"">green</xyz:color>" }; - var octetstring v_good := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D656F74686572706C6163652E636F6D223E677265656E3C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_good); - - // encoded { "<xyz:color xmlns:xyz=""http://www.somewhereelse.com"">blue</xyz:color>" }; - var octetstring v_bad := '3C616E795F656C656D5F7265635F6F663E0A093C78797A3A636F6C6F7220786D6C6E733A78797A3D22687474703A2F2F7777772E736F6D657768657265656C73652E636F6D223E626C75653C2F78797A3A636F6C6F723E0A3C2F616E795F656C656D5F7265635F6F663E0A0A'O; - v_res := ef_xer_dec(v_bad); - - setverdict(pass); -} - -control { - execute(tc_any_elem()); -} - -<RESULT> - -Dynamic test case error: While XER-decoding type '@Temp.any_elem_rec_of': Index 0: While checking anyElement: XML namespace "http://www.somewhereelse.com" is in the excluded namespace list. - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h4. Encoding record template with explicitly unspecified field -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Encoding record template with explicitly unspecified field> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record MyType -{ - universal charstring foo -} -with { - encode "XML"; - variant "element"; -}; - -external function ef_xer_enc(in MyType par) return octetstring - with { extension "prototype(convert) encode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_enc_explicitly_unspecified() runs on Test_CT { - template MyType myTemp := { foo := - }; - - var octetstring v_res := ef_xer_enc(valueof(myTemp)); - - setverdict(pass); -} - -control { - execute(tc_enc_explicitly_unspecified()); -} - -<RESULT> - -Dynamic test case error: Performing a valueof or send operation on a non-specific template of type @Temp.MyType - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h4. Decoding record with untagged self recursive union field from incorrect XML -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Decoding record with untagged self recursive union field from incorrect XML> - -<STATIC> - -type component Test_CT{}; - -<TTCN_TC:PURE_EXEC> - -type record MyRecord { - UntaggedUnion u -} with { - encode "XML"; -} - -type union UntaggedUnion { - integer i, - UntaggedUnion u -} with { - encode "XML"; - variant "untagged"; -} - -external function ef_xer_dec(in octetstring par) return MyRecord - with { extension "prototype(convert) decode (XER:XER_EXTENDED) errorbehavior(ALL:ERROR)" } - -testcase tc_dec_self_recursive_untagged_field() runs on Test_CT { - var universal charstring bad_xml := "<MyRecord>\n\t<bad>44</bad>\n</MyRecord>\n\n"; - - var MyRecord v_res := ef_xer_dec(unichar2oct(bad_xml)); - - setverdict(pass); -} - -control { - execute(tc_dec_self_recursive_untagged_field()); -} - -<RESULT> - -While XER-decoding type '@Temp.MyRecord': Component 'u': 'bad' does not match any alternative - -<END_TC> - -:exmp. - -.*---------------------------------------------------------------------* -:h1.REFERENCES -.*---------------------------------------------------------------------* -:nl. Requirement specification(s): -:nl.------------------------------- -:list. -:li. 8/ETH/RUS-2003:0087 Uen - Requirement Specification for TITAN's encoder/decoder functions -:elist. - -:etext. diff --git a/function_test/XER_EncDec/run_test b/function_test/XER_EncDec/run_test deleted file mode 100755 index 4f8bafb408b177d80eb1b729b4ca164a3d251674..0000000000000000000000000000000000000000 --- a/function_test/XER_EncDec/run_test +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Script parameters are coming from ../Makefile. -../Tools/SAtester $* ./XER_EncDec_TD.script - -rm Temp.ttcn