1
+ package com .baeldung .cameltosnakecase ;
2
+
3
+ import org .junit .jupiter .api .Assertions ;
4
+ import org .junit .jupiter .api .Test ;
5
+
6
+ public class CamelToSnakeCaseConverterUnitTest {
7
+
8
+ @ Test
9
+ public void whenConvertNormalCamelCase_thenGetCorrectSnakeCase () {
10
+ String input = "convertCamelCase" ;
11
+ String expected = "convert_camel_case" ;
12
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnake (input ));
13
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnakeRegex (input ));
14
+ }
15
+
16
+ @ Test
17
+ public void whenConvertNotNormalCamelCase_thenGetCorrectSnakeCase () {
18
+ String input = "convertCCamelCase" ;
19
+ String expected = "convert_c_camel_case" ;
20
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnake (input ));
21
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnakeRegex (input ));
22
+ }
23
+
24
+ @ Test
25
+ public void whenConvertAlreadySnakeCase_thenGetUnchangedSnakeCase () {
26
+ String input = "snake_case" ;
27
+ String expected = "snake_case" ;
28
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnake (input ));
29
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnakeRegex (input ));
30
+ }
31
+
32
+ @ Test
33
+ public void whenConvertAllLowerCaseString_thenGetUnchangedString () {
34
+ String input = "snakecase" ;
35
+ String expected = "snakecase" ;
36
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnake (input ));
37
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnakeRegex (input ));
38
+ }
39
+
40
+ @ Test
41
+ public void whenConvertOtherEdgeCases_thenGetCorrectSnakeCases () {
42
+ // Blank string
43
+ Assertions .assertEquals ("" , CamelToSnakeCaseConverter .convertCamelCaseToSnake ("" ));
44
+ Assertions .assertEquals ("" , CamelToSnakeCaseConverter .convertCamelCaseToSnakeRegex ("" ));
45
+
46
+ // Special character
47
+ String input = "sn@keCase#" ;
48
+ String expected = "sn@ke_case#" ;
49
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnake (input ));
50
+ Assertions .assertEquals (expected , CamelToSnakeCaseConverter .convertCamelCaseToSnakeRegex (input ));
51
+ }
52
+ }
0 commit comments