Rename mdsal.binding.dom.codec.api
[yangtools.git] / parser / yang-parser-rfc7950 / src / test / java / org / opendaylight / yangtools / yang / stmt / Bug9005Test.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.yangtools.yang.stmt;
9
10 import static org.junit.jupiter.api.Assertions.assertEquals;
11
12 import org.junit.jupiter.api.Test;
13 import org.opendaylight.yangtools.yang.common.Revision;
14 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
15
16 class Bug9005Test extends AbstractYangTest {
17     @Test
18     void test() {
19         final var foo = assertEffectiveModelDir("/bugs/bug9005").findModule("foo", Revision.of("2017-07-07"))
20             .orElseThrow();
21
22         final var imports = foo.getImports();
23         assertEquals(1, imports.size());
24         final var imp1 = imports.iterator().next();
25         assertEquals(Unqualified.of("bar-2"), imp1.getModuleName());
26         assertEquals("bar", imp1.getPrefix());
27         assertEquals(Revision.ofNullable("2000-01-02"), imp1.getRevision());
28
29         final var submodules = foo.getSubmodules();
30         assertEquals(1, submodules.size());
31         final var submodule = submodules.iterator().next();
32         final var subImports = submodule.getImports();
33
34         assertEquals(1, subImports.size());
35         final var subImp1 = subImports.iterator().next();
36         assertEquals(Unqualified.of("bar-1"), subImp1.getModuleName());
37         assertEquals("bar", subImp1.getPrefix());
38         assertEquals(Revision.ofNullable("2000-01-01"), subImp1.getRevision());
39     }
40 }