### Question:
DocGeneratorUtil { public static String computeConfigRootDocFileName(String configRootClassName, String rootName) { String sanitizedClassName; final Matcher matcher = Constants.PKG_PATTERN.matcher(configRootClassName); if (!matcher.find()) { sanitizedClassName = rootName + Constants.DASH + hyphenate(configRootClassName); } else { String deployment = Constants.DOT + Constants.DEPLOYMENT + Constants.DOT; String runtime = Constants.DOT + Constants.RUNTIME + Constants.DOT; if (configRootClassName.contains(deployment)) { sanitizedClassName = configRootClassName .substring(configRootClassName.indexOf(deployment) + deployment.length()); } else if (configRootClassName.contains(runtime)) { sanitizedClassName = configRootClassName.substring(configRootClassName.indexOf(runtime) + runtime.length()); } else { sanitizedClassName = configRootClassName.replaceFirst("io.quarkus.", ""); } sanitizedClassName = rootName + Constants.DASH + sanitizedClassName; } return hyphenate(sanitizedClassName) .replaceAll("[\\.-]+", Constants.DASH) + Constants.ADOC_EXTENSION; }  static String computeExtensionDocFileName(String configRoot); static String computeExtensionGeneralConfigDocFileName(String configRoot); static String computeConfigGroupDocFileName(String configGroupClassName); static String computeConfigRootDocFileName(String configRootClassName, String rootName); static void appendConfigItemsIntoExistingOnes(List<ConfigDocItem> existingConfigItems,
            List<ConfigDocItem> configDocItems); static void sort(List<ConfigDocItem> configDocItems); static final String LEVEL_HACK_URL; }### Answer:
@Test public void shouldUseHyphenatedClassNameWithEverythingBeforeRuntimeOrDeploymentNamespaceReplacedByConfigRootNameWhenComputingConfigRootFileName() { String configRoot = "ClassName"; String expected = "root-name-class-name.adoc"; String fileName = computeConfigRootDocFileName(configRoot, "root-name"); assertEquals(expected, fileName); configRoot = "io.quarkus.agroal.runtime.ClassName"; expected = "quarkus-datasource-class-name.adoc"; fileName = computeConfigRootDocFileName(configRoot, "quarkus-datasource"); assertEquals(expected, fileName); configRoot = "io.quarkus.keycloak.deployment.RealmConfig"; expected = "quarkus-keycloak-realm-config.adoc"; fileName = computeConfigRootDocFileName(configRoot, "quarkus-keycloak"); assertEquals(expected, fileName); configRoot = "io.quarkus.extension.deployment.BuildTimeConfig"; expected = "quarkus-root-10-build-time-config.adoc"; fileName = computeConfigRootDocFileName(configRoot, "quarkus-root-10"); assertEquals(expected, fileName); configRoot = "io.quarkus.extension.deployment.name.BuildTimeConfig"; expected = "quarkus-config-root-name-build-time-config.adoc"; fileName = computeConfigRootDocFileName(configRoot, "quarkus-config-root"); assertEquals(expected, fileName); }