3cc065c54ca58010b07453f9afdea61e45ba91a0
[mdsal.git] / binding2 / mdsal-binding2-generator-impl / src / test / java / org / opendaylight / mdsal / binding / javav2 / generator / impl / Bug8542Test.java
1 /*
2  * Copyright (c) 2017 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.mdsal.binding.javav2.generator.impl;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertTrue;
13
14 import java.io.File;
15 import java.util.List;
16 import org.junit.Test;
17 import org.opendaylight.mdsal.binding.javav2.generator.api.BindingGenerator;
18 import org.opendaylight.mdsal.binding.javav2.model.api.Type;
19 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
20 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
21
22 public class Bug8542Test {
23     @Test
24     public void Bug8542Test() throws Exception {
25         final BindingGenerator bg = new BindingGeneratorImpl(false);
26         final SchemaContext context = YangParserTestUtils
27                 .parseYangFiles(new File(getClass().getResource("/bug-8542/recursive-uses-augment.yang").toURI()));
28         final List<Type> generateTypes = bg.generateTypes(context);
29         assertNotNull(generateTypes);
30         assertTrue(!generateTypes.isEmpty());
31         for (final Type type : generateTypes) {
32             if (type.getName().equals("A11")) {
33                 assertEquals("org.opendaylight.mdsal.gen.javav2.yang.test.uses.augment.recursive.rev170519.data.d",
34                         type.getPackageName());
35             } else if (type.getName().equals("B11")) {
36                 assertEquals("org.opendaylight.mdsal.gen.javav2.yang.test.uses.augment.recursive.rev170519.data.d.a1",
37                         type.getPackageName());
38             } else if (type.getName().equals("C11")) {
39                 assertEquals("org.opendaylight.mdsal.gen.javav2.yang.test.uses.augment.recursive.rev170519.data.d.a1.b1",
40                         type.getPackageName());
41             }
42         }
43     }
44 }