@Test
public void testBuildFields09() throws Exception {

    // テスト対象のインスタンス化
    URL url = this.getClass().getResource(
            "AbstractFileLineIterator_bulidFields01.txt");
    String fileName = url.getPath();
    Map<String, ColumnParser> columnParserMap = new HashMap<String, ColumnParser>();
    columnParserMap.put("java.lang.String", new NullColumnParser());
    AbstractFileLineIteratorImpl02<AbstractFileLineIterator_Stub38> fileLineIterator = new AbstractFileLineIteratorImpl02<AbstractFileLineIterator_Stub38>(
            fileName, AbstractFileLineIterator_Stub38.class,
            columnParserMap);
    // 引数の設定
    // なし
    // 前提条件の設定
    ReflectionTestUtils.setField(fileLineIterator, "fields", null);
    // テスト実施
    try {
        Method method = AbstractFileLineIterator.class.getDeclaredMethod("buildFields");
        method.setAccessible(true);
        method.invoke(fileLineIterator);
        fail("FileExceptionが発生していません。");
    } catch (InvocationTargetException e) {
        // 例外の確認
        assertTrue(IllegalStateException.class.isAssignableFrom(e.getTargetException()
                .getCause().getClass()));
        assertEquals("Column Index in FileLineObject is bigger than the "
                + "total number of the field.", e.getTargetException().getMessage());
        assertEquals(fileName, ((FileException)e.getTargetException()).getFileName());
        // 状態変化の確認
        Object result_fields = ReflectionTestUtils.getField(fileLineIterator,
                "fields");
        assertNull(result_fields);
    }
}