@SuppressWarnings("rawtypes")
@Test
public void testBuildStringConverters05() throws Exception {

    // 前処理(試験対象)
    String fileName = "fileName";
    Class<AbstractFileLineWriter_Stub23> clazz = AbstractFileLineWriter_Stub23.class;
    Map<String, ColumnFormatter> columnFormatterMap = new HashMap<String, ColumnFormatter>();
    columnFormatterMap.put("int", new IntColumnFormatter());
    columnFormatterMap.put("java.lang.String", new NullColumnFormatter());
    AbstractFileLineWriter<AbstractFileLineWriter_Stub23> fileLineWriter = new AbstractFileLineWriterImpl01<AbstractFileLineWriter_Stub23>(fileName, clazz, columnFormatterMap);
    Method method = AbstractFileLineWriter.class.getDeclaredMethod(
            "buildFields");
    method.setAccessible(true);
    method.invoke(fileLineWriter);
    // 前処理(フィールド)
    Map<Class, StringConverter> preStringConverterCacheMap = new HashMap<Class, StringConverter>();
    Field field = AbstractFileLineWriter.class.getDeclaredField(
            "stringConverterCacheMap");
    field.setAccessible(true);
    field.set(AbstractFileLineWriter.class, preStringConverterCacheMap);
    try {
        // テスト実施
        method = AbstractFileLineWriter.class.getDeclaredMethod(
                "buildStringConverters");
        method.setAccessible(true);
        method.invoke(fileLineWriter);
        fail("FileLineExceptionが発生しませんでした。");
    } catch (InvocationTargetException e) {
        // 判定(例外)
        assertTrue(FileLineException.class.isAssignableFrom(e
                .getTargetException().getClass()));
        assertEquals("Failed in an instantiate of a stringConverter.", e
                .getTargetException().getMessage());
        assertTrue(InstantiationException.class.isAssignableFrom(e
                .getTargetException().getCause().getClass()));
        assertEquals(fileName, ((FileLineException) e.getTargetException())
                .getFileName());
        assertEquals(-1, ((FileLineException) e.getTargetException())
                .getLineNo());
        assertEquals("column1", ((FileLineException) e.getTargetException())
                .getColumnName());
        assertEquals(0, ((FileLineException) e.getTargetException())
                .getColumnIndex());
    } finally {
        field = AbstractFileLineWriter.class.getDeclaredField(
                "stringConverterCacheMap");
        field.setAccessible(true);
        field.set(AbstractFileLineWriter.class,
                new HashMap<Class, StringConverter>());
    }
}