How to use _test_datatype_with_schema method in pandera

Best Python code snippet using pandera_python

test_schemas_on_koalas.py

Source:test_schemas_on_koalas.py Github

copy

Full Screen

...75 "str_column": list("aabbcceedd"),76 }77 )78 assert isinstance(schema.validate(kdf), ks.DataFrame)79def _test_datatype_with_schema(80 dtype: pandas_engine.DataType,81 schema: typing.Union[pa.DataFrameSchema, pa.SeriesSchema],82 data: st.DataObject,83):84 """Test pandera datatypes against koalas data containers.85 Handle case where koalas can't handle datetimes before 1900-01-01 00:04:00,86 raising an overflow87 """88 data_container_cls = {89 pa.DataFrameSchema: ks.DataFrame,90 pa.SeriesSchema: ks.Series,91 pa.Column: ks.DataFrame,92 }[type(schema)]93 # pandas automatically upcasts numeric datatypes when defining Indexes,94 # so we want to skip this pytest.raises expectation for types that are95 # technically unsupported by koalas96 if dtype in KOALAS_UNSUPPORTED:97 with pytest.raises(TypeError):98 sample = data.draw(schema.strategy(size=3))99 data_container_cls(sample)100 return101 sample = data.draw(schema.strategy(size=3))102 if dtype is pandas_engine.DateTime or isinstance(103 dtype, pandas_engine.DateTime104 ):105 if MIN_TIMESTAMP is not None and (sample < MIN_TIMESTAMP).any(106 axis=None107 ):108 with pytest.raises(109 OverflowError, match="mktime argument out of range"110 ):111 data_container_cls(sample)112 return113 else:114 assert isinstance(data_container_cls(sample), data_container_cls)115@pytest.mark.parametrize("dtype_cls", DTYPES)116@pytest.mark.parametrize("coerce", [True, False])117@hypothesis.given(st.data())118def test_dataframe_schema_dtypes(119 dtype_cls: pandas_engine.DataType,120 coerce: bool,121 data: st.DataObject,122):123 """124 Test that all supported koalas data types work as expected for dataframes.125 """126 if dtype_cls in UNSUPPORTED_STRATEGY_DTYPE_CLS:127 pytest.skip(128 f"type {dtype_cls} currently not supported by the strategies "129 "module"130 )131 schema = pa.DataFrameSchema({"column": pa.Column(dtype_cls)})132 schema.coerce = coerce133 _test_datatype_with_schema(dtype_cls, schema, data)134@pytest.mark.parametrize("dtype_cls", DTYPES)135@pytest.mark.parametrize("coerce", [True, False])136@pytest.mark.parametrize("schema_cls", [pa.SeriesSchema, pa.Column])137@hypothesis.given(st.data())138def test_field_schema_dtypes(139 dtype_cls: pandas_engine.DataType,140 coerce: bool,141 schema_cls,142 data: st.DataObject,143):144 """145 Test that all supported koalas data types work as expected for series.146 """147 if dtype_cls in UNSUPPORTED_STRATEGY_DTYPE_CLS:148 pytest.skip(149 f"type {dtype_cls} currently not supported by the strategies "150 "module"151 )152 schema = schema_cls(dtype_cls, name="field")153 schema.coerce = coerce154 _test_datatype_with_schema(dtype_cls, schema, data)155@pytest.mark.parametrize(156 "dtype",157 [158 int,159 float,160 bool,161 str,162 pandas_engine.DateTime,163 ],164)165@pytest.mark.parametrize("coerce", [True, False])166@pytest.mark.parametrize("schema_cls", [pa.Index, pa.MultiIndex])167@hypothesis.given(st.data())168def test_index_dtypes(...

Full Screen

Full Screen

test_schemas_on_modin.py

Source:test_schemas_on_modin.py Github

copy

Full Screen

...80 "str_column": list("aabbcceedd"),81 }82 )83 assert isinstance(schema.validate(mdf), mpd.DataFrame)84def _test_datatype_with_schema(85 schema: typing.Union[pa.DataFrameSchema, pa.SeriesSchema],86 data: st.DataObject,87):88 """Test pandera datatypes against modin data containers."""89 data_container_cls = {90 pa.DataFrameSchema: mpd.DataFrame,91 pa.SeriesSchema: mpd.Series,92 pa.Column: mpd.DataFrame,93 }[type(schema)]94 sample = data.draw(schema.strategy(size=3))95 assert isinstance(schema(data_container_cls(sample)), data_container_cls)96@pytest.mark.parametrize("dtype_cls", TEST_DTYPES_ON_MODIN)97@pytest.mark.parametrize("coerce", [True, False])98@hypothesis.given(st.data())99def test_dataframe_schema_dtypes(100 dtype_cls: pandas_engine.DataType,101 coerce: bool,102 data: st.DataObject,103):104 """105 Test that all supported modin data types work as expected for dataframes.106 """107 dtype = pandas_engine.Engine.dtype(dtype_cls)108 schema = pa.DataFrameSchema({"column": pa.Column(dtype)}, coerce=coerce)109 with pytest.warns(110 UserWarning, match="Distributing .+ object. This may take some time."111 ):112 _test_datatype_with_schema(schema, data)113@pytest.mark.parametrize("dtype_cls", TEST_DTYPES_ON_MODIN)114@pytest.mark.parametrize("coerce", [True, False])115@pytest.mark.parametrize("schema_cls", [pa.SeriesSchema, pa.Column])116@hypothesis.given(st.data())117def test_field_schema_dtypes(118 dtype_cls: pandas_engine.DataType,119 coerce: bool,120 schema_cls,121 data: st.DataObject,122):123 """124 Test that all supported modin data types work as expected for series.125 """126 schema = schema_cls(dtype_cls, name="field", coerce=coerce)127 _test_datatype_with_schema(schema, data)128@pytest.mark.parametrize(129 "dtype",130 [131 int,132 float,133 bool,134 str,135 pandas_engine.DateTime,136 ],137)138@pytest.mark.parametrize("coerce", [True, False])139@pytest.mark.parametrize("schema_cls", [pa.Index, pa.MultiIndex])140@hypothesis.given(st.data())141def test_index_dtypes(...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run pandera automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful