From ee4467856c50c7e493ee5fcc562f194f207ccd8c Mon Sep 17 00:00:00 2001 From: fchrstou Date: Thu, 26 Jan 2023 17:06:12 +0100 Subject: [PATCH] Add empty constructors --- src/di_multigraph_adjlist.jl | 3 +++ src/multigraph_adjlist.jl | 3 +++ test/di_multigraph_adjlist.jl | 9 ++++++++- test/multigraph_adjlist.jl | 9 ++++++++- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/di_multigraph_adjlist.jl b/src/di_multigraph_adjlist.jl index 6f587c0..8caa8a4 100644 --- a/src/di_multigraph_adjlist.jl +++ b/src/di_multigraph_adjlist.jl @@ -45,6 +45,9 @@ function DiMultigraph(adjmx::AbstractMatrix{U}) where {U<:Integer} end DiMultigraph{Int}(adjlist, m) end +DiMultigraph() = DiMultigraph(0) +DiMultigraph{T}() where T = DiMultigraph(0) +DiMultigraph{T}(t::T) where T = DiMultigraph(t) function DiMultigraph(n::T) where {T<:Integer} n >= 0 || error("Number of vertices should be non-negative") adjlist = Dict{T, Vector{T}}() diff --git a/src/multigraph_adjlist.jl b/src/multigraph_adjlist.jl index 2fe2944..7b2ae77 100644 --- a/src/multigraph_adjlist.jl +++ b/src/multigraph_adjlist.jl @@ -48,6 +48,9 @@ function Multigraph(adjmx::AbstractMatrix{U}) where {U<:Integer} end Multigraph{Int}(adjlist, m) end +Multigraph() = Multigraph(0) +Multigraph{T}() where T = Multigraph(0) +Multigraph{T}(t::T) where T = Multigraph(t) function Multigraph(n::T) where {T<:Integer} n >= 0 || error("Number of vertices should be non-negative") adjlist = Dict{T, Vector{T}}() diff --git a/test/di_multigraph_adjlist.jl b/test/di_multigraph_adjlist.jl index a158ff3..027402b 100644 --- a/test/di_multigraph_adjlist.jl +++ b/test/di_multigraph_adjlist.jl @@ -72,4 +72,11 @@ add_vertex!(g) @test indegree(g) != outdegree(g) dmg0 = DiMultigraph(0) -@test nv(dmg0) == ne(dmg0) == 0 \ No newline at end of file +@test nv(dmg0) == ne(dmg0) == 0 + +#test constructor +@test try DiMultigraph(1); true; catch; false; end +@test try DiMultigraph{Int}(1); true; catch; false; end +@test try DiMultigraph(); true; catch; false; end +@test try DiMultigraph{Int}(); true; catch; false; end + diff --git a/test/multigraph_adjlist.jl b/test/multigraph_adjlist.jl index 19fc409..2fe9462 100644 --- a/test/multigraph_adjlist.jl +++ b/test/multigraph_adjlist.jl @@ -68,4 +68,11 @@ add_vertex!(g) @test indegree(g) == outdegree(g) mg0 = Multigraph(0) -@test nv(mg0) == ne(mg0) == 0 \ No newline at end of file +@test nv(mg0) == ne(mg0) == 0 + +#test constructor +@test try Multigraph(1); true; catch; false; end +@test try Multigraph{Int}(1); true; catch; false; end +@test try Multigraph(); true; catch; false; end +@test try Multigraph{Int}(); true; catch; false; end +