package net.sf.cotta.test;
import junit.framework.TestCase;
import org.jmock.Expectations;
import org.jmock.Mockery;
public class FixtureWrapperTest extends TestCase {
public void testRunOnlyCalledOnce() throws Exception {
Mockery context = new Mockery();
final TestFixture fixture = context.mock(TestFixture.class);
context.checking(new Expectations() {
{
one(fixture).setUp();
}
});
FixtureWrapper wrapper = new FixtureWrapper(fixture);
wrapper.setUp();
wrapper.setUp();
context.assertIsSatisfied();
}
public void testTearDownOnlyCalledOnce() throws Exception {
Mockery context = new Mockery();
final TestFixture fixture = context.mock(TestFixture.class);
context.checking(new Expectations() {
{
one(fixture).tearDown();
}
});
FixtureWrapper wrapper = new FixtureWrapper(fixture);
wrapper.increaseCount();
wrapper.increaseCount();
wrapper.tearDown();
wrapper.tearDown();
context.assertIsSatisfied();
}
public void testSetupCalledAfterTearedDown() throws Exception {
Mockery context = new Mockery();
final TestFixture fixture = context.mock(TestFixture.class);
context.checking(new Expectations() {
{
one(fixture).setUp();
one(fixture).tearDown();
one(fixture).setUp();
one(fixture).tearDown();
}
});
FixtureWrapper wrapper = new FixtureWrapper(fixture);
wrapper.increaseCount();
wrapper.setUp();
wrapper.tearDown();
wrapper.increaseCount();
wrapper.setUp();
wrapper.tearDown();
context.assertIsSatisfied();
}
}