### Question:
ClassNames { public static ClassName newEntityMetamodelClassNameBuilder( CharSequence entityClassName, String metamodelPrefix, String metamodelSuffix) { assertNotNull(entityClassName, metamodelPrefix, metamodelSuffix); return new MetamodelClassNameBuilder(entityClassName, metamodelPrefix, metamodelSuffix).build(); }  static String normalizeBinaryName(CharSequence binaryName); static ClassName newEntityTypeClassName(CharSequence entityClassName); static ClassName newEmbeddableTypeClassName(CharSequence embeddedClassName); static ClassName newDomainTypeClassName(CharSequence domainClassName); static ClassName newExternalDomainTypeClassName(CharSequence externalDomainClassName); static ClassName newEntityMetamodelClassNameBuilder(
      CharSequence entityClassName, String metamodelPrefix, String metamodelSuffix);  }### Answer:
@Test void newEntityDefClassNameBuilder() { ClassName className = ClassNames.newEntityMetamodelClassNameBuilder(getClass().getName(), "P", "S"); assertEquals("org.seasar.doma.internal.PClassNamesTestS", className.toString()); }
@Test void newEntityDefClassNameBuilder_withDefaultValues() { ClassName className = ClassNames.newEntityMetamodelClassNameBuilder(getClass().getName(), "", "_"); assertEquals("org.seasar.doma.internal.ClassNamesTest_", className.toString()); }