MCPcopy
hub / github.com/pydantic/pydantic / test_forward_ref_optional

Function test_forward_ref_optional

tests/test_forward_ref.py:421–450  ·  view source on GitHub ↗
(create_module)

Source from the content-addressed store, hash-verified

419
420
421def test_forward_ref_optional(create_module):
422 module = create_module(
423 # language=Python
424 """
425from __future__ import annotations
426from pydantic import BaseModel, Field
427
428
429class Spec(BaseModel):
430 spec_fields: list[str] = Field(alias="fields")
431 filter: str | None = None
432 sort: str | None
433
434
435class PSpec(Spec):
436 g: GSpec | None = None
437
438
439class GSpec(Spec):
440 p: PSpec | None
441
442# PSpec.model_rebuild()
443
444class Filter(BaseModel):
445 g: GSpec | None = None
446 p: PSpec | None
447 """
448 )
449 Filter = module.Filter
450 assert isinstance(Filter(p={'sort': 'some_field:asc', 'fields': []}), Filter)
451
452
453def test_forward_ref_with_create_model(create_module):

Callers

nothing calls this directly

Calls 1

create_moduleFunction · 0.85

Tested by

no test coverage detected