mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-24 14:25:00 +00:00
test: add tests for ensure_alternating_roles
function
This commit is contained in:
parent
231bceeabb
commit
eb879a743e
1 changed files with 71 additions and 0 deletions
|
@ -93,3 +93,74 @@ class TestSendChat(unittest.TestCase):
|
||||||
assert result is None
|
assert result is None
|
||||||
# Should only print the error message
|
# Should only print the error message
|
||||||
assert mock_print.call_count == 1
|
assert mock_print.call_count == 1
|
||||||
|
|
||||||
|
def test_ensure_alternating_roles_empty(self):
|
||||||
|
from aider.sendchat import ensure_alternating_roles
|
||||||
|
messages = []
|
||||||
|
result = ensure_alternating_roles(messages)
|
||||||
|
assert result == []
|
||||||
|
|
||||||
|
def test_ensure_alternating_roles_single_message(self):
|
||||||
|
from aider.sendchat import ensure_alternating_roles
|
||||||
|
messages = [{"role": "user", "content": "Hello"}]
|
||||||
|
result = ensure_alternating_roles(messages)
|
||||||
|
assert result == messages
|
||||||
|
|
||||||
|
def test_ensure_alternating_roles_already_alternating(self):
|
||||||
|
from aider.sendchat import ensure_alternating_roles
|
||||||
|
messages = [
|
||||||
|
{"role": "user", "content": "Hello"},
|
||||||
|
{"role": "assistant", "content": "Hi there"},
|
||||||
|
{"role": "user", "content": "How are you?"},
|
||||||
|
]
|
||||||
|
result = ensure_alternating_roles(messages)
|
||||||
|
assert result == messages
|
||||||
|
|
||||||
|
def test_ensure_alternating_roles_consecutive_user(self):
|
||||||
|
from aider.sendchat import ensure_alternating_roles
|
||||||
|
messages = [
|
||||||
|
{"role": "user", "content": "Hello"},
|
||||||
|
{"role": "user", "content": "Are you there?"},
|
||||||
|
]
|
||||||
|
expected = [
|
||||||
|
{"role": "user", "content": "Hello"},
|
||||||
|
{"role": "assistant", "content": ""},
|
||||||
|
{"role": "user", "content": "Are you there?"},
|
||||||
|
]
|
||||||
|
result = ensure_alternating_roles(messages)
|
||||||
|
assert result == expected
|
||||||
|
|
||||||
|
def test_ensure_alternating_roles_consecutive_assistant(self):
|
||||||
|
from aider.sendchat import ensure_alternating_roles
|
||||||
|
messages = [
|
||||||
|
{"role": "assistant", "content": "Hi there"},
|
||||||
|
{"role": "assistant", "content": "How can I help?"},
|
||||||
|
]
|
||||||
|
expected = [
|
||||||
|
{"role": "assistant", "content": "Hi there"},
|
||||||
|
{"role": "user", "content": ""},
|
||||||
|
{"role": "assistant", "content": "How can I help?"},
|
||||||
|
]
|
||||||
|
result = ensure_alternating_roles(messages)
|
||||||
|
assert result == expected
|
||||||
|
|
||||||
|
def test_ensure_alternating_roles_mixed_sequence(self):
|
||||||
|
from aider.sendchat import ensure_alternating_roles
|
||||||
|
messages = [
|
||||||
|
{"role": "user", "content": "Hello"},
|
||||||
|
{"role": "user", "content": "Are you there?"},
|
||||||
|
{"role": "assistant", "content": "Yes"},
|
||||||
|
{"role": "assistant", "content": "How can I help?"},
|
||||||
|
{"role": "user", "content": "Write code"},
|
||||||
|
]
|
||||||
|
expected = [
|
||||||
|
{"role": "user", "content": "Hello"},
|
||||||
|
{"role": "assistant", "content": ""},
|
||||||
|
{"role": "user", "content": "Are you there?"},
|
||||||
|
{"role": "assistant", "content": "Yes"},
|
||||||
|
{"role": "user", "content": ""},
|
||||||
|
{"role": "assistant", "content": "How can I help?"},
|
||||||
|
{"role": "user", "content": "Write code"},
|
||||||
|
]
|
||||||
|
result = ensure_alternating_roles(messages)
|
||||||
|
assert result == expected
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue