@Test
public void testBuildFields10() throws Exception {

    // 前処理(試験対象)
    String fileName = "fileName";
    Class<AbstractFileLineWriter_Stub17> clazz = AbstractFileLineWriter_Stub17.class;
    Map<String, ColumnFormatter> columnFormatterMap = new HashMap<String, ColumnFormatter>();
    columnFormatterMap.put("int", new IntColumnFormatter());
    columnFormatterMap.put("java.lang.String", new NullColumnFormatter());
    AbstractFileLineWriter<AbstractFileLineWriter_Stub17> fileLineWriter = new AbstractFileLineWriterImpl01<AbstractFileLineWriter_Stub17>(fileName, clazz, columnFormatterMap);
    // 前処理(フィールド)
    ReflectionTestUtils.setField(fileLineWriter, "fields", null);
    // テスト実施
    try {
        Method method = AbstractFileLineWriter.class.getDeclaredMethod(
                "buildFields");
        method.setAccessible(true);
        method.invoke(fileLineWriter);
        fail("FileExceptionが発生しませんでした。");
    } catch (InvocationTargetException e) {
        // 判定(例外)
        assertTrue(IllegalStateException.class.isAssignableFrom(e
                .getTargetException().getCause().getClass()));
        assertEquals("Column Index in FileLineObject is the minus number.",
                e.getTargetException().getMessage());
        assertEquals(fileName, ((FileException) e.getTargetException())
                .getFileName());
        // 判定(状態変化、フィールド)
        Field[] resultFields = (Field[]) ReflectionTestUtils.getField(
                fileLineWriter, "fields");
        assertNull(resultFields);
    }
}