8000 Merge remote-tracking branch 'origin/master' · blackbeltcoder/Todoo@f66b18a · GitHub
[go: up one dir, main page]

Skip to content

Commit f66b18a

Browse files
author
genio
committed
Merge remote-tracking branch 'origin/master'
2 parents 82453c1 + 65fb773 commit f66b18a

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

src/main/java/com/sar/sandpit/TodooApplication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ public class TodooApplication {
99
public static void main(String[] args) {
1010
SpringApplication.run(TodooApplication.class, args);
1111
}
12-
}
12+
}

src/test/java/com/sar/sandpit/ItemServiceTest.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
import org.springframework.boot.test.mock.mockito.MockBean;
1010
import org.springframework.test.context.junit4.SpringRunner;
1111

12+
import java.util.function.BiFunction;
13+
import java.util.function.Function;
14+
1215
import static org.hamcrest.CoreMatchers.equalTo;
1316
import static org.hamcrest.CoreMatchers.is;
1417
import static org.hamcrest.CoreMatchers.notNullValue;
@@ -132,4 +135,40 @@ public void getItem_success3() throws Exception {
132135
assertThat("item not equal to id ",id,is(equalTo(res.getId())));
133136

134137
}
138+
139+
140+
@Test
141+
public void addMultiple_using_explicitCurry_success(){
142+
143+
//Arrange
144+
Function<Integer,Integer> addThree = x-> x+3;
145+
Function<Integer,Integer> multiplyFour= x-> x*4;
146+
//method one by more imperative
147+
Function<Integer, Integer> addThreeThenMuliplyByFour = x-> multiplyFour.apply(addThree.apply(x));
148+
//method two more declarative 1
149+
Function<Integer,Integer> addThreeThenMuliplyByFourComposition = multiplyFour.compose(addThree);
150+
//method three more delcartive 2
151+
Function<Integer, Integer> addThreeThenMuliplyByFour_andThen = addThree.andThen(multiplyFour);
152+
153+
//Act
154+
int num = 2;
155+
int res =
156+
//addThreeThenMuliplyByFour.apply(2) ;
157+
//addThreeThenMuliplyByFourComposition.apply(2);
158+
addThreeThenMuliplyByFour_andThen.apply(num);
159+
160+
//Assert
161+
// 2+3*4=20
162+
assertThat(addThreeThenMuliplyByFour.apply(num),
163+
is(equalTo(20)));
164+
assertThat(addThreeThenMuliplyByFourComposition.apply(num),
165+
is(equalTo(20)));
166+
assertThat(res, is(equalTo(20)));
167+
168+
169+
}
170+
171+
172+
173+
135174
}

0 commit comments

Comments
 (0)
0