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

Automated testing to compare with networkx #10

Open
eriknw opened this issue May 20, 2022 · 1 comment
Open

Automated testing to compare with networkx #10

eriknw opened this issue May 20, 2022 · 1 comment
Labels
tests Unit tests and/or continuous integration

Comments

@eriknw
Copy link
Member

eriknw commented May 20, 2022

It would be super-duper handy to be able to automatically generate input graphs and node selection lists (i.e., masks) to run with both NetworkX and graphblas-algorithms and compare results.

For example, it would be nice to cover:

  • Graph and DiGraph
  • With and w/o self-edges
  • Symmetric and asymmetric DiGraph
  • Purely structural (all edges 1)
  • Edge values contain all combinations of {positive, 0, negative}, and with ints or floats
  • Different edge densities, including full graph (w/ and w/o self-edges)
  • Empty graph, only self-edges
  • Some rows and/or columns are empty (i.e., no in-edges or out-edges or both)
  • Perhaps some graphs with specific shapes: ring, tree, DAG, etc
  • Bipartite graphs
  • More than one groups of connected components (by construction)
  • etc.

Perhaps we could leverage hypothesis to help generate random inputs. I would be delighted if we began with a very small subset of the above.

CC @jim22k who has done similar work in the past. Having this functionality would be incredibly useful in making sure we match NetworkX. For one thing, it would help us determine what to do about self-edges, which may be poorly defined at times for NetworkX (I really don't know if it is or not), but should be well-defined for us: do what NetworkX does.

@eriknw
Copy link
Member Author

eriknw commented May 23, 2022

@eriknw eriknw changed the title Warm fuzzies: automated testing to compare with networkx Automated testing to compare with networkx Jun 8, 2022
@eriknw eriknw added the tests Unit tests and/or continuous integration label Jun 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests Unit tests and/or continuous integration
Projects
None yet
Development

No branches or pull requests

1 participant