Skip to content

Commit 9db3f05

Browse files
committed
Refactor with PMD, all rules
A violation remains - LawOfDemeter: Potential violation of Law of Demeter (method chain calls) ./run.sh pmd -d /home/anit/work/codechallenge-java-pom/src/main/java/hackerrank/java/StringTokens.java -f text -R /home/anit/work/codechallenge-java-pom/.pmd --cache /tmp/codechallenge-pmd-analysis | less mvn test -Dtest=hackerranktest.java.StringTokensTest
1 parent 75fe160 commit 9db3f05

File tree

3 files changed

+42
-22
lines changed

3 files changed

+42
-22
lines changed

src/main/java/hackerrank/java/StringToken.java

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package hackerrank.java;
2+
3+
/**
4+
* Clean token in string
5+
*/
6+
public class StringTokens {
7+
8+
/**
9+
* String content to be cleaned
10+
*/
11+
private final String sentence;
12+
13+
/**
14+
*
15+
* @return String
16+
*/
17+
public String getSentence() {
18+
return sentence;
19+
}
20+
/**
21+
* Set string to be cleaned
22+
* @param sentence
23+
*/
24+
public StringTokens(final String sentence) {
25+
this.sentence = sentence;
26+
}
27+
28+
/**
29+
* Filter tokens
30+
*
31+
* @return String
32+
*/
33+
public String[] tokenFilter() {
34+
35+
return sentence == null || sentence.isEmpty() ?
36+
new String[]{}
37+
: sentence.trim().split("[,\\s\\'\\?\\_\\@\\!\\.]+");
38+
}
39+
}

src/test/java/hackerranktest/java/StringTokensTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package hackerranktest.java;
22

3-
import hackerrank.java.StringToken;
3+
import hackerrank.java.StringTokens;
44
import org.junit.jupiter.api.Assertions;
55
import org.junit.jupiter.api.Test;
66

@@ -18,7 +18,7 @@ void givenASentencePrintWithoutTokens() {
1818
String given = "He is a very very good boy, isn't he?";
1919
String expected = "Heisaveryverygoodboyisnthe";
2020

21-
StringToken obj = new StringToken(given);
21+
StringTokens obj = new StringTokens(given);
2222
String[] actualArr = obj.tokenFilter();
2323
String actual = String.join("", actualArr);
2424

@@ -31,7 +31,7 @@ void givenAnEmptyStringPrintReturnEmptyString() {
3131
String given = "";
3232
String expected = "";
3333

34-
StringToken obj = new StringToken(given);
34+
StringTokens obj = new StringTokens(given);
3535
String[] actualArr = obj.tokenFilter();
3636
String actual = String.join("", actualArr);
3737

0 commit comments

Comments
 (0)