Deprecate simple DataTreeFactory.create()
[yangtools.git] / parser / yang-parser-rfc7950 / src / test / java / org / opendaylight / yangtools / yang / stmt / Bug6491Test.java
1 /*
2  * Copyright (c) 2016 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 import static org.junit.jupiter.api.Assertions.assertNotNull;
12
13 import java.util.Optional;
14 import org.junit.jupiter.api.Test;
15 import org.opendaylight.yangtools.yang.common.Revision;
16
17 class Bug6491Test extends AbstractYangTest {
18     private static final Revision DATE = Revision.of("2016-01-01");
19
20     @Test
21     void tetststs() {
22         testRevision("withoutRevision", null, Optional.empty());
23         testRevision("withRevision", DATE, Optional.of(DATE));
24         testRevision("importedModuleRevisionOnly", null, Optional.of(DATE));
25         testRevision("moduleRevisionOnly", DATE, Optional.empty());
26     }
27
28     private static void testRevision(final String path, final Revision moduleRevision,
29             final Optional<Revision> importedRevision) {
30         final var context = assertEffectiveModelDir("/bugs/bug6491/" + path);
31         final var module = context.findModule("bar", moduleRevision).orElseThrow();
32         final var imports = module.getImports();
33         assertNotNull(imports);
34         assertEquals(1, imports.size());
35         assertEquals(importedRevision, imports.iterator().next().getRevision());
36     }
37 }