JuliaGraphs / JuliaGraphs/Graphs.jl

Move testing to `GenericGraph`

Open
#224 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
Julia
Stars
538
Forks
128
Avg merge
10h 25m
Merged PRs (30d)
2

Description

We recently introduced two types called GenericGraph and GenericDiGraph that wrap a SimpleGraph or a SimpleDiGraph. These generic types try to fulfill the AbstractGraph interface in a minimal way, while having no other methods implemented. The idea is then to test functions that can take an AbstractGraph with these generic types instead of simple graphs, in order to verify that they would indeed work with any AbstractGraph.
Similar things can be found in the Julia standard library, for example Test.GenericArray and Test.GenericString.

Now we need to change our tests, so that they use the generic graph types, and try to spot and fix bugs that occur during that process. It is probably not possible to do this for all functions, but at least we can spot the places where that is the case.

Some progress has already been done or at least started in:

  • test/biconnectivity #270
  • test/centrality #272
  • test/community #273
  • test/cycles #274
  • test/shortestpaths #275
  • test/spanningtrees #276
  • test/connectivity.jl #278
  • test/core.jl #278
  • test/degeneracy.jl #278
  • test/distance.jl #278
  • test/edit_distance.jl #278
  • test/operators.jl #278

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the remaining test areas after the completed work listed in the issue, using GenericGraph and GenericDiGraph in place of simple graphs. Run the affected tests and record any failures that reveal functions relying on SimpleGraph or SimpleDiGraph; done means each suitable test uses the generic types and the resulting bugs are fixed or identified as unsupported.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.