Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

write more comprehensive Index.select(...) tests #1427

Open
2 tasks
ctb opened this issue Mar 31, 2021 · 1 comment
Open
2 tasks

write more comprehensive Index.select(...) tests #1427

ctb opened this issue Mar 31, 2021 · 1 comment
Labels
good next issue An issue that should be ready to resolve. repeatable quest Issues with many, many subtasks; good for people new to codebase. testing

Comments

@ctb
Copy link
Contributor

ctb commented Mar 31, 2021

#1420 dramatically simplifies and exposes the logic around database compatibility, and makes it possible to test the API directly in Python rather than through the sourmash command line (which is how it's mostly tested right now).

At a high level, this issue entails:

  • write specific tests against select interface for key Index subclasses: LinearIndex, MultiIndex, SBT, LCA_Database
  • also test that partial restrictions (e.g. just ksize) are appropriately implemented

I suggest doing things in the following order:

  • adding some tests to test_index.py that directly test each branching condition in the select_signature function
  • applying those same tests to LinearIndex and MultiIndex
  • then doing the same thing for SBT and LCA_Database` objects

Note that while the select_signature, LinearIndex, and MultiIndex tests may seem highly redundant at the moment (because they all rely on select_signature 😉 ), it's kind of nice to have separate tests for each of these since they are used in varying circumstances and there is no guarantee that the underlying implementation will remain as it is.

@ctb
Copy link
Contributor Author

ctb commented May 4, 2022

now that we have Index protocol tests, these clearly belong there :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good next issue An issue that should be ready to resolve. repeatable quest Issues with many, many subtasks; good for people new to codebase. testing
Projects
None yet
Development

No branches or pull requests

1 participant