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;
14 import org.junit.Test;
15 import org.opendaylight.mdsal.binding.javav2.generator.api.BindingGenerator;
16 import org.opendaylight.mdsal.binding.javav2.model.api.Type;
17 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
18 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
19 import java.util.List;
21 public class Bug8542Test {
23 public void Bug8542Test() throws Exception {
24 final BindingGenerator bg = new BindingGeneratorImpl(false);
25 final SchemaContext context = YangParserTestUtils.parseYangSource("/bug-8542/recursive-uses-augment.yang");
26 final List<Type> generateTypes = bg.generateTypes(context);
27 assertNotNull(generateTypes);
28 assertTrue(!generateTypes.isEmpty());
29 for (final Type type : generateTypes) {
30 if (type.getName().equals("A11")) {
31 assertEquals("org.opendaylight.mdsal.gen.javav2.yang.test.uses.augment.recursive.rev170519.data.d",
32 type.getPackageName());
33 } else if (type.getName().equals("B11")) {
34 assertEquals("org.opendaylight.mdsal.gen.javav2.yang.test.uses.augment.recursive.rev170519.data.d.a1",
35 type.getPackageName());
36 } else if (type.getName().equals("C11")) {
37 assertEquals("org.opendaylight.mdsal.gen.javav2.yang.test.uses.augment.recursive.rev170519.data.d.a1.b1",
38 type.getPackageName());