Deviation parser and data model
Change-Id: I3cb3da5748057d0c2c9c99d7c3495643bc1ea243
diff --git a/compiler/base/parser/src/test/resources/InvalidDeviateStatement.yang b/compiler/base/parser/src/test/resources/InvalidDeviateStatement.yang
new file mode 100644
index 0000000..9068050
--- /dev/null
+++ b/compiler/base/parser/src/test/resources/InvalidDeviateStatement.yang
@@ -0,0 +1,19 @@
+module Test {
+ yang-version 1;
+ namespace urn:ietf:params:xml:ns:yang:ietf-ospf;
+ prefix On;
+ deviation /base:system/base:daytime {
+ description "desc";
+ reference "ref";
+ deviate not-supported;
+ deviate replace {
+ type int8;
+ units "units";
+ default "0";
+ config "true";
+ mandatory "true";
+ min-elements 0;
+ max-elements 3;
+ }
+ }
+}
diff --git a/compiler/base/parser/src/test/resources/ValidDeviateAdd.yang b/compiler/base/parser/src/test/resources/ValidDeviateAdd.yang
new file mode 100644
index 0000000..7915d54
--- /dev/null
+++ b/compiler/base/parser/src/test/resources/ValidDeviateAdd.yang
@@ -0,0 +1,17 @@
+module Test {
+ yang-version 1;
+ namespace urn:ietf:params:xml:ns:yang:ietf-ospf;
+ prefix On;
+ deviation /base:system/base:user/base:type {
+ deviate add {
+ units "units";
+ must "/base:system";
+ unique "id";
+ default "admin";
+ config "true";
+ mandatory "true";
+ min-elements "0";
+ max-elements "12343";
+ }
+ }
+}
diff --git a/compiler/base/parser/src/test/resources/ValidDeviateDelete.yang b/compiler/base/parser/src/test/resources/ValidDeviateDelete.yang
new file mode 100644
index 0000000..767f3de
--- /dev/null
+++ b/compiler/base/parser/src/test/resources/ValidDeviateDelete.yang
@@ -0,0 +1,13 @@
+module Test {
+ yang-version 1;
+ namespace urn:ietf:params:xml:ns:yang:ietf-ospf;
+ prefix On;
+ deviation "/base:system" {
+ deviate delete {
+ units "units";
+ must "daytime or time";
+ unique "id";
+ default "defaultValue";
+ }
+ }
+}
diff --git a/compiler/base/parser/src/test/resources/ValidDeviateReplace.yang b/compiler/base/parser/src/test/resources/ValidDeviateReplace.yang
new file mode 100644
index 0000000..dc7f0fb
--- /dev/null
+++ b/compiler/base/parser/src/test/resources/ValidDeviateReplace.yang
@@ -0,0 +1,16 @@
+module Test {
+ yang-version 1;
+ namespace urn:ietf:params:xml:ns:yang:ietf-ospf;
+ prefix On;
+ deviation /base:system/base:name-server {
+ deviate replace {
+ type int8;
+ units "units";
+ default "0";
+ config "true";
+ mandatory "true";
+ min-elements 0;
+ max-elements 3;
+ }
+ }
+}
diff --git a/compiler/base/parser/src/test/resources/ValidDeviationNotSupported.yang b/compiler/base/parser/src/test/resources/ValidDeviationNotSupported.yang
new file mode 100644
index 0000000..979f29f
--- /dev/null
+++ b/compiler/base/parser/src/test/resources/ValidDeviationNotSupported.yang
@@ -0,0 +1,10 @@
+module Test {
+ yang-version 1;
+ namespace urn:ietf:params:xml:ns:yang:ietf-ospf;
+ prefix On;
+ deviation /base:system/base:daytime {
+ description "desc";
+ reference "ref";
+ deviate not-supported;
+ }
+}