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

test_discriminated_unions_with_aliases_invalid_data() — anthropic-sdk-python Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  4aa8f7b0_d528_3553_4862_834f4ad1dfc7["test_discriminated_unions_with_aliases_invalid_data()"]
  ad9ae388_c528_b322_5909_1e944e6368e0["test_models.py"]
  4aa8f7b0_d528_3553_4862_834f4ad1dfc7 -->|defined in| ad9ae388_c528_b322_5909_1e944e6368e0
  style 4aa8f7b0_d528_3553_4862_834f4ad1dfc7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

tests/test_models.py lines 746–776

def test_discriminated_unions_with_aliases_invalid_data() -> None:
    class A(BaseModel):
        foo_type: Literal["a"] = Field(alias="type")

        data: str

    class B(BaseModel):
        foo_type: Literal["b"] = Field(alias="type")

        data: int

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

    m = construct_type(
        value={"type": "a", "data": 100},
        type_=cast(Any, Annotated[Union[A, B], PropertyInfo(discriminator="foo_type")]),
    )
    assert isinstance(m, A)
    assert m.foo_type == "a"
    if PYDANTIC_V1:
        # pydantic v1 automatically converts inputs to strings
        # if the expected type is a str
        assert m.data == "100"
    else:
        assert m.data == 100  # type: ignore[comparison-overlap]

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free