Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /