package org.togglz.junit; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Rule; import org.junit.Test; import org.togglz.core.Feature; import org.togglz.core.context.FeatureContext; public class TogglzRuleWithAnnotationTest { @Rule public TogglzRule togglzRule = TogglzRule.allDisabled(MyFeatures.class); @Test public void featureShouldBeInactiveByDefault() { assertFalse(MyFeatures.ONE.isActive()); assertFalse(MyFeatures.TWO.isActive()); } @Test @WithFeature("ONE") public void featureShouldBeActiveWithAnnotation() { assertTrue(MyFeatures.ONE.isActive()); assertFalse(MyFeatures.TWO.isActive()); } @Test @WithFeature({ "ONE", "TWO" }) public void shouldActivateMultipleFeatures() { assertTrue(MyFeatures.ONE.isActive()); assertTrue(MyFeatures.TWO.isActive()); } private enum MyFeatures implements Feature { ONE, TWO; public boolean isActive() { return FeatureContext.getFeatureManager().isActive(this); } } }