-- $Id$ --

TEST DEFINITIONS ::=

BEGIN

IMPORTS heim_any FROM heim;

TESTLargeTag ::= SEQUENCE {
	foo[127] INTEGER (-2147483648..2147483647)
}

TESTSeq ::= SEQUENCE {
	tag0[0] INTEGER (-2147483648..2147483647),
	tag1[1] TESTLargeTag,
	tagless INTEGER (-2147483648..2147483647),
	tag3[2] INTEGER (-2147483648..2147483647)
}

TESTChoice1 ::= CHOICE {
	i1[1]	INTEGER (-2147483648..2147483647),
	i2[2]	INTEGER (-2147483648..2147483647),
	...
}

TESTChoice2 ::= CHOICE {
	i1[1]	INTEGER (-2147483648..2147483647),
	...
}

TESTInteger ::= INTEGER (-2147483648..2147483647)

TESTInteger2 ::= [4] IMPLICIT TESTInteger
TESTInteger3 ::= [5] IMPLICIT TESTInteger2

TESTImplicit ::= SEQUENCE {
	ti1[0] IMPLICIT INTEGER (-2147483648..2147483647),
	ti2[1] IMPLICIT SEQUENCE {
		foo[127] INTEGER (-2147483648..2147483647)
	},
	ti3[2] IMPLICIT [5] IMPLICIT [4] IMPLICIT INTEGER (-2147483648..2147483647)
}

TESTImplicit2 ::= SEQUENCE {
	ti1[0] IMPLICIT TESTInteger,
	ti2[1] IMPLICIT TESTLargeTag,
	ti3[2] IMPLICIT TESTInteger3
}

TESTAllocInner ::= SEQUENCE {
	ai[0] TESTInteger
}

TESTAlloc ::= SEQUENCE {
	  tagless TESTAllocInner OPTIONAL,
	  three [1] INTEGER (-2147483648..2147483647),
	  tagless2 heim_any OPTIONAL
}


TESTCONTAINING ::= OCTET STRING ( CONTAINING INTEGER )
TESTENCODEDBY ::= OCTET STRING ( ENCODED BY
  { joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1) }
)

TESTDer OBJECT IDENTIFIER ::= {
	joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1)
}

TESTCONTAININGENCODEDBY ::= OCTET STRING ( CONTAINING INTEGER ENCODED BY
  { joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1) }
)

TESTCONTAININGENCODEDBY2 ::= OCTET STRING (
	CONTAINING INTEGER ENCODED BY TESTDer
)


TESTValue1 INTEGER ::= 1

TESTUSERCONSTRAINED ::= OCTET STRING (CONSTRAINED BY { -- meh -- })
-- TESTUSERCONSTRAINED2 ::= OCTET STRING (CONSTRAINED BY { TESTInteger })
-- TESTUSERCONSTRAINED3 ::= OCTET STRING (CONSTRAINED BY { INTEGER })
-- TESTUSERCONSTRAINED4 ::= OCTET STRING (CONSTRAINED BY { INTEGER : 1 })

TESTSeqOf ::= SEQUENCE OF TESTInteger

TESTSeqSizeOf1 ::= SEQUENCE SIZE (2) OF TESTInteger
TESTSeqSizeOf2 ::= SEQUENCE SIZE (1..2) OF TESTInteger
TESTSeqSizeOf3 ::= SEQUENCE SIZE (1..MAX) OF TESTInteger
TESTSeqSizeOf4 ::= SEQUENCE SIZE (MIN..2) OF TESTInteger

TESTOSSize1 ::= OCTET STRING SIZE (1..2)

END
