Best Python code snippet using pandera_python
test_decorators.py
Source:test_decorators.py
...443def test_check_types_error_output() -> None:444 """Test that check_types raises an error when the output is not correct."""445 df = pd.DataFrame({"a": [1]}, index=["1"])446 @check_types447 def transform_derived(448 df: DataFrame[InSchema],449 ) -> DataFrame[DerivedOutSchema]:450 return df451 with pytest.raises(452 errors.SchemaError, match="column 'b' not in dataframe"453 ):454 transform_derived(df)455 try:456 transform_derived(df)457 except errors.SchemaError as exc:458 assert exc.schema == DerivedOutSchema.to_schema()459 assert exc.data.equals(df)460 df = pd.DataFrame({"a": [1]}, index=["1"])461 @check_types462 def transform(df: DataFrame[InSchema]) -> DataFrame[OutSchema]:463 return df464 with pytest.raises(465 errors.SchemaError, match="column 'b' not in dataframe"466 ):467 transform(df)468 try:469 transform(df)470 except errors.SchemaError as exc:471 assert exc.schema == OutSchema.to_schema()472 assert exc.data.equals(df)473def test_check_types_optional_out() -> None:474 """Test the check_types behaviour when the output schema is Optional."""475 @check_types476 def optional_derived_out(477 df: DataFrame[InSchema], # pylint: disable=unused-argument478 ) -> typing.Optional[DataFrame[DerivedOutSchema]]:479 return None480 df = pd.DataFrame({"a": [1]}, index=["1"])481 assert optional_derived_out(df) is None482 @check_types483 def optional_out(484 df: DataFrame[InSchema], # pylint: disable=unused-argument485 ) -> typing.Optional[DataFrame[OutSchema]]:486 return None487 df = pd.DataFrame({"a": [1]}, index=["1"])488 assert optional_out(df) is None489def test_check_types_optional_in() -> None:490 """Test the check_types behaviour when the input schema is Optional."""491 @check_types492 def optional_in(493 # pylint: disable=unused-argument494 df: typing.Optional[DataFrame[InSchema]],495 ) -> None:496 return None497 assert optional_in(None) is None498def test_check_types_optional_in_out() -> None:499 """500 Test the check_types behaviour when both input and outputs schemas are501 Optional.502 """503 @check_types504 def transform_derived(505 # pylint: disable=unused-argument506 df: typing.Optional[DataFrame[InSchema]],507 ) -> typing.Optional[DataFrame[DerivedOutSchema]]:508 return None509 assert transform_derived(None) is None510 @check_types511 def transform(512 # pylint: disable=unused-argument513 df: typing.Optional[DataFrame[InSchema]],514 ) -> typing.Optional[DataFrame[OutSchema]]:515 return None516 assert transform(None) is None517def test_check_types_coerce() -> None:518 """Test that check_types return the result of validate."""519 @check_types()520 def transform_in(df: DataFrame[InSchema]):521 return df522 df = transform_in(pd.DataFrame({"a": ["1"]}, index=["1"]))523 expected = InSchema.to_schema().columns["a"].dtype...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!