ModuleDeps extends LinkedHashMap<String, ModuleDepInfo> implements Serializable { public Set<String> getModuleIds() { return getModuleIds(null); } ModuleDeps();  ModuleDeps(ModuleDeps other); boolean add(String key, ModuleDepInfo info); boolean addAll(ModuleDeps other); boolean containsDep(String moduleName, BooleanTerm term); ModuleDeps andWith(ModuleDepInfo info); boolean subtract(String key, ModuleDepInfo subInfo); boolean subtractAll(ModuleDeps toSub); Set<String> getModuleIds(); Set<String> getModuleIds(Map<?, ?> formulaCache); Map<String, String> getModuleIdsWithComments(); ModuleDeps resolveWith(Features features); ModuleDeps resolveWith(Features features, boolean coerceUndefinedToFalse); ModuleDeps simplify(Map<?, ?> formulaCache); @Override ModuleDepInfo put(String key, ModuleDepInfo value); @Override void putAll(Map<? extends String, ? extends ModuleDepInfo> map);  }
@Test public void testGetModuleIds() { ModuleDeps deps = new ModuleDeps(); deps.add("module1", new ModuleDepInfo("has", new BooleanTerm("A"), null)); deps.add("module2", new ModuleDepInfo("has", new BooleanTerm("B"), null)); deps.add("module2", new ModuleDepInfo("has", new BooleanTerm("C"), null)); deps.add("module3", new ModuleDepInfo(null, BooleanTerm.TRUE, null)); deps.add("module4", new ModuleDepInfo("has", BooleanTerm.FALSE, null)); Assert.assertEquals( new HashSet<String>(Arrays.asList(new String[]{ "has!A?module1", "has!B?module2", "has!C?module2", "module3" })), deps.getModuleIds() ); }