Revert "Fix broken tests according to yangtools...
[mdsal.git] / binding2 / mdsal-binding2-generator-impl / src / test / java / org / opendaylight / mdsal / binding / javav2 / generator / impl / Bug8575Test.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
9
10 package org.opendaylight.mdsal.binding.javav2.generator.impl;
11
12 import static org.junit.Assert.assertNotNull;
13 import static org.junit.Assert.assertTrue;
14 import static org.mockito.Mockito.mock;
15 import static org.mockito.Mockito.when;
16
17 import org.junit.Test;
18 import org.opendaylight.yangtools.yang.common.QName;
19 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
20 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
21 import org.opendaylight.yangtools.yang.model.api.UsesNode;
22 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
23 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
24 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
25 import java.io.File;
26 import java.lang.reflect.Method;
27
28
29 public class Bug8575Test {
30     @Test
31     public void bug8575Test() throws Exception {
32         final Class[] parameterTypes = { SchemaContext.class, SchemaPath.class, UsesNode.class };
33         final Method generate =
34                 AugmentToGenType.class.getDeclaredMethod("findOriginalTargetFromGrouping", parameterTypes);
35         assertNotNull(generate);
36         generate.setAccessible(true);
37
38         File foo = new File(getClass().getResource(
39                 "/bug-8575/foo.yang").toURI());
40
41         SchemaContext context = YangParserTestUtils.parseYangSources(foo);
42
43         final QName groupingQname = QName.create("foo", "2017-05-15", "A");
44         final QName containerQname = QName.create("foo", "2017-05-15", "A1");
45         final SchemaPath groupingPath = SchemaPath.create(true, groupingQname);
46         final SchemaPath targetPath = SchemaPath.create(true, containerQname);
47
48         final UsesNode usesNode = mock(UsesNode.class);
49         when(usesNode.getGroupingPath()).thenReturn(groupingPath);
50
51         final Object[] args = { context, targetPath, usesNode };
52         final DataSchemaNode result = (DataSchemaNode) generate.invoke(AugmentToGenType.class, args);
53         assertNotNull(result);
54         assertTrue(result instanceof ContainerSchemaNode);
55     }
56 }