This pr introduces fixtures and functions to align the testing of all operators.
Which issue does this PR tackle?
Fixes #91
How does it solve the problem?
Introduces fixture containing the product of different dimensions (1 and 2) for all vectors in the dataset.
Introduces a utility function that runs a set of datasets against a set of operators and checks if the output and the ground truth mapping have the same shape.
How are the changes tested?
The new tests run for all operators already implemented (according to their properties).
Open Questions
Not every operator is able to fulfill all properties that could be tested in an operator context. Therefore only a subset of these properties need testing for restricted operators (e.g. a fno is not domain independent).
What properties should be tested?
in- and output space descriptions:
different dimensions in x and u (fixture tests this),
different number of dimensions in y and v (fixture tests this),
different number of dimensions in x and y (domain independence, fixture tests this),
different number of dimensions in u and v (domain independence, fixture tests this),
convergence on a trivial identity mapping,
Test for different number of evaluation points.
Should these properties be able to be addressed individually?
Should we introduce a documentation page that lists different properties (domain independence, discretization invariance, ...) of neural operators and categorizes them?
Checklist for Contributors
[x] Scope: This PR tackles exactly one problem.
[x] Conventions: The branch follows the feature/title-slug convention.
[x] Conventions: The PR title follows the Bugfix: Title convention.
[x] Coding style: The code passes all pre-commit hooks.
[x] Documentation: All changes are well-documented.
[x] Tests: New features are tested and all tests pass successfully.
[x] Changelog: Updated CHANGELOG.md for new features or breaking changes.
[x] Review: A suitable reviewer has been assigned.
Checklist for Reviewers:
[x] The PR solves the issue it claims to solve and only this one.
[x] Changes are tested sufficiently and all tests pass.
Cleanup: Operator tests
Description
This pr introduces fixtures and functions to align the testing of all operators.
Which issue does this PR tackle?
How does it solve the problem?
How are the changes tested?
Open Questions
Checklist for Contributors
feature/title-slug
convention.Bugfix: Title
convention.Checklist for Reviewers: