Update Strman.java (#97)

* Update Strman.java

fix bug in between()

* Update StrmanTests.java

* Update StrmanTests.java
This commit is contained in:
lizho
2017-11-10 11:29:03 +05:30
committed by Shekhar Gulati
parent 9fb07aa1f8
commit d0c2a10a62
2 changed files with 6 additions and 4 deletions
+3 -1
View File
@@ -115,7 +115,9 @@ public abstract class Strman {
validate(end, NULL_STRING_PREDICATE, () -> "'end' should be not null.");
String[] parts = value.split(end);
return Arrays.stream(parts).map(subPart -> subPart.substring(subPart.indexOf(start) + start.length()))
return Arrays.stream(parts)
.filter(subPart -> subPart.contains(start))
.map(subPart -> subPart.substring(subPart.indexOf(start) + start.length()))
.toArray(String[]::new);
}
+3 -3
View File
@@ -92,9 +92,9 @@ public class StrmanTests {
}
@Test
public void between_shouldReturnFullStringWhenStartAndEndDoesNotExist() throws Exception {
assertThat(between("[abc][def]", "{", "}"), arrayContaining("[abc][def]"));
assertThat(between("", "{", "}"), arrayContaining(""));
public void between_shouldReturnEmptyArrayWhenStartAndEndDoesNotExist() throws Exception {
assertThat(between("[abc][def]", "{", "}").length, equalTo(0));
assertThat(between("", "{", "}").length, equalTo(0));
}
@Test