Skip to content

Commit 35d437b

Browse files
authored
KTLN-639: Check If a Character is Alphabet or Not in Kotlin (#584)
* Unit tests * Code fixes * code fixes
1 parent a15a536 commit 35d437b

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package com.baeldung.alphabetcheck
2+
3+
import org.junit.jupiter.api.Test
4+
import kotlin.test.assertFalse
5+
import kotlin.test.assertTrue
6+
7+
class CheckAlphabetUnitTest {
8+
9+
@Test
10+
fun `check using isLetter() method`() {
11+
assertTrue('a'.isLetter())
12+
assertTrue('w'.isLetter())
13+
assertTrue('T'.isLetter())
14+
assertTrue('P'.isLetter())
15+
assertFalse('%'.isLetter())
16+
assertFalse('4'.isLetter())
17+
assertFalse('.'.isLetter())
18+
assertFalse('*'.isLetter())
19+
}
20+
21+
@Test
22+
fun `check using range method`() {
23+
assertTrue(usingRangeMethod('a'))
24+
assertTrue(usingRangeMethod('w'))
25+
assertTrue(usingRangeMethod('T'))
26+
assertTrue(usingRangeMethod('P'))
27+
assertFalse(usingRangeMethod('%'))
28+
assertFalse(usingRangeMethod('4'))
29+
assertFalse(usingRangeMethod('.'))
30+
assertFalse(usingRangeMethod('*'))
31+
}
32+
33+
@Test
34+
fun `check using regex method`() {
35+
assertTrue(usingRegexMethod('a'))
36+
assertTrue(usingRegexMethod('w'))
37+
assertTrue(usingRegexMethod('T'))
38+
assertTrue(usingRegexMethod('P'))
39+
assertFalse(usingRegexMethod('%'))
40+
assertFalse(usingRegexMethod('4'))
41+
assertFalse(usingRegexMethod('.'))
42+
assertFalse(usingRegexMethod('*'))
43+
}
44+
45+
@Test
46+
fun `check using isAlphabetic method`() {
47+
assertTrue(Character.isAlphabetic('a'.code))
48+
assertTrue(Character.isAlphabetic('w'.code))
49+
assertTrue(Character.isAlphabetic('T'.code))
50+
assertTrue(Character.isAlphabetic('P'.code))
51+
assertFalse(Character.isAlphabetic('%'.code))
52+
assertFalse(Character.isAlphabetic('4'.code))
53+
assertFalse(Character.isAlphabetic('.'.code))
54+
assertFalse(Character.isAlphabetic('*'.code))
55+
}
56+
57+
@Test
58+
fun `check using ASCII method`() {
59+
assertTrue(usingAsciiValues('a'))
60+
assertTrue(usingAsciiValues('w'))
61+
assertTrue(usingAsciiValues('T'))
62+
assertTrue(usingAsciiValues('P'))
63+
assertFalse(usingAsciiValues('%'))
64+
assertFalse(usingAsciiValues('4'))
65+
assertFalse(usingAsciiValues('.'))
66+
assertFalse(usingAsciiValues('*'))
67+
}
68+
69+
fun usingRangeMethod(ch: Char): Boolean {
70+
return ch in 'A'..'Z' || ch in 'a'..'z'
71+
}
72+
73+
fun usingRegexMethod(ch: Char): Boolean {
74+
return ch.toString().matches("[a-zA-Z]".toRegex())
75+
}
76+
77+
fun usingAsciiValues(ch: Char): Boolean {
78+
return (ch.code in 65..90) || (ch.code in 97..122)
79+
}
80+
}

0 commit comments

Comments
 (0)