package de.vksi.c4j.systemtest.pure; import org.junit.Rule; import org.junit.Test; import de.vksi.c4j.Pure; import de.vksi.c4j.systemtest.TransformerAwareRule; public class AbstractOrStaticMethodSystemTest { @Rule public TransformerAwareRule transformerAwareRule = new TransformerAwareRule(); @Test public void testUnpureAbstractMethod() { new TargetClass().unpureMethod(); } @Test public void testPureAbstractMethod() { new TargetClass().pureMethod(); } private static class TargetClass extends AbstractClass { @Override public void unpureMethod() { } @Override public void pureMethod() { } } public abstract static class AbstractClass { public abstract void unpureMethod(); @Pure public abstract void pureMethod(); } }