Skip to content

Commit 625f4e1

Browse files
author
Eugen Paraschiv
committed
functional work
1 parent c257a33 commit 625f4e1

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

guava/src/test/java/org/baeldung/guava/GuavaFunctionalExamplesTest.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public final void givenUnmodifiableViewOverIterable_whenTryingToRemove_thenNotAl
9898
}
9999
}
100100

101-
// char predicates
101+
// other predicates
102102

103103
@Test
104104
public final void when_thenCorrect() {
@@ -126,7 +126,7 @@ public final void whenUsingAnIntermediaryFunctionToOrder_thenCorerctlyOrderedInA
126126

127127
@Test
128128
public final void whenChainingPredicatesAndFunctions_thenCorrectResults() {
129-
final List<Integer> numbersToSort = Arrays.asList(2, 1, 11, 100, 8, 14);
129+
final List<Integer> numbers = Arrays.asList(2, 1, 11, 100, 8, 14);
130130
final Predicate<Integer> acceptEvenNumber = new Predicate<Integer>() {
131131
@Override
132132
public final boolean apply(final Integer number) {
@@ -140,10 +140,24 @@ public final Integer apply(final Integer input) {
140140
}
141141
};
142142

143-
final FluentIterable<Integer> powerOfTwoOnlyForEvenNumbers = FluentIterable.from(numbersToSort).filter(acceptEvenNumber).transform(powerOfTwo);
143+
final FluentIterable<Integer> powerOfTwoOnlyForEvenNumbers = FluentIterable.from(numbers).filter(acceptEvenNumber).transform(powerOfTwo);
144144
assertThat(powerOfTwoOnlyForEvenNumbers, contains(4, 10000, 64, 196));
145145
}
146146

147+
@Test
148+
public final void whenUsingFunctionComposition_thenCorrectResults() {
149+
final List<Integer> numbers = Arrays.asList(2, 3);
150+
final Function<Integer, Integer> powerOfTwo = new Function<Integer, Integer>() {
151+
@Override
152+
public final Integer apply(final Integer input) {
153+
return (int) Math.pow(input, 2);
154+
}
155+
};
156+
157+
final List<Integer> result = Lists.transform(numbers, Functions.compose(powerOfTwo, powerOfTwo));
158+
assertThat(result, contains(16, 81));
159+
}
160+
147161
// Set+Function => Map
148162

149163
/**

0 commit comments

Comments
 (0)