Initial opendaylight infrastructure commit!!
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / test / java / org / opendaylight / controller / model / parser / impl / YangModelParserTest.java
1 /*\r
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.controller.model.parser.impl;\r
9 \r
10 import static org.junit.Assert.assertEquals;\r
11 \r
12 import java.io.IOException;\r
13 import java.io.InputStream;\r
14 import java.util.Set;\r
15 \r
16 import org.antlr.v4.runtime.ANTLRInputStream;\r
17 import org.antlr.v4.runtime.CommonTokenStream;\r
18 import org.antlr.v4.runtime.tree.ParseTree;\r
19 import org.antlr.v4.runtime.tree.ParseTreeWalker;\r
20 import org.junit.Test;\r
21 import org.opendaylight.controller.antlrv4.code.gen.YangLexer;\r
22 import org.opendaylight.controller.antlrv4.code.gen.YangParser;\r
23 import org.opendaylight.controller.sal.binding.model.api.GeneratedType;\r
24 \r
25 public class YangModelParserTest {\r
26 \r
27     @Test\r
28     public void testPackageNameConstruction() {\r
29         try {\r
30             final InputStream inStream = getClass().getResourceAsStream(\r
31                     "/simple-list-demo.yang");\r
32             if (inStream != null) {\r
33                 ANTLRInputStream input = new ANTLRInputStream(inStream);\r
34                 final YangLexer lexer = new YangLexer(input);\r
35                 final CommonTokenStream tokens = new CommonTokenStream(lexer);\r
36                 final YangParser parser = new YangParser(tokens);\r
37 \r
38                 final ParseTree tree = parser.yang();\r
39                 final ParseTreeWalker walker = new ParseTreeWalker();\r
40 \r
41                 // final YangModelParserImpl modelParser = new\r
42                 // YangModelParserImpl(tree, new TypeProviderImpl());\r
43                 // walker.walk(modelParser, tree);\r
44                 // final Set<GeneratedType> genTypes =\r
45                 // modelParser.generatedTypes();\r
46 \r
47                 // getTypesTest(genTypes);\r
48 \r
49             }\r
50         } catch (IOException e) {\r
51             e.printStackTrace();\r
52         }\r
53     }\r
54 \r
55     private void getTypesTest(final Set<GeneratedType> genTypes) {\r
56         int typesCount = 0;\r
57         for (final GeneratedType type : genTypes) {\r
58             if (type.getName().equals("Topology")) {\r
59                 assertEquals(4, type.getMethodDefinitions().size());\r
60                 ++typesCount;\r
61             }\r
62             if (type.getName().equals("NetworkNodes")) {\r
63                 assertEquals(2, type.getMethodDefinitions().size());\r
64                 ++typesCount;\r
65             }\r
66             if (type.getName().equals("NetworkNode")) {\r
67                 assertEquals(1, type.getMethodDefinitions().size());\r
68                 ++typesCount;\r
69             }\r
70             if (type.getName().equals("NodeAttributes")) {\r
71                 assertEquals(2, type.getMethodDefinitions().size());\r
72                 ++typesCount;\r
73             }\r
74             if (type.getName().equals("NetworkLinks")) {\r
75                 assertEquals(2, type.getMethodDefinitions().size());\r
76                 ++typesCount;\r
77             }\r
78             if (type.getName().equals("NetworkLink")) {\r
79                 assertEquals(3, type.getMethodDefinitions().size());\r
80                 ++typesCount;\r
81             }\r
82             if (type.getName().equals("Source")) {\r
83                 assertEquals(2, type.getMethodDefinitions().size());\r
84                 ++typesCount;\r
85             }\r
86             if (type.getName().equals("Destination")) {\r
87                 assertEquals(2, type.getMethodDefinitions().size());\r
88                 ++typesCount;\r
89             }\r
90             if (type.getName().equals("LinkAttributes")) {\r
91                 assertEquals(0, type.getMethodDefinitions().size());\r
92                 ++typesCount;\r
93             }\r
94         }\r
95         assertEquals(9, typesCount);\r
96     }\r
97 }\r