From 0eafba3ba1116a52cca5fa5ff7688e017946228e Mon Sep 17 00:00:00 2001 From: MohamedHelmyKassab <137485958+MohamedHelmyKassab@users.noreply.github.com> Date: Mon, 16 Oct 2023 01:25:13 +0300 Subject: [PATCH] This PR related to the article BAEL-7023 (#14993) * Update pom.xml * This commit related to the article BAEL-7023 This commit aims to add a test class 'CenteringTextUnitTest.java' proposing several ways to center text in Java. --- .../core-java-string-operations-7/README.md | 2 + .../core-java-string-operations-7/pom.xml | 72 +++++++++++++++++++ .../centertext/CenteringTextUnitTest.java | 47 ++++++++++++ core-java-modules/pom.xml | 1 + 4 files changed, 122 insertions(+) create mode 100644 core-java-modules/core-java-string-operations-7/README.md create mode 100644 core-java-modules/core-java-string-operations-7/pom.xml create mode 100644 core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/centertext/CenteringTextUnitTest.java diff --git a/core-java-modules/core-java-string-operations-7/README.md b/core-java-modules/core-java-string-operations-7/README.md new file mode 100644 index 0000000000..2dce44d217 --- /dev/null +++ b/core-java-modules/core-java-string-operations-7/README.md @@ -0,0 +1,2 @@ + +### Relevant Articles: diff --git a/core-java-modules/core-java-string-operations-7/pom.xml b/core-java-modules/core-java-string-operations-7/pom.xml new file mode 100644 index 0000000000..595f918fcd --- /dev/null +++ b/core-java-modules/core-java-string-operations-7/pom.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + core-java-string-operations-7 + core-java-string-operations-7 + jar + + + com.baeldung.core-java-modules + core-java-modules + 0.0.1-SNAPSHOT + + + + + org.apache.commons + commons-lang3 + ${apache.commons.lang3.version} + + + org.apache.commons + commons-text + ${commons-text.version} + + + org.liquibase + liquibase-core + 4.9.1 + test + + + org.junit.jupiter + junit-jupiter + 5.8.1 + test + + + org.liquibase + liquibase-core + 4.9.1 + test + + + junit + junit + 4.13.2 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + + + 11 + 11 + 3.12.0 + 1.10.0 + + + \ No newline at end of file diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/centertext/CenteringTextUnitTest.java b/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/centertext/CenteringTextUnitTest.java new file mode 100644 index 0000000000..ff53d8b3fa --- /dev/null +++ b/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/centertext/CenteringTextUnitTest.java @@ -0,0 +1,47 @@ +package com.baeldung.centertext; + +import liquibase.repackaged.org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.jupiter.api.Test; +import static org.junit.Assert.assertEquals; + +public class CenteringTextUnitTest { + + @Test + public void givenTextAndTotalWidth_whenUsingStringFormat_thenTextIsCentered() { + String text = "Centered Text"; + int totalWidth = 20; + int padding = (totalWidth - text.length()) / 2; + String centeredText = String.format("%" + padding + "s%s%" + padding + "s", "", text, ""); + String expectedCenteredText = " Centered Text "; + Assert.assertEquals("Centered Text", expectedCenteredText, centeredText); + } + + @Test + public void givenTextAndTotalWidth_whenCenterUsingStringBuilder_thenTextIsCentered() { + String text = "Centered Text"; + int width = 20; + int padding = (width - text.length()) / 2; + StringBuilder centeredText = new StringBuilder(); + for (int i = 0; i < padding; i++) { + centeredText.append(" "); + } + centeredText.append(text); + for (int i = 0; i < padding; i++) { + centeredText.append(" "); + } + String centeredTextString = centeredText.toString(); + String expectedCenteredText = " Centered Text "; + Assert.assertEquals("Centered Text", expectedCenteredText, centeredTextString); + } + + @Test + public void givenTextAndTotalWidth_whenUsingStringUtilsCenterMethod_thenTextIsCentered() { + String text = "Centered Text"; + int width = 20; + String centeredText = StringUtils.center(text, width); + String expectedCenteredText = StringUtils.center("Centered Text", width); + assertEquals("Centered Text", expectedCenteredText, centeredText); + } + +} \ No newline at end of file diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml index 5b37db6e1a..5cae60bc2a 100644 --- a/core-java-modules/pom.xml +++ b/core-java-modules/pom.xml @@ -178,6 +178,7 @@ core-java-string-operations core-java-string-operations-2 core-java-string-operations-6 + core-java-string-operations-7 core-java-regex core-java-regex-2 core-java-uuid