View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      https://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.text;
18  
19  import static org.junit.jupiter.api.Assertions.assertFalse;
20  import static org.junit.jupiter.api.Assertions.assertTrue;
21  
22  import org.junit.jupiter.api.Test;
23  
24  /**
25   * Tests for {@link CharacterPredicates}.
26   */
27  class CharacterPredicatesTest {
28  
29      @Test
30      void testArabicNumerals() {
31          assertTrue(CharacterPredicates.ARABIC_NUMERALS.test('0'));
32          assertTrue(CharacterPredicates.ARABIC_NUMERALS.test('1'));
33          assertTrue(CharacterPredicates.ARABIC_NUMERALS.test('9'));
34  
35          assertFalse(CharacterPredicates.ARABIC_NUMERALS.test('/'));
36          assertFalse(CharacterPredicates.ARABIC_NUMERALS.test(':'));
37          assertFalse(CharacterPredicates.ARABIC_NUMERALS.test('a'));
38      }
39  
40      @Test
41      void testAsciiAlphaNumerals() {
42          assertTrue(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('a'));
43          assertTrue(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('z'));
44          assertTrue(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('A'));
45          assertTrue(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('Z'));
46          assertTrue(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('0'));
47          assertTrue(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('9'));
48  
49          assertFalse(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('`'));
50          assertFalse(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('{'));
51          assertFalse(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('@'));
52          assertFalse(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('['));
53          assertFalse(CharacterPredicates.ASCII_ALPHA_NUMERALS.test('/'));
54          assertFalse(CharacterPredicates.ASCII_ALPHA_NUMERALS.test(':'));
55      }
56  
57      @Test
58      void testAsciiLetters() {
59          assertTrue(CharacterPredicates.ASCII_LETTERS.test('a'));
60          assertTrue(CharacterPredicates.ASCII_LETTERS.test('z'));
61          assertTrue(CharacterPredicates.ASCII_LETTERS.test('A'));
62          assertTrue(CharacterPredicates.ASCII_LETTERS.test('Z'));
63  
64          assertFalse(CharacterPredicates.ASCII_LETTERS.test('9'));
65          assertFalse(CharacterPredicates.ASCII_LETTERS.test('`'));
66          assertFalse(CharacterPredicates.ASCII_LETTERS.test('{'));
67          assertFalse(CharacterPredicates.ASCII_LETTERS.test('@'));
68          assertFalse(CharacterPredicates.ASCII_LETTERS.test('['));
69      }
70  
71      @Test
72      void testAsciiLowercaseLetters() {
73          assertTrue(CharacterPredicates.ASCII_LOWERCASE_LETTERS.test('a'));
74          assertTrue(CharacterPredicates.ASCII_LOWERCASE_LETTERS.test('z'));
75  
76          assertFalse(CharacterPredicates.ASCII_LOWERCASE_LETTERS.test('9'));
77          assertFalse(CharacterPredicates.ASCII_LOWERCASE_LETTERS.test('A'));
78          assertFalse(CharacterPredicates.ASCII_LOWERCASE_LETTERS.test('Z'));
79          assertFalse(CharacterPredicates.ASCII_LOWERCASE_LETTERS.test('`'));
80          assertFalse(CharacterPredicates.ASCII_LOWERCASE_LETTERS.test('{'));
81      }
82  
83      @Test
84      void testAsciiUppercaseLetters() {
85          assertTrue(CharacterPredicates.ASCII_UPPERCASE_LETTERS.test('A'));
86          assertTrue(CharacterPredicates.ASCII_UPPERCASE_LETTERS.test('Z'));
87  
88          assertFalse(CharacterPredicates.ASCII_UPPERCASE_LETTERS.test('9'));
89          assertFalse(CharacterPredicates.ASCII_UPPERCASE_LETTERS.test('@'));
90          assertFalse(CharacterPredicates.ASCII_UPPERCASE_LETTERS.test('['));
91          assertFalse(CharacterPredicates.ASCII_UPPERCASE_LETTERS.test('a'));
92          assertFalse(CharacterPredicates.ASCII_UPPERCASE_LETTERS.test('z'));
93      }
94  
95      @Test
96      void testDigits() {
97          assertTrue(CharacterPredicates.DIGITS.test('0'));
98          assertTrue(CharacterPredicates.DIGITS.test('9'));
99  
100         assertFalse(CharacterPredicates.DIGITS.test('-'));
101         assertFalse(CharacterPredicates.DIGITS.test('.'));
102         assertFalse(CharacterPredicates.DIGITS.test('L'));
103     }
104 
105     @Test
106     void testLetters() {
107         assertTrue(CharacterPredicates.LETTERS.test('a'));
108         assertTrue(CharacterPredicates.LETTERS.test('Z'));
109 
110         assertFalse(CharacterPredicates.LETTERS.test('1'));
111         assertFalse(CharacterPredicates.LETTERS.test('?'));
112         assertFalse(CharacterPredicates.LETTERS.test('@'));
113     }
114 }