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