more advanced stuff with defaults


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1075 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/tests/99-class-sample-OK.asn1 b/tests/99-class-sample-OK.asn1
new file mode 100644
index 0000000..aa9d594
--- /dev/null
+++ b/tests/99-class-sample-OK.asn1
@@ -0,0 +1,42 @@
+
+-- OK: Everything is fine
+
+-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
+-- .spelio.software.asn1c.test (9363.1.5.1)
+-- .99
+
+ModuleClassSample
+	{ iso org(3) dod(6) internet (1) private(4) enterprise(1)
+		spelio(9363) software(1) asn1c(5) test(1) 99 }
+	DEFINITIONS ::=
+BEGIN
+
+	SAMPLE-CLASS ::= CLASS {
+		&id	RELATIVE-OID UNIQUE,
+		&code	ENUMERATED { request, response, status }
+				DEFAULT request,
+		&Type	OPTIONAL
+	} WITH SYNTAX { [TYPE &Type] [WITH CODE &code] IDENTIFIED BY &id }
+
+	request-Whatever SAMPLE-CLASS
+		::= { IDENTIFIED BY request-whatever }
+
+	respond-Stuff SAMPLE-CLASS
+		::= { WITH CODE 1 IDENTIFIED BY response-stuff }
+
+	request-Status SAMPLE-CLASS
+		::= { TYPE SampleType WITH CODE 2 IDENTIFIED BY request-id }
+
+	request-Salt SAMPLE-CLASS
+		::= { TYPE Salt IDENTIFIED BY request-salt }
+
+	request-id RELATIVE-OID ::= { 1 1 1 }
+	request-salt RELATIVE-OID ::= { 1 1 1 }
+	request-whatever RELATIVE-OID ::= { 1 1 5 }
+	response-stuff RELATIVE-OID ::= { 2 0 1 }
+
+
+	SampleType ::= SEQUENCE { ... }
+	Salt ::= SET { ... }
+
+END