@@ -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