### Question:
DefaultScopePathGenerator implements ScopePathGenerator { @Override public String buildScopeWithProperty(final String scopeName, final Map<String, String> properties) { final StringBuilder sb = new StringBuilder(); sb.append(scopeName); for (final Entry<String, String> entry : properties.entrySet()) { sb.append(scopeSeparator); sb.append(entry.getKey()); sb.append(PATH_PROPERTY_SEPARATOR); sb.append(entry.getValue()); } return sb.toString(); } DefaultScopePathGenerator(final String scopeSeparator); @Override String createName(final ScopePath scopePath); @Override String getPathFromScopePath(final ScopePath scopePath); @Override String buildScopeWithProperty(final String scopeName, final Map<String, String> properties); @Override Collection<ScopePath> createScopePaths(
		final Collection<String> paths,
		final String scopeName,
		final Map<String, String> properties); static final String PATH_PROPERTY_SEPARATOR; }### Answer:
@Test public void testBuildScopeWithProperty() { final Map<String, String> map = new TreeMap<String, String>(); map.put("key", "value"); final String result = gen.buildScopeWithProperty("test", map); Assert.assertTrue(result.equals("test" + File.separator + "key" + DefaultScopePathGenerator.PATH_PROPERTY_SEPARATOR + "value")); }