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.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