summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java4
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/util/CasingTests.java15
2 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java b/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java
index e99aec6..3705f99 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java
@@ -9,6 +9,10 @@ public class Casing {
return name.substring(0, 1).toUpperCase(Locale.ROOT) + name.substring(1);
}
+ public static String upperCamelCaseToLowerCamelCase(String name) {
+ return name.substring(0, 1).toLowerCase(Locale.ROOT) + name.substring(1);
+ }
+
public static String lowerCamelCaseToUpperCase(String lowerCamelCase) {
var upperCase = new StringBuilder();
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/util/CasingTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/util/CasingTests.java
index 561ec8a..5893335 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/util/CasingTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/util/CasingTests.java
@@ -1,5 +1,6 @@
package org.zwobble.hobgoblin.compiler.util;
+import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
@@ -7,6 +8,20 @@ import static org.zwobble.precisely.AssertThat.assertThat;
import static org.zwobble.precisely.Matchers.equalTo;
public class CasingTests {
+ @Test
+ public void lowerCamelCaseToUpperCamelCase() {
+ var result = Casing.lowerCamelCaseToUpperCamelCase("abcDef");
+
+ assertThat(result, equalTo("AbcDef"));
+ }
+
+ @Test
+ public void upperCamelCaseToLowerCamelCase() {
+ var result = Casing.upperCamelCaseToLowerCamelCase("AbcDef");
+
+ assertThat(result, equalTo("abcDef"));
+ }
+
@ParameterizedTest
@CsvSource({
"a,A",