Initial version of asn1c
[com/asn1c.git] / tests / tests-asn1c-compiler / 138-oer-constraints-OK.asn1
diff --git a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1 b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1
new file mode 100644 (file)
index 0000000..486cbc0
--- /dev/null
@@ -0,0 +1,35 @@
+
+-- OK: Everything is fine
+
+-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
+-- .spelio.software.asn1c.test (9363.1.5.1)
+-- .138
+
+ModuleOERConstraints
+       { iso org(3) dod(6) internet (1) private(4) enterprise(1)
+               spelio(9363) software(1) asn1c(5) test(1) 138 }
+       DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+    A-noc ::= INTEGER                           -- No constraints
+    B-0-0 ::= INTEGER (0)                       -- Value constraint
+    C-1-2 ::= INTEGER (1..2)                    -- Value range constraint
+    D-inv ::= INTEGER (0..10,...)               -- Extensible, not OER-visible
+    E-2-5 ::= INTEGER (0..10,...)(2..5)         -- OER-visible constraint 2..5
+    F-inv ::= INTEGER (0..10,...)(2..5,...)     -- Not OER-visible
+    G-3-3 ::= INTEGER (0..10,...)(2..5,...)(3)  -- OER-visible constraint 3
+    -- X.696 #8.2.4 Not OER-visible parts of INTERSECTION are ignored
+    H-4-5 ::= INTEGER ((0..5) ^ (4..9))         -- OER-visible constraint 4..5
+    I-1-5 ::= INTEGER ((0..5) ^ (EConstr))      -- OER-visible constraint 1..5
+    J-4-5 ::= INTEGER ((EConstr) ^ (4..9))      -- OER-visible constraint 4..5
+    K-1-4 ::= INTEGER ((FConstr) ^ (EConstr))   -- OER-visible constraint 1..4
+    -- X.696 #8.2.5 UNION with exeptions are ignored
+    L-0-5 ::= INTEGER ((0) | (5))               -- OER-visible constraint 0..5
+    M-inv ::= INTEGER ((0) | (EConstr),...)     -- Not OER-visible
+    N-0-5 ::= INTEGER ((FConstr) | (5))         -- OER-visible constraint 0..5
+    O-inv ::= INTEGER ((FConstr) | (5), ...)    -- Not OER-visible
+
+    EConstr ::= INTEGER (1..5,...)
+    FConstr ::= INTEGER (0..4)
+
+END