AttributeRegistry { public static Map<String, String> getAttributeClassNameByAttributeName() { return ATTRIBUTE_CLASS_NAME_BY_ATTR_NAME; }  static void register(final String... attrNames); static List<String> getAttributeNames(); static List<String> getBooleanAttributeNames(); static Integer getIndexByAttributeName(final String attributeName); static Map<String, String> getAttributeClassNameByAttributeName(); static void loadAllAttributeClasses(); static AbstractAttribute getNewAttributeInstance(
            final String attributeName); static AbstractAttribute getNewAttributeInstance(
            final String attributeName, final String attributeValue); static AbstractAttribute getNewAttributeInstanceOrNullIfFailed(
            final String attributeName, final String attributeValue); static AbstractAttribute getNewAttributeInstanceOrNullIfFailed(
            final int attributeNameIndex, final String attributeValue);  }
@Test public void testIfAllAttributeNamesAreReffered() throws Exception { final Field[] fields = AttributeNameConstants.class.getFields(); for (final Field field : fields) { final String constantName = field.get(null).toString(); final String simpleClassName = AttributeRegistry .getAttributeClassNameByAttributeName().get(constantName); System.out.println(simpleClassName); if (simpleClassName == null) { fail(constantName + " attribute name is not included in all tag names map"); } else if (!simpleClassName.replace("Attribute", "") .equalsIgnoreCase(constantName.replace("-", ""))) { fail(constantName + " attribute has an incorrect class mapping"); } } }