102 lines
2.9 KiB
Python
Raw Normal View History

2025-11-04 05:57:23 +01:00
from pr.core.advanced_context import AdvancedContextManager
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_adaptive_context_window_simple():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
messages = [
{"content": "short"},
{"content": "this is a longer message with more words"},
]
window = mgr.adaptive_context_window(messages, "simple")
2025-11-04 05:57:23 +01:00
assert isinstance(window, int)
assert window >= 10
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_adaptive_context_window_medium():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
messages = [
{"content": "short"},
{"content": "this is a longer message with more words"},
]
window = mgr.adaptive_context_window(messages, "medium")
2025-11-04 05:57:23 +01:00
assert isinstance(window, int)
assert window >= 20
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_adaptive_context_window_complex():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
messages = [
{"content": "short"},
{"content": "this is a longer message with more words"},
]
window = mgr.adaptive_context_window(messages, "complex")
2025-11-04 05:57:23 +01:00
assert isinstance(window, int)
assert window >= 35
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_analyze_message_complexity():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
messages = [{"content": "hello world"}, {"content": "hello again"}]
2025-11-04 05:57:23 +01:00
score = mgr._analyze_message_complexity(messages)
assert 0 <= score <= 1
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_analyze_message_complexity_empty():
mgr = AdvancedContextManager()
messages = []
score = mgr._analyze_message_complexity(messages)
assert score == 0
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_extract_key_sentences():
mgr = AdvancedContextManager()
text = "This is the first sentence. This is the second sentence. This is a longer third sentence with more words."
sentences = mgr.extract_key_sentences(text, 2)
assert len(sentences) <= 2
assert all(isinstance(s, str) for s in sentences)
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_extract_key_sentences_empty():
mgr = AdvancedContextManager()
text = ""
sentences = mgr.extract_key_sentences(text, 5)
assert sentences == []
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_advanced_summarize_messages():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
messages = [{"content": "Hello"}, {"content": "How are you?"}]
2025-11-04 05:57:23 +01:00
summary = mgr.advanced_summarize_messages(messages)
assert isinstance(summary, str)
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_advanced_summarize_messages_empty():
mgr = AdvancedContextManager()
messages = []
summary = mgr.advanced_summarize_messages(messages)
assert summary == "No content to summarize."
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_score_message_relevance():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
message = {"content": "hello world"}
context = "world hello"
2025-11-04 05:57:23 +01:00
score = mgr.score_message_relevance(message, context)
assert 0 <= score <= 1
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_score_message_relevance_no_overlap():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
message = {"content": "hello"}
context = "world"
2025-11-04 05:57:23 +01:00
score = mgr.score_message_relevance(message, context)
assert score == 0
2025-11-04 08:09:12 +01:00
2025-11-04 05:57:23 +01:00
def test_score_message_relevance_empty():
mgr = AdvancedContextManager()
2025-11-04 08:09:12 +01:00
message = {"content": ""}
context = ""
2025-11-04 05:57:23 +01:00
score = mgr.score_message_relevance(message, context)
2025-11-04 08:09:12 +01:00
assert score == 0