This PR will implement the annotation described in #971.
There are two things that I think @jrchudy should review as I'm not fully sure of:
I'm not entirely sure how to explain the behavior. I explained in both ways, which might be confusing. One is closer to how it's implemented, and the other is a summary of what happens at the end, which is more or less the reverse of the actual code.
While the code changes are minimal and easy to understand, testing it was a pain. Given that there are a lot of different combinations of annotations, I couldn't realistically test every combination. So I picked several scenarios that are more interesting. But as a result, I cannot write the test its in a way to explain which scenario they are testing, and instead, I'm just iterating over all the expected values and making sure those are the same. I'm not a fan of how I wrote the tests, but this is the cleanest version I could think of. We also have already done similar tests in ermrestjs.
This PR will implement the annotation described in #971.
There are two things that I think @jrchudy should review as I'm not fully sure of:
it
s in a way to explain which scenario they are testing, and instead, I'm just iterating over all the expected values and making sure those are the same. I'm not a fan of how I wrote the tests, but this is the cleanest version I could think of. We also have already done similar tests in ermrestjs.