Fix Discounter examples

This commit is contained in:
pivovarit 2017-02-06 09:05:55 +01:00
parent 77f1a97e8f
commit 13f2eef879
2 changed files with 5 additions and 1 deletions

View File

@ -5,6 +5,10 @@ import java.util.function.UnaryOperator;
public interface Discounter extends UnaryOperator<BigDecimal> {
default Discounter combine(Discounter after) {
return value -> after.apply(this.apply(value));
}
static Discounter christmas() {
return (amount) -> amount.multiply(BigDecimal.valueOf(0.9));
}

View File

@ -57,7 +57,7 @@ public class StrategyDesignPatternUnitTest {
final Discounter combinedDiscounter = discounters
.stream()
.reduce(v -> v, (d1, d2) -> (Discounter) d1.andThen(d2));
.reduce(v -> v, Discounter::combine);
combinedDiscounter.apply(amount);
}