30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
import unittest
|
|||
|
|
|
||
|
|
from rag.chunk_config import DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, resolve_chunk_config
|
||
|
|
|
||
|
|
|
||
|
|
class ChunkConfigTests(unittest.TestCase):
|
||
|
|
def test_uses_project_defaults_without_sys_config(self):
|
||
|
|
config = resolve_chunk_config()
|
||
|
|
|
||
|
|
self.assertEqual(config.size, DEFAULT_CHUNK_SIZE)
|
||
|
|
self.assertEqual(config.overlap, DEFAULT_CHUNK_OVERLAP)
|
||
|
|
self.assertEqual((config.size, config.overlap), (512, 64))
|
||
|
|
|
||
|
|
def test_custom_values_override_defaults_independently(self):
|
||
|
|
config = resolve_chunk_config(chunk_size=256)
|
||
|
|
|
||
|
|
self.assertEqual((config.size, config.overlap), (256, 64))
|
||
|
|
|
||
|
|
def test_rejects_invalid_chunk_values(self):
|
||
|
|
with self.assertRaises(ValueError):
|
||
|
|
resolve_chunk_config(chunk_size=0)
|
||
|
|
with self.assertRaises(ValueError):
|
||
|
|
resolve_chunk_config(chunk_size=64, chunk_overlap=64)
|
||
|
|
with self.assertRaises(ValueError):
|
||
|
|
resolve_chunk_config(chunk_overlap=-1)
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
unittest.main()
|