### Question:
ScriptBasedMappingWithDependency extends ScriptBasedMapping implements DNSToSwitchMappingWithDependency { @Override public List<String> getDependency(String name) { name = NetUtils.normalizeHostName(name); if (name==null) { return Collections.emptyList(); } List<String> dependencies = dependencyCache.get(name); if (dependencies == null) { dependencies = getRawMapping().getDependency(name); if(dependencies != null) { dependencyCache.put(name, dependencies); } } return dependencies; } ScriptBasedMappingWithDependency(); @Override String toString(); @Override void setConf(Configuration conf); @Override List<String> getDependency(String name);  }### Answer:
@Test public void testNoArgsMeansNoResult() { Configuration conf = new Configuration(); conf.setInt(ScriptBasedMapping.SCRIPT_ARG_COUNT_KEY, ScriptBasedMapping.MIN_ALLOWABLE_ARGS - 1); conf.set(ScriptBasedMapping.SCRIPT_FILENAME_KEY, "any-filename-1"); conf.set(ScriptBasedMappingWithDependency.DEPENDENCY_SCRIPT_FILENAME_KEY, "any-filename-2"); conf.setInt(ScriptBasedMapping.SCRIPT_ARG_COUNT_KEY, 10); ScriptBasedMappingWithDependency mapping = createMapping(conf); List<String> names = new ArrayList<String>(); names.add("some.machine.name"); names.add("other.machine.name"); List<String> result = mapping.resolve(names); assertNull("Expected an empty list for resolve", result); result = mapping.getDependency("some.machine.name"); assertNull("Expected an empty list for getDependency", result); }