YANG rpc, input and output listener

Change-Id: Idd9847175c61d9f033cf80213b46e9c9c949849c
diff --git a/src/test/resources/InputStatementWithDataDefinition.yang b/src/test/resources/InputStatementWithDataDefinition.yang
new file mode 100644
index 0000000..0adf3d3
--- /dev/null
+++ b/src/test/resources/InputStatementWithDataDefinition.yang
@@ -0,0 +1,28 @@
+module rock {
+    namespace "http://example.net/rock";
+    prefix "rock";
+
+    rpc activate-software-image {
+        description "description";
+        input {
+            leaf image-name {
+                type string;
+            }
+            list ospf {
+                key "invalid-interval";
+                config true;
+                max-elements 10;
+                min-elements 3;
+                leaf invalid-interval {
+                    type uint16;
+                }
+            }
+            container isis {
+               config true;
+               leaf invalid-interval {
+                   type uint16;
+               }
+           }
+        }
+    }
+}
diff --git a/src/test/resources/InputStatementWithTypedef.yang b/src/test/resources/InputStatementWithTypedef.yang
new file mode 100644
index 0000000..25ca73d
--- /dev/null
+++ b/src/test/resources/InputStatementWithTypedef.yang
@@ -0,0 +1,17 @@
+module rock {
+    namespace "http://example.net/rock";
+    prefix "rock";
+
+    rpc activate-software-image {
+        description "description";
+        input {
+            leaf image-name {
+                type string;
+            }
+            typedef my-type {
+                status deprecated;
+                type int32;
+            }
+        }
+    }
+}
diff --git a/src/test/resources/OutputStatementWithDataDefinition.yang b/src/test/resources/OutputStatementWithDataDefinition.yang
new file mode 100644
index 0000000..527b399
--- /dev/null
+++ b/src/test/resources/OutputStatementWithDataDefinition.yang
@@ -0,0 +1,28 @@
+module rock {
+    namespace "http://example.net/rock";
+    prefix "rock";
+
+    rpc activate-software-image {
+        description "description";
+        output {
+            leaf image-name {
+                type string;
+            }
+            list ospf {
+                key "invalid-interval";
+                config true;
+                max-elements 10;
+                min-elements 3;
+                leaf invalid-interval {
+                    type uint16;
+                }
+            }
+            container isis {
+               config true;
+               leaf invalid-interval {
+                   type uint16;
+               }
+           }
+        }
+    }
+}
diff --git a/src/test/resources/OutputStatementWithTypedef.yang b/src/test/resources/OutputStatementWithTypedef.yang
new file mode 100644
index 0000000..6027c2d
--- /dev/null
+++ b/src/test/resources/OutputStatementWithTypedef.yang
@@ -0,0 +1,17 @@
+module rock {
+    namespace "http://example.net/rock";
+    prefix "rock";
+
+    rpc activate-software-image {
+        description "description";
+        output {
+            leaf image-name {
+                type string;
+            }
+            typedef my-type {
+                status deprecated;
+                type int32;
+            }
+        }
+    }
+}
diff --git a/src/test/resources/ValidRpcStatement.yang b/src/test/resources/ValidRpcStatement.yang
new file mode 100644
index 0000000..f188227
--- /dev/null
+++ b/src/test/resources/ValidRpcStatement.yang
@@ -0,0 +1,24 @@
+module rock {
+    namespace "http://example.net/rock";
+    prefix "rock";
+
+    rpc rock-the-house {
+        description "description";
+        status current;
+        reference "reference";
+        typedef my-type {
+           status deprecated;
+           type int32;
+        }
+        input {
+            leaf zip-code {
+                type string;
+            }
+        }
+        output {
+             leaf status {
+                 type string;
+             }
+        }
+    }
+}