@Test
public void testResolve_OsSpecifics() throws Exception {

  Map<String, ServiceOsSpecific> osSpecifics = new HashMap<String, ServiceOsSpecific>();
  osSpecifics.put("foo", new ServiceOsSpecific());
  // specified in child only
  ServiceInfo info = new ServiceInfo();
  ServiceInfo parentInfo = new ServiceInfo();
  info.setOsSpecifics(osSpecifics);
  ServiceModule service = resolveService(info, parentInfo);
  assertEquals(osSpecifics, service.getModuleInfo().getOsSpecifics());
  // specified in parent only
  info.setOsSpecifics(null);
  parentInfo.setOsSpecifics(osSpecifics);
  service = resolveService(info, parentInfo);
  assertEquals(osSpecifics, service.getModuleInfo().getOsSpecifics());
  // specified in both
  Map<String, ServiceOsSpecific> osSpecifics2 = new HashMap<String, ServiceOsSpecific>();
  osSpecifics.put("bar", new ServiceOsSpecific());
  info.setOsSpecifics(osSpecifics);
  parentInfo.setOsSpecifics(osSpecifics2);
  service = resolveService(info, parentInfo);
  assertEquals(osSpecifics, service.getModuleInfo().getOsSpecifics());
}