fix: align cmd_compress dict keys with compression_stats() return values (#569)
* fix: align cmd_compress dict keys with compression_stats() return values * test: align compress test mocks with actual compression_stats() keys * fix: address review — add Total: assertion, move stats key test to test_dialect.py
This commit is contained in:
+12
-8
@@ -546,10 +546,11 @@ def test_cmd_compress_dry_run(mock_config_cls, capsys):
|
||||
mock_dialect.compress.return_value = "compressed"
|
||||
mock_dialect.compression_stats.return_value = {
|
||||
"original_chars": 100,
|
||||
"compressed_chars": 30,
|
||||
"original_tokens": 25,
|
||||
"compressed_tokens": 8,
|
||||
"ratio": 3.3,
|
||||
"summary_chars": 30,
|
||||
"original_tokens_est": 25,
|
||||
"summary_tokens_est": 8,
|
||||
"size_ratio": 3.3,
|
||||
"note": "Estimates only.",
|
||||
}
|
||||
mock_dialect_mod = _make_mock_dialect_module(mock_dialect)
|
||||
|
||||
@@ -564,6 +565,7 @@ def test_cmd_compress_dry_run(mock_config_cls, capsys):
|
||||
out = capsys.readouterr().out
|
||||
assert "dry run" in out.lower()
|
||||
assert "Compressing" in out
|
||||
assert "Total:" in out
|
||||
|
||||
|
||||
@patch("mempalace.cli.MempalaceConfig")
|
||||
@@ -619,10 +621,11 @@ def test_cmd_compress_stores_results(mock_config_cls, capsys):
|
||||
mock_dialect.compress.return_value = "compressed"
|
||||
mock_dialect.compression_stats.return_value = {
|
||||
"original_chars": 100,
|
||||
"compressed_chars": 30,
|
||||
"original_tokens": 25,
|
||||
"compressed_tokens": 8,
|
||||
"ratio": 3.3,
|
||||
"summary_chars": 30,
|
||||
"original_tokens_est": 25,
|
||||
"summary_tokens_est": 8,
|
||||
"size_ratio": 3.3,
|
||||
"note": "Estimates only.",
|
||||
}
|
||||
mock_dialect_mod = _make_mock_dialect_module(mock_dialect)
|
||||
|
||||
@@ -636,6 +639,7 @@ def test_cmd_compress_stores_results(mock_config_cls, capsys):
|
||||
cmd_compress(args)
|
||||
out = capsys.readouterr().out
|
||||
assert "Stored" in out
|
||||
assert "Total:" in out
|
||||
mock_comp_col.upsert.assert_called_once()
|
||||
|
||||
|
||||
|
||||
@@ -115,6 +115,20 @@ class TestCompressionStats:
|
||||
def test_count_tokens(self):
|
||||
assert Dialect.count_tokens("hello world") == 2
|
||||
|
||||
def test_compression_stats_keys(self):
|
||||
"""Verify compression_stats() returns the expected key set."""
|
||||
d = Dialect()
|
||||
stats = d.compression_stats("hello world this is a test", "HW:test")
|
||||
expected_keys = {
|
||||
"original_chars",
|
||||
"summary_chars",
|
||||
"original_tokens_est",
|
||||
"summary_tokens_est",
|
||||
"size_ratio",
|
||||
"note",
|
||||
}
|
||||
assert set(stats.keys()) == expected_keys
|
||||
|
||||
|
||||
class TestZettelEncoding:
|
||||
def test_encode_zettel(self):
|
||||
|
||||
Reference in New Issue
Block a user