chore: restore original directory structure (project under code-review-graph-main/)
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
"""Tests for compact estimated context savings metadata."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
|
||||
from code_review_graph.context_savings import (
|
||||
estimate_context_savings,
|
||||
estimate_file_tokens,
|
||||
estimate_tokens,
|
||||
format_context_savings,
|
||||
)
|
||||
|
||||
|
||||
def test_estimate_tokens_uses_conservative_character_approximation():
|
||||
assert estimate_tokens("") == 0
|
||||
assert estimate_tokens("abcd") == 1
|
||||
assert estimate_tokens("abcde") == 2
|
||||
|
||||
|
||||
def test_estimate_context_savings_returns_tiny_metadata():
|
||||
estimate = estimate_context_savings(
|
||||
original_tokens=100,
|
||||
returned_context="x" * 80,
|
||||
)
|
||||
|
||||
assert estimate == {
|
||||
"estimated": True,
|
||||
"saved_tokens": 80,
|
||||
"saved_percent": 80,
|
||||
}
|
||||
assert len(json.dumps(estimate, separators=(",", ":"))) < 64
|
||||
|
||||
|
||||
def test_estimate_context_savings_never_reports_negative_savings():
|
||||
estimate = estimate_context_savings(
|
||||
original_tokens=10,
|
||||
returned_context="x" * 200,
|
||||
)
|
||||
|
||||
assert estimate == {
|
||||
"estimated": True,
|
||||
"saved_tokens": 0,
|
||||
"saved_percent": 0,
|
||||
}
|
||||
|
||||
|
||||
def test_estimate_context_savings_unknown_original_returns_none():
|
||||
assert estimate_context_savings(original_tokens=0, returned_context="x") is None
|
||||
|
||||
|
||||
def test_estimate_file_tokens_uses_file_sizes_without_reading_contents(tmp_path):
|
||||
source = tmp_path / "source.py"
|
||||
source.write_text("x" * 17, encoding="utf-8")
|
||||
|
||||
assert estimate_file_tokens(tmp_path, ["source.py", "missing.py"]) == 5
|
||||
|
||||
|
||||
def test_format_context_savings_is_one_short_line():
|
||||
text = format_context_savings(
|
||||
{"estimated": True, "saved_tokens": 1240, "saved_percent": 18}
|
||||
)
|
||||
|
||||
assert text == "Estimated context saved: ~1,240 tokens (~18%)"
|
||||
Reference in New Issue
Block a user