From 11bc51de45bd74e097919b56b51c7dd3a824851d Mon Sep 17 00:00:00 2001 From: "Joshua B. Smith" Date: Tue, 1 Oct 2019 12:21:50 -0400 Subject: [PATCH 1/5] Added test to confirm fix for #28658 adds a test to check for regressions later. --- pandas/tests/series/test_arithmetic.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pandas/tests/series/test_arithmetic.py b/pandas/tests/series/test_arithmetic.py index 89557445cafb4..b6f88050c4f52 100644 --- a/pandas/tests/series/test_arithmetic.py +++ b/pandas/tests/series/test_arithmetic.py @@ -66,6 +66,14 @@ def test_add_series_with_period_index(self): with pytest.raises(IncompatibleFrequency, match=msg): ts + ts.asfreq("D", how="end") + def test_string_addition(self): + # GH28658 + a = Series(["hello", "world"]) + + result = a + "!" + expected = Series(["hello!", "world!"]) + assert_series_equal(result, expected) + # ------------------------------------------------------------------ # Comparisons From 4d6f0c97cf8521543eb550b1f0c353a387e71f4e Mon Sep 17 00:00:00 2001 From: "Joshua B. Smith" Date: Tue, 1 Oct 2019 12:28:37 -0400 Subject: [PATCH 2/5] updated assert to use model imported name --- pandas/tests/series/test_arithmetic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/series/test_arithmetic.py b/pandas/tests/series/test_arithmetic.py index b6f88050c4f52..5e684b2da2682 100644 --- a/pandas/tests/series/test_arithmetic.py +++ b/pandas/tests/series/test_arithmetic.py @@ -72,7 +72,7 @@ def test_string_addition(self): result = a + "!" expected = Series(["hello!", "world!"]) - assert_series_equal(result, expected) + tm.assert_series_equal(result, expected) # ------------------------------------------------------------------ From ae38848323492270db3f87f4f46f7b06002a8eed Mon Sep 17 00:00:00 2001 From: "Joshua B. Smith" Date: Tue, 1 Oct 2019 12:57:39 -0400 Subject: [PATCH 3/5] updated to parameterize and expand tests to include all strings referrenced in the bug report --- pandas/tests/series/test_arithmetic.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pandas/tests/series/test_arithmetic.py b/pandas/tests/series/test_arithmetic.py index 5e684b2da2682..4f9eeadb36b1b 100644 --- a/pandas/tests/series/test_arithmetic.py +++ b/pandas/tests/series/test_arithmetic.py @@ -66,12 +66,19 @@ def test_add_series_with_period_index(self): with pytest.raises(IncompatibleFrequency, match=msg): ts + ts.asfreq("D", how="end") - def test_string_addition(self): + @pytest.mark.parametrize( + "target_add,input_value,expected_value", + [ + ("!", ["hello", "world"], ["hello!", "world!"]), + ("m", ["hello", "world"], ["hellom", "worldm"]), + ], + ) + def test_string_addition(self, to_add, input_array, expected_array): # GH28658 - a = Series(["hello", "world"]) + a = Series(input_value) - result = a + "!" - expected = Series(["hello!", "world!"]) + result = a + target_add + expected = Series(expected_value) tm.assert_series_equal(result, expected) From 11ebe7c9f97d659882710a5893d7f3963cbe54e1 Mon Sep 17 00:00:00 2001 From: "Joshua B. Smith" Date: Tue, 1 Oct 2019 13:00:10 -0400 Subject: [PATCH 4/5] updated parameters to match new names --- pandas/tests/series/test_arithmetic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/series/test_arithmetic.py b/pandas/tests/series/test_arithmetic.py index 4f9eeadb36b1b..2b0239b859bde 100644 --- a/pandas/tests/series/test_arithmetic.py +++ b/pandas/tests/series/test_arithmetic.py @@ -73,7 +73,7 @@ def test_add_series_with_period_index(self): ("m", ["hello", "world"], ["hellom", "worldm"]), ], ) - def test_string_addition(self, to_add, input_array, expected_array): + def test_string_addition(self, to_add, input_value, expected_value): # GH28658 a = Series(input_value) From 34f32223c4847f2d4405b094a773a1d0c862b9e7 Mon Sep 17 00:00:00 2001 From: "Joshua B. Smith" Date: Tue, 1 Oct 2019 13:01:02 -0400 Subject: [PATCH 5/5] (missed one) updated parameters to match new names --- pandas/tests/series/test_arithmetic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/series/test_arithmetic.py b/pandas/tests/series/test_arithmetic.py index 2b0239b859bde..e62f1ae663778 100644 --- a/pandas/tests/series/test_arithmetic.py +++ b/pandas/tests/series/test_arithmetic.py @@ -73,7 +73,7 @@ def test_add_series_with_period_index(self): ("m", ["hello", "world"], ["hellom", "worldm"]), ], ) - def test_string_addition(self, to_add, input_value, expected_value): + def test_string_addition(self, target_add, input_value, expected_value): # GH28658 a = Series(input_value)