2 * Copyright (c) 2018 Pantheon Technologies, 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.yang.model.api.meta;
10 import static org.junit.Assert.assertEquals;
11 import static org.mockito.ArgumentMatchers.any;
12 import static org.mockito.Mockito.doCallRealMethod;
13 import static org.mockito.Mockito.doReturn;
15 import com.google.common.collect.ImmutableList;
16 import java.util.Optional;
17 import org.junit.Before;
18 import org.junit.Test;
19 import org.junit.runner.RunWith;
20 import org.mockito.Mock;
21 import org.mockito.junit.MockitoJUnitRunner;
23 @RunWith(MockitoJUnitRunner.StrictStubs.class)
24 public class DeclaredStatementTest {
26 private DeclaredStatement1 stmt;
28 private DeclaredStatement1 stmt1;
30 private DeclaredStatement2 stmt2;
33 public void before() {
34 doReturn("one").when(stmt1).argument();
35 doReturn("two").when(stmt2).argument();
36 doReturn(ImmutableList.of(stmt1, stmt2)).when(stmt).declaredSubstatements();
37 doCallRealMethod().when(stmt).declaredSubstatements(any());
38 doCallRealMethod().when(stmt).findFirstDeclaredSubstatement(any());
39 doCallRealMethod().when(stmt).findFirstDeclaredSubstatementArgument(any());
40 doCallRealMethod().when(stmt).streamDeclaredSubstatements(any());
44 public void testDeclaredSubstatements() {
45 assertEquals(ImmutableList.of(stmt1), ImmutableList.copyOf(stmt.declaredSubstatements(
46 DeclaredStatement1.class)));
47 assertEquals(ImmutableList.of(stmt2), ImmutableList.copyOf(stmt.declaredSubstatements(
48 DeclaredStatement2.class)));
52 public void testFindFirstDeclaredSubstatement() {
53 assertEquals(Optional.of(stmt1), stmt.findFirstDeclaredSubstatement(DeclaredStatement1.class));
54 assertEquals(Optional.of(stmt2), stmt.findFirstDeclaredSubstatement(DeclaredStatement2.class));
58 public void testFindFirstDeclaredSubstatementArgument() {
59 assertEquals(Optional.of("one"), stmt.findFirstDeclaredSubstatementArgument(DeclaredStatement1.class));
60 assertEquals(Optional.of("two"), stmt.findFirstDeclaredSubstatementArgument(DeclaredStatement2.class));