Пример #1
0
 def test_select_example1_no_data(self):
     records = example1.select_example1(
         self.conn,
         start=datetime(2017, 12, 31, 0, 0, 0),
         end=datetime(2017, 12, 31, 23, 59, 58))
     # 件数の確認
     self.assertEqual(len(records), 0)
Пример #2
0
 def test_select_example1_order_by_asc(self):
     records = example1.select_example1(self.conn, order=example1.Order.asc)
     # 件数の確認
     self.assertEqual(len(records), 3)
     # データの確認
     self.assertEqual(records[0]['id'], 11)
     self.assertEqual(records[1]['id'], 12)
     self.assertEqual(records[2]['id'], 13)
Пример #3
0
 def test_select_example1_sort_by_id(self):
     records = example1.select_example1(self.conn, sort=example1.Sort.id)
     # 件数の確認
     self.assertEqual(len(records), 3)
     # データの確認
     self.assertEqual(records[0]['id'], 11)
     self.assertEqual(records[1]['id'], 12)
     self.assertEqual(records[2]['id'], 13)
Пример #4
0
 def test_select_example1_start_equal_end(self):
     records = example1.select_example1(self.conn,
                                        start=datetime(2018, 1, 1, 0, 0, 0),
                                        end=datetime(2018, 1, 1, 0, 0, 0))
     # 件数の確認
     self.assertEqual(len(records), 1)
     # データの確認
     self.assertEqual(records[0]['id'], 12)
Пример #5
0
 def test_select_example1_all(self):
     records = example1.select_example1(self.conn)
     expected_ids = [11, 12, 13, 14, 15, 16, 17, 18]
     # 件数の確認
     self.assertEqual(len(records), len(expected_ids))
     # データの確認
     for i, expected_id in enumerate(expected_ids):
         # subTestを使うとFAIL時に条件がわかる(unittestで実行していれば)
         with self.subTest(i=i):
             self.assertEqual(records[i]['id'], expected_id)
Пример #6
0
 def test_select_example1_sort_by_datetime_col(self):
     records = example1.select_example1(self.conn,
                                        sort=example1.Sort.datetime_col)
     # 件数の確認
     self.assertEqual(len(records), 4)
     # データの確認
     self.assertEqual(records[0]['id'], 11)
     self.assertEqual(records[1]['id'], 13)
     self.assertEqual(records[2]['id'], 12)
     self.assertEqual(records[3]['id'], 14)
Пример #7
0
 def test_select_example1_parameterized_start_end2(self, start, end,
                                                   expected):
     records = example1.select_example1(self.conn, start=start, end=end)
     # 件数の確認
     self.assertEqual(
         len(records), len(expected),
         'failed with cond_start={},cond_end={}'.format(start, end))
     # データの確認
     actual = [record['id'] for record in records]
     self.assertListEqual(actual, expected)
Пример #8
0
 def test_select_example1_order_by_desc(self):
     records = example1.select_example1(self.conn,
                                        sort=example1.Sort.datetime_col,
                                        order=example1.Order.desc)
     # 件数の確認
     self.assertEqual(len(records), 4)
     # データの確認
     self.assertEqual(records[0]['id'], 14)
     self.assertEqual(records[1]['id'], 12)
     self.assertEqual(records[2]['id'], 13)
     self.assertEqual(records[3]['id'], 11)
Пример #9
0
 def test_select_example1_start_end(self):
     records = example1.select_example1(self.conn,
                                        start=datetime(2018, 1, 1, 0, 0, 0),
                                        end=datetime(2018, 1, 2, 0, 0, 0))
     # 件数の確認
     self.assertEqual(len(records), 5)
     # データの確認
     self.assertEqual(records[0]['id'], 12)
     self.assertEqual(records[1]['id'], 13)
     self.assertEqual(records[2]['id'], 14)
     self.assertEqual(records[3]['id'], 15)
     self.assertEqual(records[4]['id'], 16)
Пример #10
0
    def test_select_example1_sort_parameterized(self, _, cond_file, cond_sort,
                                                expected_ids):
        # データ初期化
        csv_to_db.load(self.conn, example1=cond_file)
        self.conn.commit()

        records = example1.select_example1(self.conn, sort=cond_sort)
        # 件数の確認
        self.assertEqual(len(records), len(expected_ids))
        # データの確認
        for i, expected_id in enumerate(expected_ids):
            self.assertEqual(
                records[i]['id'], expected_id,
                'failed with cond_file={},cond_sort={},i={}'.format(
                    cond_file, cond_sort, i))
Пример #11
0
    def test_select_example1_sort_subtest(self):
        # test name
        # data: example1のデータ(csvファイル)
        # arg: sort
        # return: idのみのリスト
        Fixture2 = namedtuple('Fixture2',
                              ('name', 'example1_file', 'sort', 'expected'))

        fixtures = [
            # id(昇順)
            Fixture2(
                name="id",
                example1_file=
                'tests/data/test_example1/example1_test_select_example1_sort_by_id.csv',
                sort=example1.Sort.id,
                expected=[11, 12, 13]),
            # datatime_col(昇順)
            Fixture2(
                name="datatime_col",
                example1_file=
                'tests/data/test_example1/example1_test_select_example1_sort_by_datetime_col.csv',
                sort=example1.Sort.datetime_col,
                expected=[11, 13, 12, 14]),
        ]

        for fixture in fixtures:
            with self.subTest(fixture=fixture):
                # データ初期化
                csv_to_db.load(self.conn, example1=fixture.example1_file)
                self.conn.commit()

                records = example1.select_example1(self.conn,
                                                   sort=fixture.sort)
                # 件数の確認
                self.assertEqual(len(records), len(fixture.expected))
                # データの確認
                actual = [record['id'] for record in records]
                self.assertListEqual(actual, fixture.expected)