From 58a426e50d117b2ec531df893b8d81a7b7e13297 Mon Sep 17 00:00:00 2001 From: Assad Yousuf Date: Tue, 23 Sep 2025 18:33:21 -0700 Subject: [PATCH 1/2] Add test covereage for field type util --- tests/signatures/test_utils_field_type.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 tests/signatures/test_utils_field_type.py diff --git a/tests/signatures/test_utils_field_type.py b/tests/signatures/test_utils_field_type.py new file mode 100644 index 0000000000..83b005eb35 --- /dev/null +++ b/tests/signatures/test_utils_field_type.py @@ -0,0 +1,21 @@ +import pydantic +import pytest + +from dspy.signatures.utils import get_dspy_field_type +from dspy import InputField, OutputField + + +def test_get_dspy_field_type_input(): + field = InputField() + assert get_dspy_field_type(field) == "input" + + +def test_get_dspy_field_type_output(): + field = OutputField() + assert get_dspy_field_type(field) == "output" + + +def test_get_dspy_field_type_missing_flag_raises(): + field = pydantic.Field(json_schema_extra={}) + with pytest.raises(ValueError, match="does not have a __dspy_field_type"): + get_dspy_field_type(field) From b81b4fa8a198bdc99b9dc97121f437302ffc86a6 Mon Sep 17 00:00:00 2001 From: Assad Yousuf Date: Tue, 23 Sep 2025 18:56:37 -0700 Subject: [PATCH 2/2] Linting fixes --- tests/signatures/test_utils_field_type.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/signatures/test_utils_field_type.py b/tests/signatures/test_utils_field_type.py index 83b005eb35..71c6a43197 100644 --- a/tests/signatures/test_utils_field_type.py +++ b/tests/signatures/test_utils_field_type.py @@ -1,8 +1,8 @@ import pydantic import pytest -from dspy.signatures.utils import get_dspy_field_type from dspy import InputField, OutputField +from dspy.signatures.utils import get_dspy_field_type def test_get_dspy_field_type_input():