From de02bd59d52bf3a163980f00fa3929fc290a2d46 Mon Sep 17 00:00:00 2001 From: Jason <114046438+juj-star@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:46:11 -0700 Subject: [PATCH 1/6] Create test_calculator.py --- AI Calculator/test_calculator.py | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 AI Calculator/test_calculator.py diff --git a/AI Calculator/test_calculator.py b/AI Calculator/test_calculator.py new file mode 100644 index 0000000000..177665a6ed --- /dev/null +++ b/AI Calculator/test_calculator.py @@ -0,0 +1,46 @@ +import requests +import unittest +from unittest.mock import patch + +def get_air_quality(city, api_key): + url = 'http://api.waqi.info/feed/' + city + '/?token=' + main_url = url + api_key + r = requests.get(main_url) + return r.json()['data'] + +class TestAirQualityProgram(unittest.TestCase): + + @patch('requests.get') + def test_get_air_quality(self, mock_get): + # Mocking the API response + mock_get.return_value.json.return_value = { + 'data': { + 'aqi': 100, + 'iaqi': { + 'dew': {'v': 10}, + 'no2': {'v': 20}, + 'o3': {'v': 30}, + 'so2': {'v': 40}, + 'pm10': {'v': 50}, + 'pm25': {'v': 60} + } + } + } + + city = 'kanpur' + api_key = 'fake_api_key' + + # Call the get_air_quality function directly. + result = get_air_quality(city, api_key) + + # Add assertions to check the correctness of the result. + self.assertEqual(result['aqi'], 100) + self.assertEqual(result['iaqi']['dew']['v'], 10) + self.assertEqual(result['iaqi']['no2']['v'], 20) + self.assertEqual(result['iaqi']['o3']['v'], 30) + self.assertEqual(result['iaqi']['so2']['v'], 40) + self.assertEqual(result['iaqi']['pm10']['v'], 50) + self.assertEqual(result['iaqi']['pm25']['v'], 60) + +if __name__ == '__main__': + unittest.main() From 02853024b78f5bd13e22d2e233ad895af4b56060 Mon Sep 17 00:00:00 2001 From: Jason <114046438+juj-star@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:47:55 -0700 Subject: [PATCH 2/6] Create test_air.py --- test_air.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 test_air.py diff --git a/test_air.py b/test_air.py new file mode 100644 index 0000000000..177665a6ed --- /dev/null +++ b/test_air.py @@ -0,0 +1,46 @@ +import requests +import unittest +from unittest.mock import patch + +def get_air_quality(city, api_key): + url = 'http://api.waqi.info/feed/' + city + '/?token=' + main_url = url + api_key + r = requests.get(main_url) + return r.json()['data'] + +class TestAirQualityProgram(unittest.TestCase): + + @patch('requests.get') + def test_get_air_quality(self, mock_get): + # Mocking the API response + mock_get.return_value.json.return_value = { + 'data': { + 'aqi': 100, + 'iaqi': { + 'dew': {'v': 10}, + 'no2': {'v': 20}, + 'o3': {'v': 30}, + 'so2': {'v': 40}, + 'pm10': {'v': 50}, + 'pm25': {'v': 60} + } + } + } + + city = 'kanpur' + api_key = 'fake_api_key' + + # Call the get_air_quality function directly. + result = get_air_quality(city, api_key) + + # Add assertions to check the correctness of the result. + self.assertEqual(result['aqi'], 100) + self.assertEqual(result['iaqi']['dew']['v'], 10) + self.assertEqual(result['iaqi']['no2']['v'], 20) + self.assertEqual(result['iaqi']['o3']['v'], 30) + self.assertEqual(result['iaqi']['so2']['v'], 40) + self.assertEqual(result['iaqi']['pm10']['v'], 50) + self.assertEqual(result['iaqi']['pm25']['v'], 60) + +if __name__ == '__main__': + unittest.main() From c213f15cbff0607aa8ba8fe4f6965ae1cd130edb Mon Sep 17 00:00:00 2001 From: Jason <114046438+juj-star@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:51:26 -0700 Subject: [PATCH 3/6] Create test_content_scraper.py --- Automated_scraper.py/test_content_scraper.py | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Automated_scraper.py/test_content_scraper.py diff --git a/Automated_scraper.py/test_content_scraper.py b/Automated_scraper.py/test_content_scraper.py new file mode 100644 index 0000000000..fffe8619ef --- /dev/null +++ b/Automated_scraper.py/test_content_scraper.py @@ -0,0 +1,45 @@ +import unittest +from unittest.mock import patch +from script import display_content + +class TestDisplayContent(unittest.TestCase): + + @patch('script.requests.get') + def test_success(self, mock_get): + # Simulating a successful response + mock_get.return_value.status_code = 200 + mock_get.return_value.text = '
Hello, World!
' + + url = 'http://example.com' + selector = '.test' + result = display_content(url, selector) + + # Check that the content was correctly extracted + self.assertEqual(result, ['Hello, World!']) + + @patch('script.requests.get') + def test_failed_fetch(self, mock_get): + # Simulating a failed response + mock_get.return_value.status_code = 404 + + url = 'http://example.com' + selector = '.test' + result = display_content(url, selector) + + # Check that the function returns None in case of a failed response + self.assertIsNone(result) + + @patch('script.requests.get') + def test_request_exception(self, mock_get): + # Simulating an exception during the request + mock_get.side_effect = requests.exceptions.RequestException("An exception") + + url = 'http://example.com' + selector = '.test' + result = display_content(url, selector) + + # Check that the function returns None in case of an exception + self.assertIsNone(result) + +if __name__ == '__main__': + unittest.main() From 546ce0cad0fafa0b3ee460d46e85f7a595b7eaaf Mon Sep 17 00:00:00 2001 From: Jason <114046438+juj-star@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:54:05 -0700 Subject: [PATCH 4/6] Delete test_calculator.py --- AI Calculator/test_calculator.py | 46 -------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 AI Calculator/test_calculator.py diff --git a/AI Calculator/test_calculator.py b/AI Calculator/test_calculator.py deleted file mode 100644 index 177665a6ed..0000000000 --- a/AI Calculator/test_calculator.py +++ /dev/null @@ -1,46 +0,0 @@ -import requests -import unittest -from unittest.mock import patch - -def get_air_quality(city, api_key): - url = 'http://api.waqi.info/feed/' + city + '/?token=' - main_url = url + api_key - r = requests.get(main_url) - return r.json()['data'] - -class TestAirQualityProgram(unittest.TestCase): - - @patch('requests.get') - def test_get_air_quality(self, mock_get): - # Mocking the API response - mock_get.return_value.json.return_value = { - 'data': { - 'aqi': 100, - 'iaqi': { - 'dew': {'v': 10}, - 'no2': {'v': 20}, - 'o3': {'v': 30}, - 'so2': {'v': 40}, - 'pm10': {'v': 50}, - 'pm25': {'v': 60} - } - } - } - - city = 'kanpur' - api_key = 'fake_api_key' - - # Call the get_air_quality function directly. - result = get_air_quality(city, api_key) - - # Add assertions to check the correctness of the result. - self.assertEqual(result['aqi'], 100) - self.assertEqual(result['iaqi']['dew']['v'], 10) - self.assertEqual(result['iaqi']['no2']['v'], 20) - self.assertEqual(result['iaqi']['o3']['v'], 30) - self.assertEqual(result['iaqi']['so2']['v'], 40) - self.assertEqual(result['iaqi']['pm10']['v'], 50) - self.assertEqual(result['iaqi']['pm25']['v'], 60) - -if __name__ == '__main__': - unittest.main() From 5feb386880d89e9bb84674431e9e9e1d563cdf0a Mon Sep 17 00:00:00 2001 From: Jason <114046438+juj-star@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:55:24 -0700 Subject: [PATCH 5/6] Create test_calculator.py --- AI Calculator/test_calculator.py | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 AI Calculator/test_calculator.py diff --git a/AI Calculator/test_calculator.py b/AI Calculator/test_calculator.py new file mode 100644 index 0000000000..f774a04301 --- /dev/null +++ b/AI Calculator/test_calculator.py @@ -0,0 +1,50 @@ +import unittest +from chatterbot import ChatBot + +def evaluate_expression(expression, bot): + try: + response = bot.get_response(expression) + return str(response) + except: + return "Please enter valid input." + +class TestCalculatorBot(unittest.TestCase): + + @classmethod + def setUpClass(cls): + cls.bot = ChatBot(name='Calculator', + read_only=True, + logic_adapters=["chatterbot.logic.MathematicalEvaluation"], + storage_adapter="chatterbot.storage.SQLStorageAdapter") + + def test_addition(self): + result = evaluate_expression('3 + 4', self.bot) + self.assertEqual(result, '3 + 4 = 7') + + def test_subtraction(self): + result = evaluate_expression('10 - 5', self.bot) + self.assertEqual(result, '10 - 5 = 5') + + def test_multiplication(self): + result = evaluate_expression('6 * 7', self.bot) + self.assertEqual(result, '6 * 7 = 42') + + def test_division(self): + result = evaluate_expression('15 / 3', self.bot) + self.assertEqual(result, '15 / 3 = 5') + + def test_power(self): + result = evaluate_expression('4 ^ 2', self.bot) + self.assertEqual(result, '4 ^ 2 = 16') + + def test_invalid_input(self): + result = evaluate_expression('three plus four', self.bot) + self.assertEqual(result, 'Please enter valid input.') + + def test_empty_input(self): + result = evaluate_expression('', self.bot) + self.assertEqual(result, 'Please enter valid input.') + + +if __name__ == '__main__': + unittest.main() From 19626a1d9b45768eadfcd005435c2fb14f08f451 Mon Sep 17 00:00:00 2001 From: Jason <114046438+juj-star@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:58:10 -0700 Subject: [PATCH 6/6] Create test_air_quality_checker.py --- .../test_air_quality_checker.py | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Air pollution prediction/test_air_quality_checker.py diff --git a/Air pollution prediction/test_air_quality_checker.py b/Air pollution prediction/test_air_quality_checker.py new file mode 100644 index 0000000000..177665a6ed --- /dev/null +++ b/Air pollution prediction/test_air_quality_checker.py @@ -0,0 +1,46 @@ +import requests +import unittest +from unittest.mock import patch + +def get_air_quality(city, api_key): + url = 'http://api.waqi.info/feed/' + city + '/?token=' + main_url = url + api_key + r = requests.get(main_url) + return r.json()['data'] + +class TestAirQualityProgram(unittest.TestCase): + + @patch('requests.get') + def test_get_air_quality(self, mock_get): + # Mocking the API response + mock_get.return_value.json.return_value = { + 'data': { + 'aqi': 100, + 'iaqi': { + 'dew': {'v': 10}, + 'no2': {'v': 20}, + 'o3': {'v': 30}, + 'so2': {'v': 40}, + 'pm10': {'v': 50}, + 'pm25': {'v': 60} + } + } + } + + city = 'kanpur' + api_key = 'fake_api_key' + + # Call the get_air_quality function directly. + result = get_air_quality(city, api_key) + + # Add assertions to check the correctness of the result. + self.assertEqual(result['aqi'], 100) + self.assertEqual(result['iaqi']['dew']['v'], 10) + self.assertEqual(result['iaqi']['no2']['v'], 20) + self.assertEqual(result['iaqi']['o3']['v'], 30) + self.assertEqual(result['iaqi']['so2']['v'], 40) + self.assertEqual(result['iaqi']['pm10']['v'], 50) + self.assertEqual(result['iaqi']['pm25']['v'], 60) + +if __name__ == '__main__': + unittest.main()