Files
cli-autoreview/tests/test_chunking.py
2026-02-02 19:54:04 +00:00

47 lines
1.0 KiB
Python

from ai_reviewer.diff import chunk_files, parse_diff
def test_chunking_splits_on_hunks_when_large():
diff_text = """
diff --git a/app.py b/app.py
index 0000000..1111111 100644
--- a/app.py
+++ b/app.py
@@ -1,2 +1,2 @@
-print('old')
+print('new')
@@ -10,2 +10,2 @@
-x = 1
+x = 2
""".strip()
files = parse_diff(diff_text)
chunks = chunk_files(files, max_lines=7)
assert len(chunks) == 2
assert all(chunk.path == "app.py" for chunk in chunks)
assert all(len(chunk.hunks) == 1 for chunk in chunks)
def test_chunking_preserves_file_boundaries():
diff_text = """
diff --git a/a.txt b/a.txt
--- a/a.txt
+++ b/a.txt
@@ -1 +1 @@
-a
+b
diff --git a/b.txt b/b.txt
--- a/b.txt
+++ b/b.txt
@@ -1 +1 @@
-c
+d
""".strip()
files = parse_diff(diff_text)
chunks = chunk_files(files, max_lines=50)
assert {chunk.path for chunk in chunks} == {"a.txt", "b.txt"}
assert all(len(chunk.hunks) == 1 for chunk in chunks)