### Question:
BrooklynFeatureEnablement { public static boolean isEnabled(String property) { synchronized (MUTEX) { if (!FEATURE_ENABLEMENTS.containsKey(property)) { String rawVal = System.getProperty(property); boolean val = Boolean.parseBoolean(rawVal); FEATURE_ENABLEMENTS.put(property, val); } return FEATURE_ENABLEMENTS.get(property); } }  static void init(BrooklynProperties props); static boolean isEnabled(String property); static boolean enable(String property); static boolean disable(String property); static boolean setEnablement(String property, boolean val); static void setDefault(String property, boolean val); static final String FEATURE_PROPERTY_PREFIX; static final String FEATURE_POLICY_PERSISTENCE_PROPERTY; static final String FEATURE_ENRICHER_PERSISTENCE_PROPERTY; static final String FEATURE_FEED_PERSISTENCE_PROPERTY; static final String FEATURE_FEED_REGISTRATION_PROPERTY; static final String FEATURE_CATALOG_PERSISTENCE_PROPERTY; static final String FEATURE_DEFAULT_STANDBY_IS_HOT_PROPERTY; static final String FEATURE_USE_BROOKLYN_LIVE_OBJECTS_DATAGRID_STORAGE; static final String FEATURE_RENAME_THREADS; static final String FEATURE_BACKWARDS_COMPATIBILITY_INFER_CATALOG_ITEM_ON_REBIND; static final String FEATURE_AUTO_FIX_CATALOG_REF_ON_REBIND; static final String FEATURE_SSH_ASYNC_EXEC; static final String FEATURE_VALIDATE_LOCATION_SSH_KEYS; }### Answer:
@Test public void testDefaultIsNotEnabled() throws Exception { assertFalse(BrooklynFeatureEnablement.isEnabled("feature.not.referenced.anywhere")); }
@Test public void testReadsEnablementFromProperties() throws Exception { String featureProperty = "brooklyn.experimental.feature.testReadsEnablementFromProperties"; System.setProperty(featureProperty, "true"); try { assertTrue(BrooklynFeatureEnablement.isEnabled(featureProperty)); } finally { System.clearProperty(featureProperty); } }