Implement Arrow-to-Frame Conversion (Deserialization) for Arrow Backend - #987
Implement Arrow-to-Frame Conversion (Deserialization) for Arrow Backend#987arnavdham wants to merge 12 commits into
Conversation
|
@jmcarcell Please take a look. |
| TEST_CASE("ArrowFrameConverter - convertTableToFrame Verification (Round-Trip)", "[arrow][converter][reader]") { | ||
| podio::Frame originalFrame; | ||
|
|
||
| // 1. Prepare some hits |
There was a problem hiding this comment.
We should only have have to set up the tests once (ideally together with the ROOT ones since the setup is independent of the backend, and the same when checking back the values). Isn't it implied that the previous tests have to work for the table conversion to work, and would not be needed? I'm thinking about the json tests a few lines above.
There was a problem hiding this comment.
I am not sure what the comment means exactly.
- Should I remove both the ad-hoc round-trip test(which has manually made frames) and the
JSON Equivalence Check, relying entirely onComprehensive Round-Trip (No-UserData)(which usesmakeFrame(0)andverifyEventNoUserData)? - Or keep
convertFrameToTable Verification/JSON Equivalence Check, refactored to usemakeFrame(0)fromwrite_frame.hinstead of ad-hoc setup?
I am thinking the JSON equivalence is not really required now that we have a round trip test.
There was a problem hiding this comment.
The round trip test does what the json test does right? Then the json test I think is not needed, I think we talked about this when the json test was introduced. Using makeFrame(0) from write_frame.h would be great; also using the functionality from read_test.h would be great and then we can have a single place where a Frame is created and read.
There was a problem hiding this comment.
Removed JSON equivalence test and used makeFrame(0)
This PR implements the deserialization capability for the Apache Arrow backend, completing the round-trip workflow. It adds support for reconstructing PODIO Frame objects from a single-row slice of an Apache Arrow Table.
Key Features & Changes
Testing
Fixes: #986