Add unit test to show that the callback method is called.

This commit is contained in:
Richard Jones 2015-10-19 22:06:35 +01:00
parent 7ab799c452
commit 83c2fbdcd3

View File

@ -2,18 +2,38 @@ package com.iluwatar.callback;
import org.junit.Test;
import com.iluwatar.callback.App;
import static org.junit.Assert.assertEquals;
/**
*
* Application test
* Add a field as a counter. Every time the callback method is called increment this
* field. Unit test checks that the field is being incremented.
*
* Could be done with mock objects as well where the call method call is verified.
*/
public class AppTest {
private Integer callingCount = 0;
@Test
public void test() {
String[] args = {};
App.main(args);
Callback callback = new Callback() {
@Override
public void call() {
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);
}
}