@Test
public void testBuildLineReader02() throws Exception {

    // テスト対象のインスタンス化
    URL url = this.getClass().getResource(
            "AbstractFileLineIterator_buildLineReader01.txt");
    String fileName = url.getPath();
    Map<String, ColumnParser> columnParserMap = new HashMap<String, ColumnParser>();
    columnParserMap.put("java.lang.String", new NullColumnParser());
    AbstractFileLineIteratorImpl03<AbstractFileLineIterator_Stub21> fileLineIterator = new AbstractFileLineIteratorImpl03<AbstractFileLineIterator_Stub21>(
            fileName, AbstractFileLineIterator_Stub21.class,
            columnParserMap);
    // 引数の設定
    // なし
    // 前提条件の設定
    ReflectionTestUtils.setField(fileLineIterator, "enclosed", true);
    ReflectionTestUtils.setField(fileLineIterator, "columnEncloseChar",
            new char[] {});
    // テスト実施
    Method method = AbstractFileLineIterator.class.getDeclaredMethod("buildLineReader");
    method.setAccessible(true);
    method.invoke(fileLineIterator);
    // 返却値の確認
    // なし
    // 状態変化の確認
    Object reader = ReflectionTestUtils.getField(fileLineIterator, "reader");
    assertEquals(BufferedReader.class, reader.getClass());
    Object reader02 = ReflectionTestUtils.getField(fileLineIterator, "lineReader");
    assertEquals(EncloseCharLineFeed1LineReader.class, reader02.getClass());
    assertEquals(',', ReflectionTestUtils.getField(reader02, "delimiterCharacter"));
    assertEquals('\"', ReflectionTestUtils.getField(reader02, "encloseCharacter"));
    assertEquals("\r", ReflectionTestUtils.getField(reader02, "lineFeedChar"));
    assertSame(reader, ReflectionTestUtils.getField(reader02, "reader"));
    assertEquals("AbstractFileLineIterator_buildLineReader01", ((BufferedReader) reader).readLine());
    // 後処理
    ((BufferedReader) reader).close();
}