2 * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.yangtools.binding.generator.impl;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNotNull;
13 import org.junit.Test;
14 import org.opendaylight.yangtools.binding.model.api.JavaTypeName;
15 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
17 public class Mdsal552Test {
18 private static final JavaTypeName BAR_INPUT =
19 JavaTypeName.create("org.opendaylight.yang.gen.v1.mdsal552.norev", "BarInput");
20 private static final JavaTypeName BAZ =
21 JavaTypeName.create("org.opendaylight.yang.gen.v1.mdsal552.norev", "Baz");
22 private static final JavaTypeName ENUMERATION =
23 JavaTypeName.create("org.opendaylight.yang.gen.v1.mdsal552.norev", "Mdsal552Data").createEnclosed("Foo");
26 public void enumLeafrefTest() {
27 final var types = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResource("/mdsal552.yang"));
29 assertEquals(5, types.size());
31 final var baz = types.stream()
32 .filter(type -> BAZ.equals(type.getIdentifier()))
33 .findFirst().orElseThrow();
34 final var bazGetRef = baz.getMethodDefinitions().stream()
35 .filter(method -> method.getName().equals("getRef"))
36 .findFirst().orElseThrow();
37 assertEquals(ENUMERATION, bazGetRef.getReturnType().getIdentifier());
39 final var input = types.stream()
40 .filter(type -> BAR_INPUT.equals(type.getIdentifier()))
41 .findFirst().orElseThrow();
42 final var inputGetRef = input.getMethodDefinitions().stream()
43 .filter(method -> method.getName().equals("getRef"))
44 .findFirst().orElseThrow();
45 assertEquals(ENUMERATION, inputGetRef.getReturnType().getIdentifier());