View Javadoc
1   ///////////////////////////////////////////////////////////////////////////////////////////////
2   // checkstyle: Checks Java source code and other text files for adherence to a set of rules.
3   // Copyright (C) 2001-2024 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  
24  import org.junit.jupiter.api.Test;
25  import org.junitpioneer.jupiter.DefaultLocale;
26  
27  /**
28   * Test cases for {@link SeverityLevel} enumeration.
29   */
30  public class SeverityLevelTest {
31  
32      /* Additional test for jacoco, since valueOf()
33       * is generated by javac and jacoco reports that
34       * valueOf() is uncovered.
35       */
36      @Test
37      public void testSeverityLevelValueOf() {
38          final SeverityLevel level = SeverityLevel.valueOf("INFO");
39          assertWithMessage("Invalid severity level")
40              .that(level)
41              .isEqualTo(SeverityLevel.INFO);
42      }
43  
44      @Test
45      public void testMisc() {
46          final SeverityLevel severityLevel = SeverityLevel.getInstance("info");
47          assertWithMessage("Invalid getInstance result, should not be null")
48              .that(severityLevel)
49              .isNotNull();
50          assertWithMessage("Invalid toString result")
51              .that(severityLevel.toString())
52              .isEqualTo("info");
53          assertWithMessage("Invalid severity level name")
54              .that(severityLevel.getName())
55              .isEqualTo("info");
56  
57          try {
58              SeverityLevel.getInstance("unknown");
59              assertWithMessage("exception expected").fail();
60          }
61          catch (IllegalArgumentException ex) {
62              assertWithMessage("Invalid exception message")
63                  .that(ex.getMessage())
64                  .isEqualTo("No enum constant "
65                      + "com.puppycrawl.tools.checkstyle.api.SeverityLevel.UNKNOWN");
66          }
67      }
68  
69      @Test
70      public void testMixedCaseSpaces() {
71          assertWithMessage("Invalid getInstance result")
72              .that(SeverityLevel.getInstance("IgnoRe "))
73              .isEqualTo(SeverityLevel.IGNORE);
74          assertWithMessage("Invalid getInstance result")
75              .that(SeverityLevel.getInstance(" iNfo"))
76              .isEqualTo(SeverityLevel.INFO);
77          assertWithMessage("Invalid getInstance result")
78              .that(SeverityLevel.getInstance(" WarniNg"))
79              .isEqualTo(SeverityLevel.WARNING);
80          assertWithMessage("Invalid getInstance result")
81              .that(SeverityLevel.getInstance("    ERROR "))
82              .isEqualTo(SeverityLevel.ERROR);
83      }
84  
85      @DefaultLocale(language = "tr", country = "TR")
86      @Test
87      public void testMixedCaseSpacesWithDifferentLocales() {
88          assertWithMessage("Invalid getInstance result")
89              .that(SeverityLevel.getInstance("IgnoRe "))
90              .isEqualTo(SeverityLevel.IGNORE);
91          assertWithMessage("Invalid getInstance result")
92              .that(SeverityLevel.getInstance(" iNfo"))
93              .isEqualTo(SeverityLevel.INFO);
94          assertWithMessage("Invalid getInstance result")
95              .that(SeverityLevel.getInstance(" WarniNg"))
96              .isEqualTo(SeverityLevel.WARNING);
97          assertWithMessage("Invalid getInstance result")
98              .that(SeverityLevel.getInstance("    ERROR "))
99              .isEqualTo(SeverityLevel.ERROR);
100     }
101 
102 }