Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Tests that need to be written #48

Open
hjabbot opened this issue Mar 21, 2024 · 5 comments
Open

Tests that need to be written #48

hjabbot opened this issue Mar 21, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@hjabbot
Copy link
Collaborator

hjabbot commented Mar 21, 2024

The existing tests are old an need updating. This issue is meant to be a place to host a list of tests we should implement. We should also prune through the existing tests to see what's necessary or redundant.

We can also create a bash script to automatically figure out what tests to run, and then run them, without us having to figure it out manually

@hjabbot hjabbot added the enhancement New feature or request label Mar 21, 2024
@hjabbot
Copy link
Collaborator Author

hjabbot commented Mar 21, 2024

Merging meshes

  • Corner to corner
  • Side to side
  • Corner to side
  • Side to corner
  • Side to larger side
  • Side to smaller side

@hjabbot
Copy link
Collaborator Author

hjabbot commented Mar 21, 2024

Antimeridian

  • Correctly aggregates data
  • Correctly creates neighbour graph
  • Also check global mesh as special case

@hjabbot
Copy link
Collaborator Author

hjabbot commented Mar 21, 2024

Vector splitting

  • Doesn't split open water
  • Splits areas of high curl
  • Doesn't split "visually curly" areas that have zero curl mathematically

@hjabbot
Copy link
Collaborator Author

hjabbot commented Mar 21, 2024

Dataloaders

  • Validation of meshed representation of that data using @SamuelHall700's mesh validator
  • Individual dataloader tests for real data in a private repo to avoid licensing issues
  • LUT dataloader splitting

@SamuelHall700 SamuelHall700 assigned gecoombs and hjabbot and unassigned gecoombs Apr 30, 2024
@hjabbot
Copy link
Collaborator Author

hjabbot commented May 23, 2024

Adding bugs / areas for improvement that I'm finding along the way here as a reminder to fix them after setting up testing:

cellbox.py:

  • deallocate_cellbox() does not remove instance of self, unclear what intended purpose is

aggregated_cellbox.py: (All fixed in PR #70)

  • load_from_json() includes 'id' as part of agg_data
  • inconsistent naming between set_boundary and get_bounds methods
  • contains_point() does not account for antimeridian

neighbour_graph.py:

  • remove_node_from_neighbours() docstring says int values passed to method, but method fails when cellbox_indx is an int. Unsure how this method is actually meant to work, I think there's an error with the casting between int and str somewhere
  • naming of methods is very confusing, e.g. update_neighbour, update_corner_neighbours, update_neighbours all exist and do different things. update_corner_neighbours appears most similar to update_neighbour, and not update_neighbours
  • get_neighbour_case(), get_neighbour_case_bounds(), get_global_mesh_neighbour_case(), initialise_map() all take self as argument but have no call to self, should be staticmethods instead
  • get_global_mesh_neighbour_case() doesn't return 0 when cellboxes aren't connected. This hasn't cropped up before because the method is only called within get_neighbour_case() after doing a check to see if they're connected
  • update_neighbours() docstring says new_neighbour_indx is an int, but references it in code as if it is a list of at least length 2. Unclear what intended input is.

cli.py

  • export_mesh_cli() does not support changing output filename
  • merge_mesh does not change config of first provided mesh, so config params do not match the output mesh

@hjabbot hjabbot mentioned this issue May 23, 2024
8 tasks
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants