Structure Test Suite - Test Data Types and Serialization Types Don't Match?

This issue is based on some assumptions I've and knowledge from my team. Correct me please if any of it is wrong or misguided. An ongoing thing we're doing is better supporting the structure testing suite and having a more accurate features list for our Graph. Array types are supported by our Graph, and the way we handled it is by using Lists, since when GLVs serialize property values of type array or list they come in as an ArrayList. However, the structure test suite, namely PropertyTest, sends the property value type directly to the graph as int[]{1, 2, 3} for example which breaks our Graph since we only expected ArrayList due to the expectation of serialization. In response, I made our Graph handle this by containing the values in a List if it were to see an array passed in as a property value. Not the best, since it adds overhead for a scenario that wouldn't exist in real use, but anyways... However, this did not fix the issue, as even after doing this, PropertyTest also expects the value coming back out to be an array instead of a List. 1. What's the best way of handling this, if there even is one, without either reworking how our Graph functions under the hood or opting out of the tests? 2. I think the test suite is flawed to be using arrays, as this does not match what the serializer gives to the Graph, which can be considered the source of truth?
1 Reply
Yang Xia
Yang Xia2w ago
From my understanding, the structure tests were suited for embedded graphs, whereas the feature tests should cover the remote cases, which might imply opting out of those tests. However, do note that the remote feature tests might not cover all cases at this point, though there is intention to make it more well-rounded.
Want results from more Discord servers?
Add your server