Skip to content

Commit 0eafba3

Browse files
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.
1 parent ab62e67 commit 0eafba3

4 files changed

Lines changed: 122 additions & 0 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
### Relevant Articles:
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<artifactId>core-java-string-operations-7</artifactId>
7+
<name>core-java-string-operations-7</name>
8+
<packaging>jar</packaging>
9+
10+
<parent>
11+
<groupId>com.baeldung.core-java-modules</groupId>
12+
<artifactId>core-java-modules</artifactId>
13+
<version>0.0.1-SNAPSHOT</version>
14+
</parent>
15+
16+
<dependencies>
17+
<dependency>
18+
<groupId>org.apache.commons</groupId>
19+
<artifactId>commons-lang3</artifactId>
20+
<version>${apache.commons.lang3.version}</version>
21+
</dependency>
22+
<dependency>
23+
<groupId>org.apache.commons</groupId>
24+
<artifactId>commons-text</artifactId>
25+
<version>${commons-text.version}</version>
26+
</dependency>
27+
<dependency>
28+
<groupId>org.liquibase</groupId>
29+
<artifactId>liquibase-core</artifactId>
30+
<version>4.9.1</version>
31+
<scope>test</scope>
32+
</dependency>
33+
<dependency>
34+
<groupId>org.junit.jupiter</groupId>
35+
<artifactId>junit-jupiter</artifactId>
36+
<version>5.8.1</version>
37+
<scope>test</scope>
38+
</dependency>
39+
<dependency>
40+
<groupId>org.liquibase</groupId>
41+
<artifactId>liquibase-core</artifactId>
42+
<version>4.9.1</version>
43+
<scope>test</scope>
44+
</dependency>
45+
<dependency>
46+
<groupId>junit</groupId>
47+
<artifactId>junit</artifactId>
48+
<version>4.13.2</version>
49+
</dependency>
50+
</dependencies>
51+
52+
<build>
53+
<plugins>
54+
<plugin>
55+
<groupId>org.apache.maven.plugins</groupId>
56+
<artifactId>maven-compiler-plugin</artifactId>
57+
<configuration>
58+
<source>${maven.compiler.source}</source>
59+
<target>${maven.compiler.target}</target>
60+
</configuration>
61+
</plugin>
62+
</plugins>
63+
</build>
64+
65+
<properties>
66+
<maven.compiler.source>11</maven.compiler.source>
67+
<maven.compiler.target>11</maven.compiler.target>
68+
<apache.commons.lang3.version>3.12.0</apache.commons.lang3.version>
69+
<commons-text.version>1.10.0</commons-text.version>
70+
</properties>
71+
72+
</project>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.baeldung.centertext;
2+
3+
import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
4+
import org.junit.Assert;
5+
import org.junit.jupiter.api.Test;
6+
import static org.junit.Assert.assertEquals;
7+
8+
public class CenteringTextUnitTest {
9+
10+
@Test
11+
public void givenTextAndTotalWidth_whenUsingStringFormat_thenTextIsCentered() {
12+
String text = "Centered Text";
13+
int totalWidth = 20;
14+
int padding = (totalWidth - text.length()) / 2;
15+
String centeredText = String.format("%" + padding + "s%s%" + padding + "s", "", text, "");
16+
String expectedCenteredText = " Centered Text ";
17+
Assert.assertEquals("Centered Text", expectedCenteredText, centeredText);
18+
}
19+
20+
@Test
21+
public void givenTextAndTotalWidth_whenCenterUsingStringBuilder_thenTextIsCentered() {
22+
String text = "Centered Text";
23+
int width = 20;
24+
int padding = (width - text.length()) / 2;
25+
StringBuilder centeredText = new StringBuilder();
26+
for (int i = 0; i < padding; i++) {
27+
centeredText.append(" ");
28+
}
29+
centeredText.append(text);
30+
for (int i = 0; i < padding; i++) {
31+
centeredText.append(" ");
32+
}
33+
String centeredTextString = centeredText.toString();
34+
String expectedCenteredText = " Centered Text ";
35+
Assert.assertEquals("Centered Text", expectedCenteredText, centeredTextString);
36+
}
37+
38+
@Test
39+
public void givenTextAndTotalWidth_whenUsingStringUtilsCenterMethod_thenTextIsCentered() {
40+
String text = "Centered Text";
41+
int width = 20;
42+
String centeredText = StringUtils.center(text, width);
43+
String expectedCenteredText = StringUtils.center("Centered Text", width);
44+
assertEquals("Centered Text", expectedCenteredText, centeredText);
45+
}
46+
47+
}

core-java-modules/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@
178178
<module>core-java-string-operations</module>
179179
<module>core-java-string-operations-2</module>
180180
<module>core-java-string-operations-6</module>
181+
<module>core-java-string-operations-7</module>
181182
<module>core-java-regex</module>
182183
<module>core-java-regex-2</module>
183184
<module>core-java-uuid</module>

0 commit comments

Comments
 (0)