JdbcTypeNameMap { public String getTypeName(JdbcType jdbcType) { Integer targetScore = null; JdbcTypeName targetJdbcTypeName = null; for (JdbcTypeName jdbcTypeName : getJdbcTypeNames()) { int score = jdbcTypeName.getScore(jdbcType); if (score >= 0 && (targetScore == null || score <= targetScore)) { targetScore = score; targetJdbcTypeName = jdbcTypeName; } if (score == 0) { break; } } return targetJdbcTypeName != null ? targetJdbcTypeName.getTypeName(jdbcType) : null; }  void addJdbcTypeName(int typeCode, String typeName); void addJdbcTypeName(JdbcTypeDesc jdbcTypeDesc, String typeName); void addJdbcTypeName(JdbcTypeDesc jdbcTypeDesc, String typeName, int priority); void addJdbcTypeName(int typeCode, JdbcTypeOptions jdbcTypeOptions, String typeName); void addJdbcTypeName(JdbcTypeDesc jdbcTypeDesc, JdbcTypeOptions jdbcTypeOptions, String typeName); void addJdbcTypeName(JdbcType jdbcType, String typeName); void addJdbcTypeName(JdbcTypeName jdbcTypeName); void addJdbcTypeName(JdbcTypeName jdbcTypeName, int priority); String getTypeName(JdbcType jdbcType); String getTypeName(JdbcTypeDesc jdbcTypeDesc, JdbcTypeOptions jdbcTypeOptions); void removeJdbcTypeName(int typeCode); void removeJdbcTypeName(JdbcTypeDesc jdbcTypeDesc); void removeJdbcTypeName(JdbcTypeDesc jdbcTypeDesc, JdbcTypeOptions jdbcTypeOptions); void removeJdbcTypeName(final JdbcType jdbcType); void removeJdbcTypeName(JdbcTypeName jdbcTypeName); Collection<JdbcTypeName> getJdbcTypeNames(); void setJdbcTypeNames(Collection<JdbcTypeName> jdbcTypeNames);  }
@Test(dataProvider = "getTypeName") public void testGetTypeName(JdbcTypeValue type, JdbcTypeOptions specifiers, String typeName) { assertEquals(jdbcTypeNameMap.getTypeName(type.getJdbcTypeDesc(), specifiers), typeName); }