You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prompt Category:
Unit Testing
Prompt:
Fix the Following error:
================================================ test session starts ================================================
platform darwin -- Python 3.9.6, pytest-8.3.5, pluggy-1.5.0
rootdir: /Users/surya.sandeep.boda/Desktop/Marscode Zero to One 3
plugins: cov-6.0.0
collected 6 items
test_extract_data.py ..F.F. [100%]
===================================================== FAILURES ======================================================
__________________________________ TestGoogleSheetExtraction.test_invalid_ratings ___________________________________
self = <test_extract_data.TestGoogleSheetExtraction testMethod=test_invalid_ratings>
mock_build = <MagicMock name='build' id='4886351728'>
mock_credentials = <MagicMock name='Credentials' id='4886539712'>
@patch('extract_data.Credentials')
@patch('extract_data.build')
def test_invalid_ratings(self, mock_build, mock_credentials):
"""Test handling of invalid rating values"""
mock_data = self.mock_data.copy()
mock_data[1][3] = 'invalid' # Invalid Context Awareness rating
mock_service = MagicMock()
mock_build.return_value = mock_service
mock_service.spreadsheets().values().get().execute.return_value = {
'values': mock_data
}
result = get_google_sheet_data()
self.assertIsNotNone(result)
> self.assertTrue(pd.isna(result['Mean Rating'].iloc[0]))
E AssertionError: False is not true
test_extract_data.py:109: AssertionError
_____________________________ TestGoogleSheetExtraction.test_result_status_calculation ______________________________
self = <test_extract_data.TestGoogleSheetExtraction testMethod=test_result_status_calculation>
def test_result_status_calculation(self):
"""Test result status determination"""
test_data = pd.DataFrame({
'Difference': [-2, -0.5, 0, 0.5, 2]
})
expected_results = ['Not ok', 'Ok', 'Ok', 'Ok', 'Not ok']
for diff, expected in zip(test_data['Difference'], expected_results):
result = test_data['Difference'].apply(
lambda x: 'Ok' if -1 <= x <= 1 else 'Not ok'
)
> self.assertEqual(result.iloc[0], expected)
E AssertionError: 'Not ok' != 'Ok'
E - Not ok
E + Ok
test_extract_data.py:122: AssertionError
================================================= warnings summary ==================================================
test_extract_data.py:3
/Users/surya.sandeep.boda/Desktop/Marscode Zero to One 3/test_extract_data.py:3: DeprecationWarning:
Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
but was not found to be installed on your system.
If this would cause problems for you,
please provide us feedback at pandas-dev/pandas#54466
import pandas as pd
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---------- coverage: platform darwin, python 3.9.6-final-0 -----------
Name Stmts Miss Cover Missing
-----------------------------------------------
extract_data.py 65 12 82% 107, 136-149
-----------------------------------------------
TOTAL 65 12 82%
============================================== short test summary info ==============================================
FAILED test_extract_data.py::TestGoogleSheetExtraction::test_invalid_ratings - AssertionError: False is not true
FAILED test_extract_data.py::TestGoogleSheetExtraction::test_result_status_calculation - AssertionError: 'Not ok' != 'Ok'
====================================== 2 failed, 4 passed, 1 warning in 0.52s =======================================
User Observation:
================================================ test session starts ================================================
platform darwin -- Python 3.9.6, pytest-8.3.5, pluggy-1.5.0
rootdir: /Users/surya.sandeep.boda/Desktop/Marscode Zero to One 3
plugins: cov-6.0.0
collected 6 items
test_extract_data.py ..F.F. [100%]
===================================================== FAILURES ======================================================
__________________________________ TestGoogleSheetExtraction.test_invalid_ratings ___________________________________
self = <test_extract_data.TestGoogleSheetExtraction testMethod=test_invalid_ratings>
mock_build = <MagicMock name='build' id='4886351728'>
mock_credentials = <MagicMock name='Credentials' id='4886539712'>
@patch('extract_data.Credentials')
@patch('extract_data.build')
def test_invalid_ratings(self, mock_build, mock_credentials):
"""Test handling of invalid rating values"""
mock_data = self.mock_data.copy()
mock_data[1][3] = 'invalid' # Invalid Context Awareness rating
mock_service = MagicMock()
mock_build.return_value = mock_service
mock_service.spreadsheets().values().get().execute.return_value = {
'values': mock_data
}
result = get_google_sheet_data()
self.assertIsNotNone(result)
> self.assertTrue(pd.isna(result['Mean Rating'].iloc[0]))
E AssertionError: False is not true
test_extract_data.py:109: AssertionError
_____________________________ TestGoogleSheetExtraction.test_result_status_calculation ______________________________
self = <test_extract_data.TestGoogleSheetExtraction testMethod=test_result_status_calculation>
def test_result_status_calculation(self):
"""Test result status determination"""
test_data = pd.DataFrame({
'Difference': [-2, -0.5, 0, 0.5, 2]
})
expected_results = ['Not ok', 'Ok', 'Ok', 'Ok', 'Not ok']
for diff, expected in zip(test_data['Difference'], expected_results):
result = test_data['Difference'].apply(
lambda x: 'Ok' if -1 <= x <= 1 else 'Not ok'
)
> self.assertEqual(result.iloc[0], expected)
E AssertionError: 'Not ok' != 'Ok'
E - Not ok
E + Ok
test_extract_data.py:122: AssertionError
================================================= warnings summary ==================================================
test_extract_data.py:3
/Users/surya.sandeep.boda/Desktop/Marscode Zero to One 3/test_extract_data.py:3: DeprecationWarning:
Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
but was not found to be installed on your system.
If this would cause problems for you,
please provide us feedback at pandas-dev/pandas#54466
import pandas as pd
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---------- coverage: platform darwin, python 3.9.6-final-0 -----------
Name Stmts Miss Cover Missing
-----------------------------------------------
extract_data.py 65 12 82% 107, 136-149
-----------------------------------------------
TOTAL 65 12 82%
============================================== short test summary info ==============================================
FAILED test_extract_data.py::TestGoogleSheetExtraction::test_invalid_ratings - AssertionError: False is not true
FAILED test_extract_data.py::TestGoogleSheetExtraction::test_result_status_calculation - AssertionError: 'Not ok' != 'Ok'
====================================== 2 failed, 4 passed, 1 warning in 0.52s =======================================
$ python -m pytest test_extract_data.py -v --cov=extract_data
zsh: command not found: python
$ python3 -m pytest test_extract_data.py -v --cov=extract_data
================================================ test session starts ================================================
platform darwin -- Python 3.9.6, pytest-8.3.5, pluggy-1.5.0 -- /Library/Developer/CommandLineTools/usr/bin/python3
cachedir: .pytest_cache
rootdir: /Users/surya.sandeep.boda/Desktop/Marscode Zero to One 3
plugins: cov-6.0.0
collected 6 items
test_extract_data.py::TestGoogleSheetExtraction::test_calculation_accuracy PASSED [ 16%]
test_extract_data.py::TestGoogleSheetExtraction::test_empty_sheet PASSED [ 33%]
test_extract_data.py::TestGoogleSheetExtraction::test_invalid_ratings FAILED [ 50%]
test_extract_data.py::TestGoogleSheetExtraction::test_missing_columns PASSED [ 66%]
test_extract_data.py::TestGoogleSheetExtraction::test_result_status_calculation PASSED [ 83%]
test_extract_data.py::TestGoogleSheetExtraction::test_successful_data_extraction PASSED [100%]
===================================================== FAILURES ======================================================
__________________________________ TestGoogleSheetExtraction.test_invalid_ratings ___________________________________
self = <test_extract_data.TestGoogleSheetExtraction testMethod=test_invalid_ratings>
mock_build = <MagicMock name='build' id='5357153440'>
mock_credentials = <MagicMock name='Credentials' id='5357341424'>
@patch('extract_data.Credentials')
@patch('extract_data.build')
def test_invalid_ratings(self, mock_build, mock_credentials):
"""Test handling of invalid rating values"""
mock_data = [row[:] for row in self.mock_data] # Deep copy
mock_data[1][3] = 'invalid' # Invalid Context Awareness rating
mock_service = MagicMock()
mock_build.return_value = mock_service
mock_service.spreadsheets().values().get().execute.return_value = {
'values': mock_data
}
result = get_google_sheet_data()
self.assertIsNotNone(result)
# Check if the mean rating is NaN when one of the inputs is invalid
> self.assertTrue(pd.isna(result['Mean Rating'].iloc[0]))
E AssertionError: False is not true
test_extract_data.py:110: AssertionError
================================================= warnings summary ==================================================
test_extract_data.py:3
/Users/surya.sandeep.boda/Desktop/Marscode Zero to One 3/test_extract_data.py:3: DeprecationWarning:
Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
but was not found to be installed on your system.
If this would cause problems for you,
please provide us feedback at pandas-dev/pandas#54466
import pandas as pd
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---------- coverage: platform darwin, python 3.9.6-final-0 -----------
Name Stmts Miss Cover
-------------------------------------
extract_data.py 65 12 82%
-------------------------------------
TOTAL 65 12 82%
============================================== short test summary info ==============================================
FAILED test_extract_data.py::TestGoogleSheetExtraction::test_invalid_ratings - AssertionError: False is not true
====================================== 1 failed, 5 passed, 1 warning in 0.52s =======================================
Response ID:
80e90428-de98-4c12-9135-d5f33317535b
0 commit comments