import unittest
from pygeai.core.omni.models import OmniParserConfiguration


class TestOmniParserConfiguration(unittest.TestCase):

    def test_configuration_basic(self):
        config = OmniParserConfiguration(file_path="test.pdf")

        self.assertEqual(config.file_path, "test.pdf")
        self.assertIsNone(config.start_page)
        self.assertIsNone(config.end_page)
        self.assertFalse(config.cache)

    def test_configuration_with_all_fields(self):
        config = OmniParserConfiguration(
            file_path="test.pdf",
            start_page=1,
            end_page=10,
            hi_res_mode=True,
            structure="table",
            dialogue=False,
            output_format="markdown",
            password="secret",
            cache=True
        )

        self.assertEqual(config.file_path, "test.pdf")
        self.assertEqual(config.start_page, 1)
        self.assertEqual(config.end_page, 10)
        self.assertTrue(config.hi_res_mode)
        self.assertEqual(config.structure, "table")
        self.assertFalse(config.dialogue)
        self.assertEqual(config.output_format, "markdown")
        self.assertEqual(config.password, "secret")
        self.assertTrue(config.cache)
