|
15 | 15 | # specific language governing permissions and limitations |
16 | 16 | # under the License. |
17 | 17 |
|
18 | | -import pyarrow as pa |
19 | | - |
20 | | - |
21 | | -def test_iter_releases_reader(monkeypatch, ctx): |
22 | | - batches = [ |
23 | | - pa.RecordBatch.from_pydict({"a": [1]}), |
24 | | - pa.RecordBatch.from_pydict({"a": [2]}), |
25 | | - ] |
26 | | - |
27 | | - class DummyReader: |
28 | | - def __init__(self, batches): |
29 | | - self._iter = iter(batches) |
30 | | - self.closed = False |
31 | | - |
32 | | - def __iter__(self): |
33 | | - return self |
34 | | - |
35 | | - def __next__(self): |
36 | | - return next(self._iter) |
37 | | - |
38 | | - def close(self): |
39 | | - self.closed = True |
40 | | - |
41 | | - dummy_reader = DummyReader(batches) |
42 | | - |
43 | | - class FakeRecordBatchReader: |
44 | | - @staticmethod |
45 | | - def _import_from_c_capsule(*_args, **_kwargs): |
46 | | - return dummy_reader |
47 | | - |
48 | | - monkeypatch.setattr(pa, "RecordBatchReader", FakeRecordBatchReader) |
49 | 18 |
|
| 19 | +def test_to_stream(ctx): |
50 | 20 | df = ctx.from_pydict({"a": [1, 2]}) |
| 21 | + stream = df.to_stream() |
| 22 | + batches = [rb.to_pyarrow() for rb in stream] |
| 23 | + assert len(batches) == 1 |
| 24 | + assert batches[0].to_pydict() == {"a": [1, 2]} |
51 | 25 |
|
52 | | - for _ in df: |
53 | | - break |
54 | 26 |
|
55 | | - assert dummy_reader.closed |
| 27 | +def test_dataframe_iter(ctx): |
| 28 | + df = ctx.from_pydict({"a": [1, 2]}) |
| 29 | + batches = list(df) |
| 30 | + assert len(batches) == 1 |
| 31 | + assert batches[0].to_pydict() == {"a": [1, 2]} |
0 commit comments