Merge pull request #337 from mikulucky/master

Provide a simple example for Callback Pattern using Lambdas
This commit is contained in:
Ilkka Seppälä 2016-01-02 19:04:43 +02:00
commit 317a599c3b
2 changed files with 37 additions and 0 deletions

View File

@ -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);
}
}

View File

@ -36,4 +36,22 @@ public class AppTest {
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);
}
}