package com.tddinaction.patterns.fixture;
import java.util.ArrayList;
import java.util.List;
import org.easymock.classextension.EasyMock;
import org.junit.After;
import org.junit.Before;
public abstract class AutomatedTeardownTestCase<T> {
private List<Object> mockObjects;
protected T createMock(Class<T> type) {
T mockObject = EasyMock.createMock(type);
mockObjects.add(mockObject);
return mockObject;
}
@Before
public void setUp() throws Exception {
mockObjects = new ArrayList<Object>();
}
@After
public void tearDown() throws Exception {
verifyAll();
}
protected void replayAll() {
for (Object mockObject : mockObjects) {
EasyMock.replay(mockObject);
}
}
private void verifyAll() {
for (Object mockObject : mockObjects) {
EasyMock.verify(mockObject);
}
}
}