パッケージ test.myproject.java.utils

クラス CsvIteratorTest

java.lang.Object
test.myproject.java.utils.CsvIteratorTest

public class CsvIteratorTest extends Object
  • コンストラクタの詳細

    • CsvIteratorTest

      public CsvIteratorTest()
  • メソッドの詳細

    • testCsvIterator

      public void testCsvIterator()
      CSVデータを読み込み、CSVの項目を格納したListを1行ずつ返す テストを実行する。
      1. 以下のCSVデータを読み込む
         1,abc,def,あいう,かきく
         2,"abc","def","あいう","かきく"
         3,"abc,xyz","def
         uvw,","あいう,らりる","かきく""
         ""やゆよ,"
         4, "abc", ""def, "あいう", ""かきく
         5,"abc,xyz" ,"def
         uvw," "","あいう,らりゆ" ,"かきく""
         ""やゆよ," ""
           
        • カンマで区切らた文字がCSVの項目となること。
          1,abc,def,あいう,かきく\r\n
          => ['1', 'abc', 'def', 'あいう', 'かきく']
        • カンマで区切られた文字が「"」で始まり「"」で終わる場合は、 CSV項目の値は文字列の前後の「"」が削除されていること。
          2,"abc","def","あいう","かきく"\r\n
          => ['2', 'abc', 'def', 'あいう', 'かきく']
        • 「"」で囲まれた文字列の中に改行、「,」が含まれる場合は、それらを 含め「"」で囲まれた部分がCSV項目の値となること。
          …,"def\r\nuvw,",…
          => […, 'def\r\nuvw,', …]
        • カンマで区切られた文字列が「"」で始まり、「"」で終わる場合で、 その文字列の中に「""」が存在する場合は、「""」は「"」として CSV項目に取り込まれること。
          … ,"かきく""\r\n""やゆよ,"\r\n
          => […, 'かきく"\r\n"やゆよ,']
        • カンマの後ろが「"」以外の文字があり、その後に「"」で囲まれる文字列 があった場合は、「"」も含めてCSV項目に取り込まれること。
          …, "あいう", ""かきく\r\n
          => […, ' "あいう"', ' ""かきく']
        • カンマの後ろが「"」で囲まれているが、後ろの「"」の後に「"」以外の 文字列が存在する場合は、「"」を含めてCSV項目に取り込まれること。
          …,らりゆ" ,…
          => […, 'らりゆ" ', …]
        • カンマの後ろに以下の文字列が続く場合、
          • 「"」で囲まれており、その中に「""」、改行が存在する
          • その後ろが「"」、改行以外の文字である
          • さらにその後に「""」が続いて終わる
          文字列の前後の「"」が削除され、「""」が「"」に痴漢されたものが CSV項目の値となること。
          …,"かきく""\r\n""やゆよ," ""\r\n
          => […, 'かきく"\r\n"やゆよ," "']
    • testCsvIteratorFileReader

      public void testCsvIteratorFileReader()
      testCsvIterator() と同じ内容のCSVをファイルから読み込み、CSVの項 目が正しく主と腐れることをテストする。
    • testCsvIteratorNull

      public void testCsvIteratorNull()
      空(0文字)のデータを読み込むと、Iteratorは何も要素を返さないことを テストする。
    • testCsvIteratorOneChar

      public void testCsvIteratorOneChar()
      1文字で改行なしのデータを読み込むと、要素数1のListが1行 返されることをテストする。
    • testCsvIteratorNullLine

      public void testCsvIteratorNullLine()
      1. 改行のみのデータを読み込むと、要素数1のListが1行返されることを テストする。
      2. 1行のCSV項目数は1つで、値が長さ0の文字列であることをテストする。
    • testCsvIteratorCommaOnly

      public void testCsvIteratorCommaOnly()
      以下のCSVデータを読み込む。
       ,
       
       END(改行なし)
       
      1. 1行目のCSV項目数は2であること。
      2. 1行目の1番目、2番目の項目の値は共に長さ0の文字列であること。
      3. 2行目のCSV項目数は0であること。
      4. 3行目のCSV項目数は1であること。
      5. 3行目の1番目の項目の値は「END」であること。
    • testCsvIteratorIllegal

      public void testCsvIteratorIllegal()
      以下のCSVデータを読み込む。
       "abc","あいう
       (改行なし)
       
      • CSV項目数は2であること。
      • 1番目の項目値は「abc」であること。
      • 2番目の項目値は「\"あいう\n」であること。