From 4e75dfea608e736f69cd410b2e9bdf94ee43b215 Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Sun, 17 Feb 2019 19:00:34 +0000 Subject: [PATCH 1/2] Parmeterize test cases --- pandas/tests/io/test_sql.py | 50 +++++++++++++------------------------ 1 file changed, 17 insertions(+), 33 deletions(-) diff --git a/pandas/tests/io/test_sql.py b/pandas/tests/io/test_sql.py index 9d0bce3b342b4..a0bf32f69f5db 100644 --- a/pandas/tests/io/test_sql.py +++ b/pandas/tests/io/test_sql.py @@ -704,45 +704,29 @@ def test_complex(self): # Complex data type should raise error pytest.raises(ValueError, df.to_sql, 'test_complex', self.conn) - def test_to_sql_index_label(self): - temp_frame = DataFrame({'col1': range(4)}) - + @pytest.mark.parametrize("index_name,if_exists,index_label,expected", [ # no index name, defaults to 'index' - sql.to_sql(temp_frame, 'test_index_label', self.conn) - frame = sql.read_sql_query('SELECT * FROM test_index_label', self.conn) - assert frame.columns[0] == 'index' - + (None, "fail", None, "index"), # specifying index_label - sql.to_sql(temp_frame, 'test_index_label', self.conn, - if_exists='replace', index_label='other_label') - frame = sql.read_sql_query('SELECT * FROM test_index_label', self.conn) - assert frame.columns[0] == "other_label" - + (None, "replace", "other_label", "other_label"), # using the index name - temp_frame.index.name = 'index_name' - sql.to_sql(temp_frame, 'test_index_label', self.conn, - if_exists='replace') - frame = sql.read_sql_query('SELECT * FROM test_index_label', self.conn) - assert frame.columns[0] == "index_name" - + ("index_name", "replace", None, "index_name"), # has index name, but specifying index_label - sql.to_sql(temp_frame, 'test_index_label', self.conn, - if_exists='replace', index_label='other_label') - frame = sql.read_sql_query('SELECT * FROM test_index_label', self.conn) - assert frame.columns[0] == "other_label" - + ("index_name", "replace", "other_label", "other_label"), # index name is integer - temp_frame.index.name = 0 - sql.to_sql(temp_frame, 'test_index_label', self.conn, - if_exists='replace') - frame = sql.read_sql_query('SELECT * FROM test_index_label', self.conn) - assert frame.columns[0] == "0" - - temp_frame.index.name = None + (0, "replace", None, "0"), + # index name is None but index label is integer + (None, "replace", 0, "0"), + ]) + def test_to_sql_index_label(self, index_name, if_exists, + index_label, expected): + temp_frame = DataFrame({'col1': range(4)}) + temp_frame.index.name = index_name + query = 'SELECT * FROM test_index_label' sql.to_sql(temp_frame, 'test_index_label', self.conn, - if_exists='replace', index_label=0) - frame = sql.read_sql_query('SELECT * FROM test_index_label', self.conn) - assert frame.columns[0] == "0" + if_exists=if_exists, index_label=index_label) + frame = sql.read_sql_query(query, self.conn) + assert frame.columns[0] == expected def test_to_sql_index_label_multiindex(self): temp_frame = DataFrame({'col1': range(4)}, From 74cf64df7bc34f2cfdcf562027098ec9ee8fcf9b Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Wed, 27 Feb 2019 20:55:48 +0000 Subject: [PATCH 2/2] Remove if exists --- pandas/tests/io/test_sql.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pandas/tests/io/test_sql.py b/pandas/tests/io/test_sql.py index a0bf32f69f5db..806bd7f2b7c93 100644 --- a/pandas/tests/io/test_sql.py +++ b/pandas/tests/io/test_sql.py @@ -704,27 +704,27 @@ def test_complex(self): # Complex data type should raise error pytest.raises(ValueError, df.to_sql, 'test_complex', self.conn) - @pytest.mark.parametrize("index_name,if_exists,index_label,expected", [ + @pytest.mark.parametrize("index_name,index_label,expected", [ # no index name, defaults to 'index' - (None, "fail", None, "index"), + (None, None, "index"), # specifying index_label - (None, "replace", "other_label", "other_label"), + (None, "other_label", "other_label"), # using the index name - ("index_name", "replace", None, "index_name"), + ("index_name", None, "index_name"), # has index name, but specifying index_label - ("index_name", "replace", "other_label", "other_label"), + ("index_name", "other_label", "other_label"), # index name is integer - (0, "replace", None, "0"), + (0, None, "0"), # index name is None but index label is integer - (None, "replace", 0, "0"), + (None, 0, "0"), ]) - def test_to_sql_index_label(self, index_name, if_exists, + def test_to_sql_index_label(self, index_name, index_label, expected): temp_frame = DataFrame({'col1': range(4)}) temp_frame.index.name = index_name query = 'SELECT * FROM test_index_label' sql.to_sql(temp_frame, 'test_index_label', self.conn, - if_exists=if_exists, index_label=index_label) + index_label=index_label) frame = sql.read_sql_query(query, self.conn) assert frame.columns[0] == expected