Add unit test to show that the callback method is called.
This commit is contained in:
		| @@ -2,18 +2,38 @@ package com.iluwatar.callback; | ||||
|  | ||||
| import org.junit.Test; | ||||
|  | ||||
| import com.iluwatar.callback.App; | ||||
| import static org.junit.Assert.assertEquals; | ||||
|  | ||||
| /** | ||||
|  * 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. | ||||
|  * | ||||
|  * Application test | ||||
|  * | ||||
|  * 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); | ||||
|  | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user