Skip to content

Commit b52dbca

Browse files
author
Martin Durant
committed
fix test
1 parent 835403d commit b52dbca

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

streamz/dataframe/tests/test_dataframe_utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ def test_utils_get_base_frame_type_pandas():
1818
with pytest.raises(TypeError):
1919
get_base_frame_type("Index", is_index_like, df)
2020

21-
with pytest.raises(TypeError):
22-
get_base_frame_type("DataFrame", is_dataframe_like, df.x)
21+
# casts Series to DataFrame, if that's what we ask for
22+
assert pd.DataFrame == get_base_frame_type("DataFrame", is_dataframe_like, df.x)
2323
assert pd.Series == get_base_frame_type("Series", is_series_like, df.x)
2424
with pytest.raises(TypeError):
2525
get_base_frame_type("Index", is_index_like, df.x)
2626

27-
with pytest.raises(TypeError):
28-
get_base_frame_type("DataFrame", is_dataframe_like, df.index)
27+
# casts Series to DataFrame, if that's what we ask for
28+
assert pd.DataFrame == get_base_frame_type("DataFrame", is_dataframe_like, df.index)
2929
with pytest.raises(TypeError):
3030
get_base_frame_type("Series", is_series_like, df.index)
3131
assert issubclass(get_base_frame_type("Index", is_index_like, df.index), pd.Index)

streamz/dataframe/utils.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ def get_base_frame_type(frame_name, is_frame_like, example=None):
3838
Returns the base type of streaming objects if type checks pass."""
3939
if example is None:
4040
raise TypeError("Missing required argument:'example'")
41-
if not is_frame_like(example):
42-
try:
43-
import pandas as pd
44-
example = pd.DataFrame(example)
45-
except (TypeError, ValueError) as e:
46-
msg = "Streaming {0} expects an example of {0} like objects. Got: {1}."\
47-
.format(frame_name, example)
48-
raise TypeError(msg) from e
41+
if is_frame_like is is_dataframe_like and not is_frame_like(example):
42+
import pandas as pd
43+
example = pd.DataFrame(example)
44+
45+
elif not is_frame_like(example):
46+
msg = "Streaming {0} expects an example of {0} like objects. Got: {1}."\
47+
.format(frame_name, example)
48+
raise TypeError(msg)
4949
return type(example)
5050

5151

0 commit comments

Comments
 (0)