diff --git a/DesignPatterns/src/main/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessor.java b/DesignPatterns/src/main/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessor.java index 6a2708c..b5e40d8 100644 --- a/DesignPatterns/src/main/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessor.java +++ b/DesignPatterns/src/main/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessor.java @@ -1,17 +1,18 @@ package pl.mperor.lab.java.design.pattern.structural.decorator.lambda.expression; import java.util.Arrays; -import java.util.function.UnaryOperator; @FunctionalInterface -public interface TextProcessor extends UnaryOperator { +public interface TextProcessor { + + String process(String text); default TextProcessor chain(TextProcessor after) { - return input -> after.apply(this.apply(input)); + return input -> after.process(this.process(input)); } static TextProcessor identity() { - return s -> s; + return text -> text; } static TextProcessor of(TextProcessor processor) { diff --git a/DesignPatterns/src/test/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessorAndValidatorTest.java b/DesignPatterns/src/test/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessorAndValidatorTest.java index 03f4438..4501485 100644 --- a/DesignPatterns/src/test/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessorAndValidatorTest.java +++ b/DesignPatterns/src/test/java/pl/mperor/lab/java/design/pattern/structural/decorator/lambda/expression/TextProcessorAndValidatorTest.java @@ -11,7 +11,7 @@ public void shouldAllowToCreateTextProcessorAsChainOfFunctions() { TextProcessor.of(String::strip) .chain(s -> "prefix" + s) .chain(s -> s + "suffix") - .apply(" @Hello World@") + .process(" @Hello World@") ); Assertions.assertEquals("HEX", @@ -19,7 +19,7 @@ public void shouldAllowToCreateTextProcessorAsChainOfFunctions() { String::toUpperCase, s -> s.replace("L", "X"), s -> s.substring(0, 3) - ).apply("Hello World") + ).process("Hello World") ); }