Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions callback/src/main/java/com/iluwatar/callback/LambdasApp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.iluwatar.callback;

/**
*
* This example generates the exact same output as {@link App} however the callback has been
* defined as a Lambdas expression.
*
*/
public class LambdasApp {

/**
* Program entry point
*/
public static void main(String[] args) {
Task task = new SimpleTask();
Callback c = () -> System.out.println("I'm done now.");
task.executeWith(c);
}
}
18 changes: 18 additions & 0 deletions callback/src/test/java/com/iluwatar/callback/AppTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,22 @@ public void call() {
assertEquals("Callback called twice", new Integer(2), callingCount);

}

@Test
public void testWithLambdasExample() {
Callback callback = () -> callingCount++;

Task task = new SimpleTask();

assertEquals("Initial calling count of 0", new Integer(0), callingCount);

task.executeWith(callback);

assertEquals("Callback called once", new Integer(1), callingCount);

task.executeWith(callback);

assertEquals("Callback called twice", new Integer(2), callingCount);

}
}