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

Test coverage #22

Open
nsbgn opened this issue Apr 29, 2021 · 1 comment
Open

Test coverage #22

nsbgn opened this issue Apr 29, 2021 · 1 comment

Comments

@nsbgn
Copy link
Contributor

nsbgn commented Apr 29, 2021

Test coverage should be automatically maintained via coverage.py.

Necessary tests separated by theme so as to have a hold on how to organize tests:

  • type.py

    • Does type inference work?
    • Do subtype relations hold?
    • Are constraints minimized properly?
    • Do constraints raise errors at the appropriate times?
  • expr.py

    • Can we compose expressions? Do the types check?
    • Are the types fixed at the appropriate times?
    • Are DeclarationErrors raised when they should?
    • Does printing expressions as strings work in the way we expect?
  • lang.py

    • Can we parse everything we want? That is, inline typing, curried and uncurried functions, anonymous sources, labelled sources...
    • Are expressions printed as strings and then parsed equal to the original expressions?
  • graph.py

    • Are expressions properly translated into graphs? What happens when a function is taken as parameter? What happens when that function contains variables? What happens when an expression can be expanded into primitives?
  • query.py

    • Do queries work in all situations?

The above list is to be expanded.

@nsbgn nsbgn changed the title Tests for expressions. Test coverage Oct 31, 2021
@nsbgn
Copy link
Contributor Author

nsbgn commented Nov 1, 2021

Tests should also be simplified as I started doing in 12feaf3 and b2b9838.

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

No branches or pull requests

1 participant