*/
FileBasedStateRepository repo = new FileBasedStateRepository(file);
// FEATURE1: enabled, strategy set by migration code, one property containing user list
FeatureState state1 = repo.getFeatureState(MyFeature.FEATURE1);
assertEquals(true, state1.isEnabled());
assertEquals(UsernameActivationStrategy.ID, state1.getStrategyId());
assertEquals(1, state1.getParameterNames().size());
assertEquals("chkal,tester", state1.getParameter(UsernameActivationStrategy.PARAM_USERS));
// FEATURE2: disabled, no strategy, no parameters
FeatureState state2 = repo.getFeatureState(MyFeature.FEATURE2);
assertEquals(false, state2.isEnabled());
assertEquals(null, state2.getStrategyId());
assertEquals(0, state2.getParameterNames().size());
// FEATURE3: enabled, no strategy, no parameters
FeatureState state3 = repo.getFeatureState(MyFeature.FEATURE3);
assertEquals(true, state3.isEnabled());
assertEquals(null, state2.getStrategyId());
assertEquals(0, state3.getParameterNames().size());
FeatureState state4 = repo.getFeatureState(MyFeature.FEATURE4);
assertNull(state4);
/*
* Now change one feature and check the new format is persisted
*/