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]
Domain
Subdomains
Defined In
Source
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