@Test
public void testMerge_Configuration__ExcludedTypes() throws Exception {

  // child
  ServiceInfo info = new ServiceInfo();
  Set<String> childExcludedConfigTypes = new HashSet<String>();
  childExcludedConfigTypes.add("FOO");
  info.setExcludedConfigTypes(childExcludedConfigTypes);
  //FOO
  Collection<PropertyInfo> fooProperties = new ArrayList<PropertyInfo>();
  ConfigurationModule childConfigModule = createConfigurationModule("FOO", fooProperties);
  Collection<ConfigurationModule> childConfigModules = new ArrayList<ConfigurationModule>();
  childConfigModules.add(childConfigModule);
  // parent
  ServiceInfo parentInfo = new ServiceInfo();
  Set<String> parentExcludedConfigTypes = new HashSet<String>();
  childExcludedConfigTypes.add("BAR");
  info.setExcludedConfigTypes(childExcludedConfigTypes);
  parentInfo.setExcludedConfigTypes(parentExcludedConfigTypes);
  //BAR
  Collection<PropertyInfo> barProperties = new ArrayList<PropertyInfo>();
  ConfigurationModule parentConfigModule = createConfigurationModule("BAR", barProperties);
  Collection<ConfigurationModule> parentConfigModules = new ArrayList<ConfigurationModule>();
  parentConfigModules.add(parentConfigModule);
  // create service modules
  ServiceModule service = createServiceModule(info, childConfigModules);
  ServiceModule parentService = createServiceModule(parentInfo, parentConfigModules);
  // resolve child with parent
  resolveService(service, parentService);
  //resolveService(service, parentService);
  assertEquals(2, service.getModuleInfo().getExcludedConfigTypes().size());
}