View Javadoc
1   ///////////////////////////////////////////////////////////////////////////////////////////////
2   // checkstyle: Checks Java source code and other text files for adherence to a set of rules.
3   // Copyright (C) 2001-2026 the original author or authors.
4   //
5   // This library is free software; you can redistribute it and/or
6   // modify it under the terms of the GNU Lesser General Public
7   // License as published by the Free Software Foundation; either
8   // version 2.1 of the License, or (at your option) any later version.
9   //
10  // This library is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  // Lesser General Public License for more details.
14  //
15  // You should have received a copy of the GNU Lesser General Public
16  // License along with this library; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  ///////////////////////////////////////////////////////////////////////////////////////////////
19  
20  package com.puppycrawl.tools.checkstyle.api;
21  
22  import static com.google.common.truth.Truth.assertWithMessage;
23  import static com.puppycrawl.tools.checkstyle.internal.utils.TestUtil.getExpectedThrowable;
24  
25  import org.junit.jupiter.api.Test;
26  import org.junitpioneer.jupiter.DefaultLocale;
27  
28  /**
29   * Test cases for {@link SeverityLevel} enumeration.
30   */
31  public class SeverityLevelTest {
32  
33      /* Additional test for jacoco, since valueOf()
34       * is generated by javac and jacoco reports that
35       * valueOf() is uncovered.
36       */
37      @Test
38      public void testSeverityLevelValueOf() {
39          final SeverityLevel level = SeverityLevel.valueOf("INFO");
40          assertWithMessage("Invalid severity level")
41              .that(level)
42              .isEqualTo(SeverityLevel.INFO);
43      }
44  
45      @Test
46      public void testMisc() {
47          final SeverityLevel severityLevel = SeverityLevel.getInstance("info");
48          assertWithMessage("Invalid getInstance result, should not be null")
49              .that(severityLevel)
50              .isNotNull();
51          assertWithMessage("Invalid toString result")
52              .that(severityLevel.toString())
53              .isEqualTo("info");
54          assertWithMessage("Invalid severity level name")
55              .that(severityLevel.getName())
56              .isEqualTo("info");
57  
58          final IllegalArgumentException exc =
59                  getExpectedThrowable(IllegalArgumentException.class, () -> {
60                      SeverityLevel.getInstance("unknown");
61                  }, "exception expected");
62          assertWithMessage("Invalid exception message")
63              .that(exc.getMessage())
64              .isEqualTo("No enum constant "
65                  + "com.puppycrawl.tools.checkstyle.api.SeverityLevel.UNKNOWN");
66      }
67  
68      @Test
69      public void testMixedCaseSpaces() {
70          assertWithMessage("Invalid getInstance result")
71              .that(SeverityLevel.getInstance("IgnoRe "))
72              .isEqualTo(SeverityLevel.IGNORE);
73          assertWithMessage("Invalid getInstance result")
74              .that(SeverityLevel.getInstance(" iNfo"))
75              .isEqualTo(SeverityLevel.INFO);
76          assertWithMessage("Invalid getInstance result")
77              .that(SeverityLevel.getInstance(" WarniNg"))
78              .isEqualTo(SeverityLevel.WARNING);
79          assertWithMessage("Invalid getInstance result")
80              .that(SeverityLevel.getInstance("    ERROR "))
81              .isEqualTo(SeverityLevel.ERROR);
82      }
83  
84      @DefaultLocale(language = "tr", country = "TR")
85      @Test
86      public void testMixedCaseSpacesWithDifferentLocales() {
87          assertWithMessage("Invalid getInstance result")
88              .that(SeverityLevel.getInstance("IgnoRe "))
89              .isEqualTo(SeverityLevel.IGNORE);
90          assertWithMessage("Invalid getInstance result")
91              .that(SeverityLevel.getInstance(" iNfo"))
92              .isEqualTo(SeverityLevel.INFO);
93          assertWithMessage("Invalid getInstance result")
94              .that(SeverityLevel.getInstance(" WarniNg"))
95              .isEqualTo(SeverityLevel.WARNING);
96          assertWithMessage("Invalid getInstance result")
97              .that(SeverityLevel.getInstance("    ERROR "))
98              .isEqualTo(SeverityLevel.ERROR);
99      }
100 
101 }