Created
May 1, 2018 08:05
-
-
Save pypeach/53bbffc5d0036817d67f121f9a7a604d to your computer and use it in GitHub Desktop.
CSV読み込みテスト
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding:utf-8 | |
import unittest | |
from app.read_csv_file import ReadCsvFile | |
from sql import fruit | |
from test.unit_test_base import UnitTestBase | |
""" | |
CSVファイル読み込みを行うサンプルアプリケーションのテストです | |
""" | |
__author__ = "t.ebinuma" | |
__version__ = "1.0" | |
__date__ = "28 April 2018" | |
class ReadCsvFileTest(UnitTestBase): | |
def test_read_csv_file_001(self): | |
""" | |
SJISファイルの読み込み結果を検証するテストケースです | |
""" | |
# テーブルのレコードをクリアする | |
self.cleanup_table("fruit") | |
# ファイルが存在することをチェックする | |
self.assert_file_exists(ReadCsvFile().sjis_csv_file) | |
# 0バイトファイルでないことをチェックする | |
self.assert_file_not_empty(ReadCsvFile().sjis_csv_file) | |
# ファイルを読み込みテーブルに登録する | |
ReadCsvFile().read_shift_csv_file(ReadCsvFile().sjis_csv_file) | |
# テーブル登録結果を検証する | |
self.assertEqual(len(fruit.select([])), 2) | |
def test_read_csv_file_002(self): | |
""" | |
UTF-8ファイルの読み込み結果を検証するテストケースです | |
""" | |
# テーブルのレコードをクリアする | |
self.cleanup_table("fruit") | |
# ファイルが存在することをチェックする | |
self.assert_file_exists(ReadCsvFile().utf8_csv_file) | |
# 0バイトファイルでないことをチェックする | |
self.assert_file_not_empty(ReadCsvFile().utf8_csv_file) | |
# ファイルを読み込みテーブルに登録する | |
ReadCsvFile().read_csv_file(ReadCsvFile().utf8_csv_file) | |
# テーブル登録結果を検証する | |
self.assertEqual(len(fruit.select([])), 3) | |
def test_read_csv_file_003(self): | |
""" | |
UTF-8(BOM有)ファイルの読み込み結果を検証するテストケースです | |
""" | |
# テーブルのレコードをクリアする | |
self.cleanup_table("fruit") | |
# ファイルが存在することをチェックする | |
self.assert_file_exists(ReadCsvFile().utf8_bom_csv_file) | |
# 0バイトファイルでないことをチェックする | |
self.assert_file_not_empty(ReadCsvFile().utf8_bom_csv_file) | |
# ファイルを読み込みテーブルに登録する | |
ReadCsvFile().read_csv_file(ReadCsvFile().utf8_bom_csv_file) | |
# テーブル登録結果を検証する | |
self.assertEqual(len(fruit.select([])), 2) | |
def test_read_csv_file_004(self): | |
""" | |
ファイルの読み込み(異常系)を検証するテストケースです | |
存在しないファイルを指定した場合はメッセージを出力して終了する | |
""" | |
# ログファイルをクリアする | |
self.cleanup_log_file() | |
# テーブルのレコードをクリアする | |
self.cleanup_table("fruit") | |
# ファイルパスを作成する | |
csv_file_path = self.get_data_file_path('read_utf8_file2.csv') | |
# ファイルが存在しないことをチェックする | |
self.assert_file_not_exists(csv_file_path) | |
# ファイルを読み込みテーブルに登録する | |
ReadCsvFile().read_csv_file(csv_file_path) | |
# テーブル登録結果を検証する | |
self.assertEqual(len(fruit.select([])), 0) | |
def test_read_csv_file_005(self): | |
""" | |
ファイルの読み込み(異常系)を検証するテストケースです | |
0バイトファイルを指定した場合はメッセージを出力して終了する | |
""" | |
# ログファイルをクリアする | |
self.cleanup_log_file() | |
# テーブルのレコードをクリアする | |
self.cleanup_table("fruit") | |
# ファイルパスを作成する | |
csv_file_path = self.get_data_file_path('read_utf8_file_005.csv') | |
# ファイルが存在することをチェックする | |
self.assert_file_exists(csv_file_path) | |
# 0バイトファイルであることをチェックする | |
self.assert_file_empty(csv_file_path) | |
# ファイルを読み込みテーブルに登録する | |
ReadCsvFile().read_csv_file(csv_file_path) | |
# テーブル登録結果を検証する | |
self.assertEqual(len(fruit.select([])), 0) | |
if __name__ == '__main__': | |
unittest.main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment