mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-23 05:45:00 +00:00

# Context: USER: add a test for that ASSISTANT: To add a test for the `cmd_drop` method with glob patterns, we need to modify the `tests/test_commands.py` file. Here's the step-by-step process: 1. Add a new test method `test_cmd_drop_with_glob_patterns` in the `TestCommands` class. 2. In this method, initialize the `Commands` and `InputOutput` objects. 3. Add some files to the chat session. 4. Call the `cmd_drop` method with a glob pattern. 5. Check if the correct files have been removed from the chat session. Here's the code change: ```python tests/test_commands.py <<<<<<< ORIGINAL def test_cmd_add_no_match(self): # Initialize the Commands and InputOutput objects io = InputOutput(pretty=False, yes=True) from aider.coders import Coder coder = Coder.create(models.GPT35, None, io, openai_api_key="deadbeef") commands = Commands(io, coder) # Call the cmd_add method with a non-existent file pattern commands.cmd_add("*.nonexistent") # Check if no files have been added to the chat session self.assertEqual(len(coder.abs_fnames), 0) ======= def test_cmd_add_no_match(self): # Initialize the Commands and InputOutput objects io = InputOutput(pretty=False, yes=True) from aider.coders import Coder coder = Coder.create(models.GPT35, None, io, openai_api_key="deadbeef") commands = Commands(io, coder) # Call the cmd_add method with a non-existent file pattern commands.cmd_add("*.nonexistent") # Check if no files have been added to the chat session self.assertEqual(len(coder.abs_fnames), 0) def test_cmd_drop_with_glob_patterns(self): # Initialize the Commands and InputOutput objects io = InputOutput(pretty=False, yes=True) from aider.coders import Coder coder = Coder.create(models.GPT35, None, io, openai_api_key="deadbeef") commands = Commands(io, coder) # Add some files to the chat session commands.cmd_add("*.py") # Call the cmd_drop method with a glob pattern commands.cmd_drop("*.py") # Check if the Python files have been removed from the chat session self.assertNotIn(os.path.abspath("test1.py"), coder.abs_fnames) self.assertNotIn(os.path.abspath("test2.py"), coder.abs_fnames) >>>>>>> UPDATED ``` Please let me know if you need any further changes.
77 lines
2.6 KiB
Python
77 lines
2.6 KiB
Python
import os
|
|
import shutil
|
|
import tempfile
|
|
from unittest import TestCase
|
|
|
|
from aider import models
|
|
from aider.commands import Commands
|
|
from aider.io import InputOutput
|
|
|
|
|
|
class TestCommands(TestCase):
|
|
def setUp(self):
|
|
self.original_cwd = os.getcwd()
|
|
self.tempdir = tempfile.mkdtemp()
|
|
os.chdir(self.tempdir)
|
|
|
|
def tearDown(self):
|
|
os.chdir(self.original_cwd)
|
|
shutil.rmtree(self.tempdir)
|
|
|
|
def test_cmd_add_with_glob_patterns(self):
|
|
# Initialize the Commands and InputOutput objects
|
|
io = InputOutput(pretty=False, yes=True)
|
|
from aider.coders import Coder
|
|
|
|
coder = Coder.create(models.GPT35, None, io, openai_api_key="deadbeef")
|
|
commands = Commands(io, coder)
|
|
|
|
# Create some test files
|
|
with open("test1.py", "w") as f:
|
|
f.write("print('test1')")
|
|
with open("test2.py", "w") as f:
|
|
f.write("print('test2')")
|
|
with open("test.txt", "w") as f:
|
|
f.write("test")
|
|
|
|
# Call the cmd_add method with a glob pattern
|
|
commands.cmd_add("*.py")
|
|
|
|
# Check if the Python files have been added to the chat session
|
|
self.assertIn(os.path.abspath("test1.py"), coder.abs_fnames)
|
|
self.assertIn(os.path.abspath("test2.py"), coder.abs_fnames)
|
|
|
|
# Check if the text file has not been added to the chat session
|
|
self.assertNotIn(os.path.abspath("test.txt"), coder.abs_fnames)
|
|
|
|
def test_cmd_add_no_match(self):
|
|
# Initialize the Commands and InputOutput objects
|
|
io = InputOutput(pretty=False, yes=True)
|
|
from aider.coders import Coder
|
|
|
|
coder = Coder.create(models.GPT35, None, io, openai_api_key="deadbeef")
|
|
commands = Commands(io, coder)
|
|
|
|
# Call the cmd_add method with a non-existent file pattern
|
|
commands.cmd_add("*.nonexistent")
|
|
|
|
# Check if no files have been added to the chat session
|
|
self.assertEqual(len(coder.abs_fnames), 0)
|
|
|
|
def test_cmd_drop_with_glob_patterns(self):
|
|
# Initialize the Commands and InputOutput objects
|
|
io = InputOutput(pretty=False, yes=True)
|
|
from aider.coders import Coder
|
|
|
|
coder = Coder.create(models.GPT35, None, io, openai_api_key="deadbeef")
|
|
commands = Commands(io, coder)
|
|
|
|
# Add some files to the chat session
|
|
commands.cmd_add("*.py")
|
|
|
|
# Call the cmd_drop method with a glob pattern
|
|
commands.cmd_drop("*.py")
|
|
|
|
# Check if the Python files have been removed from the chat session
|
|
self.assertNotIn(os.path.abspath("test1.py"), coder.abs_fnames)
|
|
self.assertNotIn(os.path.abspath("test2.py"), coder.abs_fnames)
|