TESTS { }

DEFINITIONS EXPLICIT TAGS ::=

BEGIN

TestInteger ::= INTEGER

TestBoolean ::= BOOLEAN

TestNull ::= NULL

TestAny ::= ANY

TestOctetString ::= OCTET STRING

TestGeneralized ::= GeneralizedTime

TestImplicit ::= [5] IMPLICIT OCTET STRING

TestExplicit ::= [5] EXPLICIT OCTET STRING

TestUniversal ::= [UNIVERSAL 5] IMPLICIT OCTET STRING

TestBitString ::= BIT STRING

test-integers-id OBJECT IDENTIFIER ::= {1 5 13}

TestIntegers ::= SEQUENCE {
	uint1                   INTEGER,
	uint2			INTEGER,
	uint3			INTEGER DEFAULT 8888
}

TestConstant ::= SEQUENCE {
     version         TestVersion DEFAULT v3
}

TestVersion  ::=  INTEGER  {  v1(1), v2(2), v3(3)  }

TestData ::= SEQUENCE {
	data                    OCTET STRING
}

TestBooleanSeq ::= SEQUENCE {
	boolean                 BOOLEAN DEFAULT FALSE,
	boolean2                BOOLEAN
}

TestBooleanDefault ::= SEQUENCE {
	boolean                 BOOLEAN DEFAULT TRUE
}

TestOid ::= SEQUENCE {
	oid                     OBJECT IDENTIFIER
}

TestOidOptional ::= SEQUENCE {
	oid                     OBJECT IDENTIFIER OPTIONAL
}

TestAnySeq ::= SEQUENCE {
	contents                ANY
}

TestAnyExp ::= SEQUENCE {
	contents                [89] ANY
}

TestAnyChoice ::= CHOICE {
	choiceShortTag          [30] ANY,
	choiceLongTag           [31] ANY
}

TestSet ::= SET {
	one            [1] INTEGER,
	two            [2] INTEGER,
	three          [3] INTEGER
}

TestTagLong ::= [1234] EXPLICIT INTEGER

TestSeqOf ::= SEQUENCE OF INTEGER

TestSetOf ::= SET OF INTEGER

TestSeqOfSeq ::= SEQUENCE OF TestIntegers

TestSeqOfAny ::= SEQUENCE OF ANY

TestSeqOptional ::= SEQUENCE {
	integers                TestIntegers OPTIONAL
}

TestEnumerated ::= ENUMERATED {
	valueZero         (0),
	valueOne          (1),
	valueTwo          (2),
	valueThree        (3)
}

END
