package com.squareup.burst;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.ExternalResource;
import org.junit.rules.TestRule;
import org.junit.runner.RunWith;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@RunWith(BurstJUnit4.class)
public class ClassRuleTest {
@ClassRule public static TestRule rule = new ExternalResource() {
@Override protected void before() throws Throwable {
assertFalse(beforeCalled);
beforeCalled = true;
}
@Override protected void after() {
assertTrue(beforeCalled);
assertFalse(afterCalled);
afterCalled = true;
}
};
private static boolean beforeCalled = false;
private static boolean afterCalled = false;
private final Snack snack;
public ClassRuleTest(Snack snack) {
this.snack = snack;
}
@Test public void testSnackIsSet() {
assertTrue(beforeCalled);
assertFalse(afterCalled);
assertNotNull(snack);
}
}