Skip to content
Snippets Groups Projects
Commit 3386853d authored by VIOLA Anthony's avatar VIOLA Anthony
Browse files

TP1 exercice 3 fini

parent a8bc8f7b
No related branches found
No related tags found
No related merge requests found
Pipeline #18411 failed
public class AsciiStringFilter {
public class AsciiStringFilter implements StringFilter{
public AsciiStringFilter() {}
......
public class CompositeStringFilter implements StringFilter{
private StringFilter[] filters;
public CompositeStringFilter(StringFilter[] filters){
this.filters = filters;
}
public String filter(String string) {
for (StringFilter filter: filters) {
string = filter.filter(string);
}
return string;
}
}
public class MultipleStringFilter {
public static String[] filter(String[] strings, StringFilter filter){
for (int i = 0; i < strings.length; i++) {
strings[i] = filter.filter(strings[i]);
}
return strings;
}
}
public class PostfixStringFilter {
public class PostfixStringFilter implements StringFilter {
private final int number;
......
......@@ -2,5 +2,4 @@ public interface StringFilter {
public String filter(String string);
public String[] filter(String[] strings, StringFilter filter);
}
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.*;
public class StringFilterTest {
@Test
void testUpperCaseStringFilter() {
StringFilter upper = new UpperCaseStringFilter();
assertThat(upper.filter("Hello world")).isEqualTo("HELLO WORLD");
}
@Test
void testLowerCaseStringFilter() {
StringFilter lower = new LowerCaseStringFilter();
assertThat(lower.filter("Hello world")).isEqualTo("hello world");
}
@Test
void testPrefixStringFilter() {
StringFilter prefix2 = new PrefixStringFilter(2);
StringFilter prefix5 = new PrefixStringFilter(5);
assertThat(prefix2.filter("Hello world")).isEqualTo("He");
assertThat(prefix5.filter("Hello world")).isEqualTo("Hello");
}
@Test
void testPostfixStringFilter() {
StringFilter postfix8 = new PostfixStringFilter(8);
StringFilter postfix5 = new PostfixStringFilter(5);
assertThat(postfix8.filter("Hello world")).isEqualTo("lo world");
assertThat(postfix5.filter("Hello world")).isEqualTo("world");
}
@Test
void testAsciiStringFilter() {
StringFilter ascii = new AsciiStringFilter();
assertThat(ascii.filter("@ ¤ ~ µ ! € /")).isEqualTo("@ ~ ! /");
}
@Test
void testMultipleStringFilter() {
StringFilter lower = new LowerCaseStringFilter();
StringFilter upper = new UpperCaseStringFilter();
StringFilter prefix2 = new PrefixStringFilter(2);
StringFilter postfix1 = new PostfixStringFilter(1);
StringFilter ascii = new AsciiStringFilter();
String [] strings = { "Hello", "World", "test", "}+*€@" };
assertThat(MultipleStringFilter.filter(strings, ascii)).isEqualTo(new String[]{"Hello", "World", "test", "}+*@"});
assertThat(MultipleStringFilter.filter(strings, prefix2)).isEqualTo(new String[]{"He", "Wo", "te", "}+"});
assertThat(MultipleStringFilter.filter(strings, upper)).isEqualTo(new String[]{"HE", "WO", "TE", "}+"});
assertThat(MultipleStringFilter.filter(strings, postfix1)).isEqualTo(new String[]{"E", "O", "E", "+"});
assertThat(MultipleStringFilter.filter(strings, lower)).isEqualTo(new String[]{"e", "o", "e", "+"});
}
@Test
void testCompositeStringFilter() {
StringFilter lower = new LowerCaseStringFilter();
StringFilter prefix5 = new PrefixStringFilter(5);
StringFilter ascii = new AsciiStringFilter();
StringFilter composite = new CompositeStringFilter(new StringFilter[]{lower, prefix5, ascii});
assertThat(composite.filter("Hello€ World")).isEqualTo("hello");
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment