11from contextlib import nullcontext
22
33import numpy as np
4+ import pandas as pd
45import pytest
56from pytest import mark
67
7- from harp .io import MessageType , format , parse , read
8+ from harp .io import REFERENCE_EPOCH , MessageType , format , parse , read
89from tests .params import DataFileParam
910
1011testdata = [
3031 DataFileParam (path = "data/write_0.bin" , expected_address = 0 , expected_rows = 4 ),
3132 DataFileParam (path = "data/write_0.bin" , expected_address = 0 , expected_rows = 4 , keep_type = True ),
3233 DataFileParam (path = "data/device_0.bin" , expected_rows = 300 , repeat_data = 300 ),
34+ DataFileParam (path = "data/device_0.bin" , expected_rows = 1 , epoch = REFERENCE_EPOCH ),
3335]
3436
3537
@@ -46,6 +48,7 @@ def test_read(dataFile: DataFileParam):
4648 address = dataFile .expected_address ,
4749 dtype = dataFile .expected_dtype ,
4850 length = dataFile .expected_length ,
51+ epoch = dataFile .epoch ,
4952 keep_type = dataFile .keep_type ,
5053 )
5154 else :
@@ -54,9 +57,11 @@ def test_read(dataFile: DataFileParam):
5457 address = dataFile .expected_address ,
5558 dtype = dataFile .expected_dtype ,
5659 length = dataFile .expected_length ,
60+ epoch = dataFile .epoch ,
5761 keep_type = dataFile .keep_type ,
5862 )
5963 assert len (data ) == dataFile .expected_rows
64+ assert isinstance (data .index , pd .DatetimeIndex if dataFile .epoch else pd .Index )
6065 if dataFile .keep_type :
6166 assert MessageType .__name__ in data .columns and data [MessageType .__name__ ].dtype == "category"
6267
0 commit comments