From 2f5a6c085d084c73c11017babb0de90c59044767 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 3 Jul 2026 14:48:27 +0100 Subject: Add upperCamelCaseToLowerCamelCase() --- .../java/org/zwobble/hobgoblin/compiler/util/Casing.java | 4 ++++ .../org/zwobble/hobgoblin/compiler/util/CasingTests.java | 15 +++++++++++++++ 2 files changed, 19 insertions(+) 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", -- cgit v1.2.3