Created a Lambdas example for the callback pattern, using the same output of the traditional version. Have also added another unit test for issue #334

This commit is contained in:
Joseph McCarthy 2016-01-01 23:41:56 +00:00
parent e0e51324db
commit ca4a4ec07b
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);
}
}