Java ã®æååã§ãå·¦ããªã ãããæ¹æ³ï¼å é ã®åè§ã¹ãã¼ã¹ãåé¤ããæ¹æ³ï¼ãæ¸ãã¦ããã¾ãã
ãã¼ã¸ã§ã³
åä½ç¢ºèªã§ä½¿ç¨ãã製åã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ãã
ã³ã¼ãä¾
ããã°ã©ã ã®ä¾ã¯ä»¥ä¸ã®éãã§ãã
package org.example; public abstract class Trim { public static String leftSpace(String str) { char[] chars = str.toCharArray(); int i = 0; for (; i < chars.length; i++) { if (chars[i] != ' ') break; } if (i == 0) return str; else return str.substring(i); } }
null ãã§ãã¯ã¯ããªãã§ãåè§ã¹ãã¼ã¹ã®ã¿ããªã ãã¾ãã
ãã¹ãã±ã¼ã¹
JUnit5 ã®ãã¹ãã±ã¼ã¹ã¯ä»¥ä¸ã®éãã§ãã
package org.example; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; class TrimTest { @ParameterizedTest @CsvSource({ "' åç° å¤ªé', 'åç° å¤ªé'", // å é ã¹ãã¼ã¹1㤠"' åç° å¤ªé', 'åç° å¤ªé'", // å é ã¹ãã¼ã¹2㤠"'åç° å¤ªé', 'åç° å¤ªé'", // å é ã¹ãã¼ã¹ãªã "' ð ®·ç° å¤ªé', 'ð ®·ç° å¤ªé'", // ãµãã²ã¼ããã¢ãð ®·ã "' ',''", // ã¹ãã¼ã¹ã®ã¿ "'',''", // 空æå }) void testLeftTrim(String target, String expected) { // å®è¡ String result = Trim.leftSpace(target); // æ¤è¨¼ assertEquals(expected, result); } @Test void testLeftTrimNull() { assertThrows(NullPointerException.class, () -> { Trim.leftSpace(null); }); } }
ãµãã²ã¼ããã¢ã®æåããã£ã¦ãåããã¨ã確èªãã¦ãã¾ãã
ãã«ããã¡ã¤ã«
Maven ã®ãã«ããã¡ã¤ã«ã¯ä»¥ä¸ã®éãã§ãã
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>trim</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.9.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M8</version>
</plugin>
</plugins>
</build>
</project>