Home / Function/ test_discriminated_unions_invalid_data_nested_unions() — anthropic-sdk-python Function Reference

test_discriminated_unions_invalid_data_nested_unions() — anthropic-sdk-python Function Reference

Architecture documentation for the test_discriminated_unions_invalid_data_nested_unions() function in test_models.py from the anthropic-sdk-python codebase.

Entity Profile

Dependency Diagram

graph TD
  a0a71f31_ddb5_91b3_6594_12e919b8e80e["test_discriminated_unions_invalid_data_nested_unions()"]
  7872e60b_4210_5600_119f_c5d08c52091e["test_models.py"]
  a0a71f31_ddb5_91b3_6594_12e919b8e80e -->|defined in| 7872e60b_4210_5600_119f_c5d08c52091e
  style a0a71f31_ddb5_91b3_6594_12e919b8e80e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

tests/test_models.py lines 713–743

def test_discriminated_unions_invalid_data_nested_unions() -> None:
    class A(BaseModel):
        type: Literal["a"]

        data: str

    class B(BaseModel):
        type: Literal["b"]

        data: int

    class C(BaseModel):
        type: Literal["c"]

        data: bool

    m = construct_type(
        value={"type": "b", "data": "foo"},
        type_=cast(Any, Annotated[Union[Union[A, B], C], PropertyInfo(discriminator="type")]),
    )
    assert isinstance(m, B)
    assert m.type == "b"
    assert m.data == "foo"  # type: ignore[comparison-overlap]

    m = construct_type(
        value={"type": "c", "data": "foo"},
        type_=cast(Any, Annotated[Union[Union[A, B], C], PropertyInfo(discriminator="type")]),
    )
    assert isinstance(m, C)
    assert m.type == "c"
    assert m.data == "foo"  # type: ignore[comparison-overlap]

Subdomains

Frequently Asked Questions

What does test_discriminated_unions_invalid_data_nested_unions() do?
test_discriminated_unions_invalid_data_nested_unions() is a function in the anthropic-sdk-python codebase, defined in tests/test_models.py.
Where is test_discriminated_unions_invalid_data_nested_unions() defined?
test_discriminated_unions_invalid_data_nested_unions() is defined in tests/test_models.py at line 713.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free