1ValueTest DEFINITIONS AUTOMATIC TAGS ::=
2
3BEGIN
4
5--Criticality    ::= ENUMERATED { reject, ignore, notify }(reject)
6
7--Ignore         ::= Criticality(ignore)
8
9--SubCriticality ::= Criticality(reject|notify)
10
11INNL ::= INTEGER {zero(0),one(1),ten(10)}
12BSNNL ::= BIT STRING {zero(0),one(1),two(2)}
13RadioButton ::= ENUMERATED {button1(0),button2(1),button3(2)}
14
15-- OTP-6695
16vANY ANY ::= INTEGER:12
17
18-- basic type value test for coverage
19vBOOLEAN BOOLEAN ::= TRUE
20vINTEGER INTEGER ::= 12
21vINTEGERNNL INNL ::= zero
22vENUMERATED RadioButton ::= button1
23vBS BSNNL ::= {zero,two}
24vNULL NULL ::= NULL
25vOS OCTET STRING ::= '313233'H
26
27-- OBJECT IDENTIFIER
28vOD OBJECT IDENTIFIER ::= {2 1 1}
29one INTEGER ::= 1
30integer-first OBJECT IDENTIFIER ::= {one 2}
31rel-oid-1 RELATIVE-OID ::= {2 4 5}
32include-roid OBJECT IDENTIFIER ::= {0 rel-oid-1}
33include-oid OBJECT IDENTIFIER ::= {integer-first 1}
34include-all OBJECT IDENTIFIER ::= {integer-first 1 rel-oid-1 42}
35
36--Character strings
37numericstring NumericString ::= "01234567"
38printablestring PrintableString ::= "PrintableString"
39visiblestring VisibleString ::= "VisibleString"
40cr IA5String ::= {0,13}
41ia5string1 IA5String ::= {"First line",cr, "Second line"}
42ia5string2 IA5String ::= {{5,5},{4,4},{6,6}}
43teletexstring TeletexString ::= "TeletexString"
44videotexstring VideotexString ::= "VideotexString"
45utctime UTCTime ::= "97100211-0500"
46generalizedtime GeneralizedTime ::= "19971002103130.5"
47objectdescriptor ObjectDescriptor ::= "ObjectDescriptor"
48graphicstring GraphicString ::= "GraphicString"
49generalstring GeneralString ::= "GeneralString"
50bmpstring1 BMPString ::= "BMPString"
51latinCapitalLetterA UniversalString ::= {0,0,0,65}
52greekCapitalLetterSigma UniversalString ::= {0,0,3,145}
53my-universalstring UniversalString ::= {"This is a capital A: ",
54					latinCapitalLetterA,
55					", and a capital sigma: ",
56					greekCapitalLetterSigma,
57					"; try and spot the difference!"}
58
59-- Useful parameterized SEQUENCE.
60ParamSeq{Type} ::= SEQUENCE {
61    a Type
62}
63
64-- Integer values.
65IntegerSeq ::= ParamSeq{INTEGER}
66someInteger INTEGER ::= 42
67integerSeq1 IntegerSeq ::= { a otherInteger }
68otherInteger INTEGER ::= someInteger
69
70--
71-- Values from objects.
72--
73int-from-object-1 INTEGER ::= int-holder-2.&obj.&id
74int-from-object-2 INTEGER ::= int-holder-2.&id
75
76INT-HOLDER ::= CLASS {
77  &id INTEGER UNIQUE,
78  &obj INT-HOLDER OPTIONAL
79} WITH SYNTAX {
80  ID &id
81  [OBJ &obj]
82}
83
84int-holder-1 INT-HOLDER ::= { ID 2 }
85int-holder-2 INT-HOLDER ::= { ID 4 OBJ int-holder-1 }
86
87II ::= INTEGER (int-from-object-1..int-from-object-2)
88
89-- Recursive OCTET STRING definitions.
90
91OS-HOLDER ::= CLASS {
92  &id INTEGER UNIQUE,
93  &os OCTET STRING
94} WITH SYNTAX {
95  ID &id OS &os
96}
97
98os-holder-1 OS-HOLDER ::= { ID 1 OS '4041FF'H }
99
100OctetStringSeq ::= ParamSeq{OCTET STRING}
101
102someOctetString OCTET STRING ::= '404142'H
103
104octetStringSeq1 OctetStringSeq ::= { a someOctetString }
105octetStringSeq2 OctetStringSeq ::= { a otherOctetString }
106octetStringSeq3 OctetStringSeq ::= { a os-holder-1.&os }
107
108otherOctetString OCTET STRING ::= someOctetString
109
110os-1 OCTET STRING ::= os-2
111os-2 OCTET STRING ::= os-holder-1.&os
112
113-- Recursive BIT STRING definitions.
114
115BS-HOLDER ::= CLASS {
116  &id INTEGER UNIQUE,
117  &bs BIT STRING,
118  &named-bs NamedBsType
119} WITH SYNTAX {
120  ID &id BS &bs NAMED-BS &named-bs
121}
122bs-holder-1 BS-HOLDER ::= { ID 1 BS '101'B NAMED-BS {a,c} }
123
124NamedBsType ::= BIT STRING {a(0),b(1),c(2)}
125BsSeq ::= SEQUENCE {
126  a BIT STRING,
127  b NamedBsType
128}
129
130someBitString BIT STRING ::= '101101'B
131
132bsSeq1 BsSeq ::= { a someBitString, b someNamedBs }
133bsSeq2 BsSeq ::= { a otherBitString, b someOtherNamedBs }
134bsSeq3 BsSeq ::= { a bs-holder-1.&bs, b bs-holder-1.&named-bs }
135
136otherBitString BIT STRING ::= someBitString
137bsFromObjectInd BIT STRING ::= bsFromObject
138bsFromObject BIT STRING ::= bs-holder-1.&bs
139
140someOtherNamedBs NamedBsType ::= someNamedBs
141someNamedBs NamedBsType ::= {c}
142
143END
144