2 * Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.mdsal.binding.javav2.generator.impl;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertTrue;
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;
22 public class Bug8542Test {
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());