2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
\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
8 package org.opendaylight.controller.model.parser.impl;
\r
10 import static org.junit.Assert.assertEquals;
\r
12 import java.io.IOException;
\r
13 import java.io.InputStream;
\r
14 import java.util.Set;
\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
25 public class YangModelParserTest {
\r
28 public void testPackageNameConstruction() {
\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
38 final ParseTree tree = parser.yang();
\r
39 final ParseTreeWalker walker = new ParseTreeWalker();
\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
47 // getTypesTest(genTypes);
\r
50 } catch (IOException e) {
\r
51 e.printStackTrace();
\r
55 private void getTypesTest(final Set<GeneratedType> genTypes) {
\r
57 for (final GeneratedType type : genTypes) {
\r
58 if (type.getName().equals("Topology")) {
\r
59 assertEquals(4, type.getMethodDefinitions().size());
\r
62 if (type.getName().equals("NetworkNodes")) {
\r
63 assertEquals(2, type.getMethodDefinitions().size());
\r
66 if (type.getName().equals("NetworkNode")) {
\r
67 assertEquals(1, type.getMethodDefinitions().size());
\r
70 if (type.getName().equals("NodeAttributes")) {
\r
71 assertEquals(2, type.getMethodDefinitions().size());
\r
74 if (type.getName().equals("NetworkLinks")) {
\r
75 assertEquals(2, type.getMethodDefinitions().size());
\r
78 if (type.getName().equals("NetworkLink")) {
\r
79 assertEquals(3, type.getMethodDefinitions().size());
\r
82 if (type.getName().equals("Source")) {
\r
83 assertEquals(2, type.getMethodDefinitions().size());
\r
86 if (type.getName().equals("Destination")) {
\r
87 assertEquals(2, type.getMethodDefinitions().size());
\r
90 if (type.getName().equals("LinkAttributes")) {
\r
91 assertEquals(0, type.getMethodDefinitions().size());
\r
95 assertEquals(9, typesCount);
\r