From 3ab032d0951c0cb11c73a96929ba2a9f23e85195 Mon Sep 17 00:00:00 2001 From: vaibhav007jain <72961247+vaibhav007jain@users.noreply.github.com> Date: Mon, 8 Nov 2021 18:05:17 +0530 Subject: [PATCH] BAEL-5151 (#11385) * commited initial code for hexagonal architecture * Deleting to check in again * Deleing to check in again * Push first code for Hexagonal Architecture * final code with UT for JSON to Java conversion * removed hexagonal-architecture code from last commit * BEL-5071 updated README * BAEL-5071: Undo README changes and added a nested object in the JSON example. * BAEL-5071: fixed whitespace/indentation in JsonToJavaClassConversion.java * BAEL-5151: Added code for getting the first of a String * BAEL-5151: Renamed Unit Test * BAEL-5151: Moved the files from core-java-string-operations to core-java-string-operations-3 * BAEL-5151: Replaced tabs with white spaces. Co-authored-by: Vaibhav Jain --- .../baeldung/firstword/FirstWordGetter.java | 20 +++++++++++++ .../firstword/FirstWordGetterUnitTest.java | 30 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/firstword/FirstWordGetter.java create mode 100644 core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/firstword/FirstWordGetterUnitTest.java diff --git a/core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/firstword/FirstWordGetter.java b/core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/firstword/FirstWordGetter.java new file mode 100644 index 0000000000..03c134752a --- /dev/null +++ b/core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/firstword/FirstWordGetter.java @@ -0,0 +1,20 @@ +package com.baeldung.firstword; + +public class FirstWordGetter { + + public static void main(String[] args) { + String input = "Roberto \"I wish you a bug-free day\""; + System.out.println("Using split: " + getFirstWordUsingSplit(input)); + System.out.println("Using subString: " + getFirstWordUsingSubString(input)); + } + + public static String getFirstWordUsingSubString(String input) { + int index = input.contains(" ") ? input.indexOf(" ") : 0; + return input.substring(0, index); + } + + public static String getFirstWordUsingSplit(String input) { + String[] tokens = input.split(" ", 2); + return tokens[0]; + } +} diff --git a/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/firstword/FirstWordGetterUnitTest.java b/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/firstword/FirstWordGetterUnitTest.java new file mode 100644 index 0000000000..bdaa25180e --- /dev/null +++ b/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/firstword/FirstWordGetterUnitTest.java @@ -0,0 +1,30 @@ +package com.baeldung.firstword; + +import static com.baeldung.firstword.FirstWordGetter.getFirstWordUsingSplit; +import static com.baeldung.firstword.FirstWordGetter.getFirstWordUsingSubString; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class FirstWordGetterUnitTest { + + @Test + public void givenString_whenSplit_thenFirstWordIsReturned() { + assertEquals("Roberto", getFirstWordUsingSplit("Roberto \"I wish you a bug-free day\"")); + } + + @Test + public void givenStringWithNoSpace_whenSplit_thenFirstWordIsReturned() { + assertEquals("StringWithNoSpace", getFirstWordUsingSplit("StringWithNoSpace")); + } + + @Test + public void givenString_whenPassedToSubstring_thenFirstWordIsReturned() { + assertEquals("Roberto", getFirstWordUsingSubString("Roberto \"I wish you a bug-free day\"")); + } + + @Test + public void givenStringWithNoSpace_whenPassedToSubstring_thenFirstWordIsReturned() { + assertEquals("", getFirstWordUsingSubString("StringWithNoSpace")); + } +}