@Test
public void testResolve_ClientConfigFiles() {

  List<ClientConfigFileDefinition> clientConfigs = new ArrayList<ClientConfigFileDefinition>();
  ClientConfigFileDefinition clientConfig1 = new ClientConfigFileDefinition();
  clientConfig1.setType("type1");
  clientConfig1.setDictionaryName("dictName1");
  clientConfig1.setFileName("filename1");
  ClientConfigFileDefinition clientConfig2 = new ClientConfigFileDefinition();
  clientConfig1.setType("type1");
  clientConfig1.setDictionaryName("dictName1");
  clientConfig1.setFileName("filename1");
  clientConfigs.add(clientConfig1);
  clientConfigs.add(clientConfig2);
  ComponentInfo info = new ComponentInfo();
  ComponentInfo parentInfo = new ComponentInfo();
  // parent has value set, child value is null
  parentInfo.setClientConfigFiles(clientConfigs);
  assertEquals(clientConfigs, resolveComponent(info, parentInfo).getModuleInfo().getClientConfigFiles());
  // child has value set, parent value is null
  info.setClientConfigFiles(clientConfigs);
  parentInfo.setClientConfigFiles(null);
  assertEquals(clientConfigs, resolveComponent(info, parentInfo).getModuleInfo().getClientConfigFiles());
  // value set in both parent and child; child overwrites with no merge
  List<ClientConfigFileDefinition> clientConfigs2 = new ArrayList<ClientConfigFileDefinition>();
  ClientConfigFileDefinition clientConfig3 = new ClientConfigFileDefinition();
  clientConfig3.setType("type1");
  clientConfig3.setDictionaryName("dictName1");
  clientConfig3.setFileName("DIFFERENT filename");
  clientConfigs2.add(clientConfig3);
  info.setClientConfigFiles(clientConfigs2);
  parentInfo.setClientConfigFiles(clientConfigs);
  assertEquals(clientConfigs2, resolveComponent(info, parentInfo).getModuleInfo().getClientConfigFiles());
}