Skip to content

Commit db16940

Browse files
committed
Add tests for auto-casted types, and unsupported nanosecond time
Change-Id: Ib95a2c36482e8f95f2ca21c48c2f66c35e87d837
1 parent 475fa3f commit db16940

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

python/pyarrow/tests/test_parquet.py

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -372,21 +372,41 @@ def test_date_time_types(tmpdir):
372372
t5 = pa.time64('us')
373373
a5 = pa.Array.from_pandas(data4.astype('int64'), type=t5)
374374

375-
table = pa.Table.from_arrays([a1, a2, a3, a4, a5],
375+
t6 = pa.time32('s')
376+
a6 = pa.Array.from_pandas(data4, type=t6)
377+
378+
ex_t6 = pa.time32('ms')
379+
ex_a6 = pa.Array.from_pandas(data4 * 1000, type=ex_t6)
380+
381+
table = pa.Table.from_arrays([a1, a2, a3, a4, a5, a6],
376382
['date32', 'date64', 'timestamp[us]',
377-
'time32[s]', 'time64[us]'])
383+
'time32[s]', 'time64[us]', 'time32[s]'])
378384

379385
# date64 as date32
380-
expected = pa.Table.from_arrays([a1, a1, a3, a4, a5],
386+
# time32[s] to time32[ms]
387+
expected = pa.Table.from_arrays([a1, a1, a3, a4, a5, ex_a6],
381388
['date32', 'date64', 'timestamp[us]',
382-
'time32[s]', 'time64[us]'])
389+
'time32[s]', 'time64[us]', 'time32[s]'])
383390

384391
pq.write_table(table, buf, version="2.0")
385392
buf.seek(0)
386393

387394
result = pq.read_table(buf)
388395
assert result.equals(expected)
389396

397+
# Unsupported stuff
398+
def _assert_unsupported(array):
399+
table = pa.Table.from_arrays([array], ['unsupported'])
400+
buf = io.BytesIO()
401+
402+
with pytest.raises(NotImplementedError):
403+
pq.write_table(table, buf, version="2.0")
404+
405+
t7 = pa.time64('ns')
406+
a7 = pa.Array.from_pandas(data4.astype('int64'), type=t7)
407+
408+
_assert_unsupported(a7)
409+
390410

391411
@parquet
392412
def test_multithreaded_read():

0 commit comments

Comments
 (0)