@Test
public void testNext03() throws Exception {

    // テスト対象のインスタンス化
    URL url = this.getClass().getResource("PlainFileLineIterator03.txt");
    String fileName = url.getPath();
    Class<PlainFileLineIterator_Stub03> clazz = PlainFileLineIterator_Stub03.class;
    Map<String, ColumnParser> columnParserMap = new HashMap<String, ColumnParser>();
    columnParserMap.put("java.lang.String", new NullColumnParser());
    PlainFileLineIterator plainFileLineIterator = Mockito.spy(
            new PlainFileLineIterator(fileName, clazz, columnParserMap));
    // 引数の設定
    // なし
    // 前提条件の設定
    ReflectionTestUtils.setField(plainFileLineIterator, "readTrailer",
            true);
    // テスト実施
    try {
        plainFileLineIterator.next();
        fail("FileLineExceptionがスローされませんでした");
    } catch (FileLineException e) {
        // 返却値の確認
        // なし
        assertSame(FileLineException.class, e.getClass());
        assertEquals("Data part should be called before trailer part.", e
                .getMessage());
        assertSame(IllegalStateException.class, e.getCause().getClass());
        assertEquals(fileName, e.getFileName());
        assertEquals(0, e.getLineNo());
        // 状態変化の確認
        Mockito.verify(plainFileLineIterator, Mockito.never()).readLine();
        assertEquals(0, ReflectionTestUtils.getField(plainFileLineIterator,
                "currentLineCount"));
    }
}