Skip to content

Join tests#248

Open
edoyango wants to merge 7 commits intoACCESS-Community-Hub:developfrom
edoyango:join-tests
Open

Join tests#248
edoyango wants to merge 7 commits intoACCESS-Community-Hub:developfrom
edoyango:join-tests

Conversation

@edoyango
Copy link
Collaborator

@edoyango edoyango commented Mar 23, 2026

This PR adds tests for the join numpy/dask/xarray operations. It also implements the corresponding unjoin methods for some of the simpler join methods. doc strings were also updated to reflect what can/can't be undone. the doc strings should now describe whether a notimplementederror or noop happens if an unjoin is not implemented.

Will create an issue listing which unjoins haven't been implemented.

Getting Started

  • If there is not an existing issue, raise a new issue
  • In the issue, state that you are intending to work on a contribution. This gives everyone involved the opportunity to discuss the best way forward.

Docstrings

  • Docstrings complete and follow Napoleon (google) style

Did not create new classes/functions. Left existing doc strings as they are and only updated doc strings related to undo functionality.

Test Coverage

  • All new code is covered by unit tests

Documentation

  • Documentation is updated as required

not needing documentation update

Final Checks:

  • If no generative AI was used, then tick this box

Alternatively, if generative AI was used, then confirm you have:

  • Attributed any generative AI (such as GitHub Copilot) that was used in this PR. See our contributing guide for more information.
  • Included the name and version of the tool or system in the pull request
  • Described the scope of that use

Claude Opus and Sonnet 4.6 used to write numpy unjoin methods and clean up my hand-written test code. Also used for general queries e.g. (what does x do).

Finally,

  • Mark the PR as ready to review. Note - we encourage you to ask for feedback at the outset or at any time during the work.

claude used to discover itertools.accumulate for prefix sum calculations
and implement Stack.unjoin
implemented only for dataarray and dataset inputs, despite
merge accepting dicts too. The implementation should
preserve attributes.
claude used to reduce redundant test code.
also moved input checking to class init instead of in
join method
covers Concatenate InterpLike GeospatialTimeSeriesMerge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant