001/*
002 * Licensed under the Apache License, Version 2.0 (the "License");
003 * you may not use this file except in compliance with the License.
004 * You may obtain a copy of the License at
005 *
006 *     http://www.apache.org/licenses/LICENSE-2.0
007 *
008 * Unless required by applicable law or agreed to in writing, software
009 * distributed under the License is distributed on an "AS IS" BASIS,
010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
011 * See the License for the specific language governing permissions and
012 * limitations under the License.
013 */
014package org.gbif.utils;
015
016import org.junit.jupiter.api.Test;
017
018import static org.junit.jupiter.api.Assertions.assertFalse;
019import static org.junit.jupiter.api.Assertions.assertTrue;
020
021/**
022 * Unit test related tp {@link AnnotationUtils}
023 */
024public class AnnotationUtilsTest {
025
026  private enum TestEnum {
027    A,
028    @Deprecated
029    B
030  }
031
032  private static class TestClass {
033    @Deprecated private int a;
034    private int b;
035  }
036
037  @Test
038  public void testIsFieldDeprecated() {
039    assertFalse(AnnotationUtils.isFieldDeprecated(TestEnum.class, "A"));
040    assertTrue(AnnotationUtils.isFieldDeprecated(TestEnum.class, "B"));
041
042    assertFalse(AnnotationUtils.isFieldDeprecated(TestEnum.class, "C"));
043
044    assertTrue(AnnotationUtils.isFieldDeprecated(TestClass.class, "a"));
045    assertFalse(AnnotationUtils.isFieldDeprecated(TestClass.class, "b"));
046
047    assertFalse(AnnotationUtils.isFieldDeprecated(TestClass.class, "c"));
048  }
049}