package org.needle4j.junit.testrule;
import static org.junit.Assert.assertNotNull;
import javax.inject.Inject;
import org.easymock.EasyMock;
import org.junit.Rule;
import org.junit.Test;
import org.needle4j.annotation.ObjectUnderTest;
public class NeedleTestRuleTest {
public static class DummyTarget {
@Inject
private Runnable runner;
public void execute() {
runner.run();
}
}
@ObjectUnderTest
private DummyTarget dummyTarget;
@Inject
private Runnable runnerMock;
@Rule
public final NeedleTestRule needle = new NeedleTestRule(this);
@Test
public void shouldCreateClassAndExecute() {
assertNotNull(dummyTarget);
assertNotNull(runnerMock);
EasyMock.resetToStrict(runnerMock);
runnerMock.run();
EasyMock.replay(runnerMock);
dummyTarget.execute();
EasyMock.verify(runnerMock);
}
}