package com.widowcrawler.core.worker;
import org.junit.Test;
import java.util.function.BooleanSupplier;
import static org.easymock.EasyMock.*;
/**
* @author Scott Mansfield
*/
public class WorkerTest {
private Worker workerUnderTest;
private BooleanSupplier booleanSupplierMock;
@Test
public void run_workSucceeded_callbackCalled() {
// Arrange
workerUnderTest = new Worker() {
@Override
protected boolean doWork() {
return true;
}
};
booleanSupplierMock = createMock(BooleanSupplier.class);
expect(booleanSupplierMock.getAsBoolean()).andReturn(true).once();
replay(booleanSupplierMock);
workerUnderTest.withCallback(booleanSupplierMock);
// Act
workerUnderTest.run();
// Assert
verify(booleanSupplierMock);
}
@Test
public void run_workFailed_callbackNotCalled() {
// Arrange
workerUnderTest = new Worker() {
@Override
protected boolean doWork() {
return false;
}
};
booleanSupplierMock = createMock(BooleanSupplier.class);
replay(booleanSupplierMock);
workerUnderTest.withCallback(booleanSupplierMock);
// Act
workerUnderTest.run();
// Assert
verify(booleanSupplierMock);
}
}