From 3e70c369421e0c573e84f382d3e1521d5d319a6e Mon Sep 17 00:00:00 2001 From: "sentry-autofix[bot]" <157164994+sentry-autofix[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 16:02:13 +0000 Subject: [PATCH 1/2] Add unit tests for SentimentAnalyzer class --- codecov/tests/test_sentiment.py | 74 +++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 codecov/tests/test_sentiment.py diff --git a/codecov/tests/test_sentiment.py b/codecov/tests/test_sentiment.py new file mode 100644 index 0000000000..ac61c5eb2a --- /dev/null +++ b/codecov/tests/test_sentiment.py @@ -0,0 +1,74 @@ +import pytest +from unittest.mock import patch +from codecov.sentiment import SentimentAnalyzer + + +@pytest.fixture +def sentiment_analyzer(): + return SentimentAnalyzer() + + +@patch('codecov.sentiment.TextBlob') +def test_get_sentiment_positive(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = 0.5 + assert sentiment_analyzer.get_sentiment("Great job!") == "positive" + + +@patch('codecov.sentiment.TextBlob') +def test_get_sentiment_negative(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = -0.5 + assert sentiment_analyzer.get_sentiment("Terrible experience.") == "negative" + + +@patch('codecov.sentiment.TextBlob') +def test_get_sentiment_neutral(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = 0.0 + assert sentiment_analyzer.get_sentiment("This is a neutral statement.") == "neutral" + + +@patch('codecov.sentiment.TextBlob') +def test_get_polarity_score(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = 0.75 + assert sentiment_analyzer.get_polarity_score("Excellent work!") == 0.75 + + +@patch('codecov.sentiment.TextBlob') +def test_get_subjectivity_score(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.subjectivity = 0.6 + assert sentiment_analyzer.get_subjectivity_score("I think this is amazing!") == 0.6 + + +@patch('codecov.sentiment.TextBlob') +def test_is_neutral_true(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = 0.0 + assert sentiment_analyzer.is_neutral("This is a fact.") == True + + +@patch('codecov.sentiment.TextBlob') +def test_is_neutral_false(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = 0.5 + assert sentiment_analyzer.is_neutral("This is great!") == False + + +@patch('codecov.sentiment.TextBlob') +def test_is_positive_true(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = 0.5 + assert sentiment_analyzer.is_positive("This is wonderful!") == True + + +@patch('codecov.sentiment.TextBlob') +def test_is_positive_false(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = -0.5 + assert sentiment_analyzer.is_positive("This is awful.") == False + + +@patch('codecov.sentiment.TextBlob') +def test_private_get_polarity(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.polarity = 0.8 + assert sentiment_analyzer._get_polarity("Amazing!") == 0.8 + + +@patch('codecov.sentiment.TextBlob') +def test_private_get_subjectivity(mock_textblob, sentiment_analyzer): + mock_textblob.return_value.sentiment.subjectivity = 0.9 + assert sentiment_analyzer._get_subjectivity("I absolutely love this!") == 0.9 \ No newline at end of file From 5aabfbdf6e39e425a36f9202377ca0546be40d64 Mon Sep 17 00:00:00 2001 From: Rohit Date: Wed, 30 Oct 2024 12:10:10 -0400 Subject: [PATCH 2/2] Lint --- codecov/tests/test_sentiment.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/codecov/tests/test_sentiment.py b/codecov/tests/test_sentiment.py index ac61c5eb2a..e56e4ae37c 100644 --- a/codecov/tests/test_sentiment.py +++ b/codecov/tests/test_sentiment.py @@ -1,5 +1,7 @@ -import pytest from unittest.mock import patch + +import pytest + from codecov.sentiment import SentimentAnalyzer @@ -8,67 +10,67 @@ def sentiment_analyzer(): return SentimentAnalyzer() -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_get_sentiment_positive(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = 0.5 assert sentiment_analyzer.get_sentiment("Great job!") == "positive" -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_get_sentiment_negative(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = -0.5 assert sentiment_analyzer.get_sentiment("Terrible experience.") == "negative" -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_get_sentiment_neutral(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = 0.0 assert sentiment_analyzer.get_sentiment("This is a neutral statement.") == "neutral" -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_get_polarity_score(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = 0.75 assert sentiment_analyzer.get_polarity_score("Excellent work!") == 0.75 -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_get_subjectivity_score(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.subjectivity = 0.6 assert sentiment_analyzer.get_subjectivity_score("I think this is amazing!") == 0.6 -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_is_neutral_true(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = 0.0 assert sentiment_analyzer.is_neutral("This is a fact.") == True -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_is_neutral_false(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = 0.5 assert sentiment_analyzer.is_neutral("This is great!") == False -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_is_positive_true(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = 0.5 assert sentiment_analyzer.is_positive("This is wonderful!") == True -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_is_positive_false(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = -0.5 assert sentiment_analyzer.is_positive("This is awful.") == False -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_private_get_polarity(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.polarity = 0.8 assert sentiment_analyzer._get_polarity("Amazing!") == 0.8 -@patch('codecov.sentiment.TextBlob') +@patch("codecov.sentiment.TextBlob") def test_private_get_subjectivity(mock_textblob, sentiment_analyzer): mock_textblob.return_value.sentiment.subjectivity = 0.9 - assert sentiment_analyzer._get_subjectivity("I absolutely love this!") == 0.9 \ No newline at end of file + assert sentiment_analyzer._get_subjectivity("I absolutely love this!") == 0.9