@@ -0,0 +1,1305 @@
+package com.tngtech.test.java.junit.dataprovider;%0A%0Aimport static org.assertj.core.api.Assertions.assertThat;%0A%0Aimport org.junit.ClassRule;%0Aimport org.junit.Rule;%0Aimport org.junit.Test;%0Aimport org.junit.rules.TestWatcher;%0Aimport org.junit.runner.Description;%0Aimport org.junit.runner.RunWith;%0A%0Aimport com.tngtech.java.junit.dataprovider.DataProviderRunner;%0A%0A@RunWith(DataProviderRunner.class)%0Apublic class RuleAcceptanceTest %7B%0A%0A    public static class SomeTestRule extends TestWatcher %7B%0A        boolean started;%0A%0A        @Override%0A        protected void starting(Description description) %7B%0A            started = true;%0A        %7D%0A%0A        @Override%0A        protected void finished(Description description) %7B%0A            assertThat(started).as(%22Rule was not started, but 'finished' called%22).isTrue();%0A        %7D%0A    %7D%0A%0A    @ClassRule%0A    public static final SomeTestRule classRule = new SomeTestRule();%0A%0A    @Rule%0A    public SomeTestRule rule = new SomeTestRule();%0A%0A    @Test%0A    public void testClassRuleShouldBeStartedBeforeTest() %7B%0A        // Expected:%0A        assertThat(classRule.started).as(%22'@ClassRule' was not started%22).isTrue();%0A    %7D%0A%0A    @Test%0A    public void testRuleShouldBeStartedBeforeTest() %7B%0A        // Expected:%0A        assertThat(rule.started).as(%22'@Rule' was not started%22).isTrue();%0A    %7D%0A%7D%0A

add rules acceptance test for junit4/ (#22)