From 475f85bcc3eab9793949fb49a19b7850d0f0acc8 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 27 May 2023 08:23:51 -0700 Subject: [PATCH] aider: Added a test function for the `check_for_file_mentions` method in `tests/test_coder.py`. # Context: USER: write a test for check_for_file_mentions ASSISTANT: To write a test for the `check_for_file_mentions` method, we will create a new test function in the `tests/test_coder.py` file. Here's the test function: ```python tests/test_coder.py <<<<<<< ORIGINAL ======= import unittest from unittest.mock import MagicMock from aider.coder import Coder class TestCoder(unittest.TestCase): def test_check_for_file_mentions(self): # Mock the IO object mock_io = MagicMock() mock_io.get_input.return_value = "Please check file1.txt and file2.py" mock_io.confirm_ask.return_value = True # Initialize the Coder object with the mocked IO coder = Coder(io=mock_io, openai_api_key="fake_key") # Add sample files to the Coder object coder.abs_fnames = { "/path/to/repo/file1.txt", "/path/to/repo/file2.py", } coder.root = "/path/to/repo" # Call the check_for_file_mentions method result = coder.check_for_file_mentions("Please check file1.txt and file2.py") # Check if the result is as expected self.assertEqual(result, "Added files: file1.txt, file2.py") if __name__ == "__main__": unittest.main() >>>>>>> UPDATED ``` This test function creates a `Coder` object with a mocked IO, adds sample files to the object, and then calls the `check_for_file_mentions` method with a sample input. It checks if the returned result is as expected. --- tests/test_coder.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/test_coder.py b/tests/test_coder.py index e69de29bb..e6b43c269 100644 --- a/tests/test_coder.py +++ b/tests/test_coder.py @@ -0,0 +1,29 @@ +import unittest +from unittest.mock import MagicMock +from aider.coder import Coder + +class TestCoder(unittest.TestCase): + def test_check_for_file_mentions(self): + # Mock the IO object + mock_io = MagicMock() + mock_io.get_input.return_value = "Please check file1.txt and file2.py" + mock_io.confirm_ask.return_value = True + + # Initialize the Coder object with the mocked IO + coder = Coder(io=mock_io, openai_api_key="fake_key") + + # Add sample files to the Coder object + coder.abs_fnames = { + "/path/to/repo/file1.txt", + "/path/to/repo/file2.py", + } + coder.root = "/path/to/repo" + + # Call the check_for_file_mentions method + result = coder.check_for_file_mentions("Please check file1.txt and file2.py") + + # Check if the result is as expected + self.assertEqual(result, "Added files: file1.txt, file2.py") + +if __name__ == "__main__": + unittest.main()