Skip to content

Commit

Permalink
Merge pull request #16 from osspkg/fix-kahn
Browse files Browse the repository at this point in the history
remove err from kahn.add
  • Loading branch information
markus621 committed Dec 31, 2023
2 parents 8c895de + ce1caa1 commit a209874
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 44 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.17', '1.18', '1.19' ]
go: [ '1.18', '1.19', '1.20', '1.21' ]
steps:
- uses: actions/checkout@v3

Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module go.osspkg.com/algorithms

go 1.17
go 1.18

require github.com/stretchr/testify v1.8.4

Expand Down
7 changes: 0 additions & 7 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
3 changes: 1 addition & 2 deletions graph/kahn/type.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,11 @@ func New() *Graph {
}

// Add - Adding a graph edge
func (k *Graph) Add(from, to string) error {
func (k *Graph) Add(from, to string) {
if _, ok := k.graph[from]; !ok {
k.graph[from] = make(map[string]int)
}
k.graph[from][to]++
return nil
}

func (k *Graph) BreakPoint(point string) {
Expand Down
66 changes: 33 additions & 33 deletions graph/kahn/type_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ import (

func TestUnit_KahnCoherent(t *testing.T) {
graph := New()
require.NoError(t, graph.Add("a", "b"))
require.NoError(t, graph.Add("a", "c"))
require.NoError(t, graph.Add("a", "d"))
require.NoError(t, graph.Add("a", "e"))
require.NoError(t, graph.Add("b", "d"))
require.NoError(t, graph.Add("c", "d"))
require.NoError(t, graph.Add("c", "e"))
require.NoError(t, graph.Add("d", "e"))
graph.Add("a", "b")
graph.Add("a", "c")
graph.Add("a", "d")
graph.Add("a", "e")
graph.Add("b", "d")
graph.Add("c", "d")
graph.Add("c", "e")
graph.Add("d", "e")
require.NoError(t, graph.Build())
result := graph.Result()
require.True(t, len(result) == 5)
Expand All @@ -30,14 +30,14 @@ func TestUnit_KahnCoherent(t *testing.T) {

func TestUnit_KahnCoherentBreakPoint(t *testing.T) {
graph := New()
require.NoError(t, graph.Add("a", "b"))
require.NoError(t, graph.Add("a", "c"))
require.NoError(t, graph.Add("a", "d"))
require.NoError(t, graph.Add("a", "e"))
require.NoError(t, graph.Add("b", "d"))
require.NoError(t, graph.Add("c", "d"))
require.NoError(t, graph.Add("c", "e"))
require.NoError(t, graph.Add("d", "e"))
graph.Add("a", "b")
graph.Add("a", "c")
graph.Add("a", "d")
graph.Add("a", "e")
graph.Add("b", "d")
graph.Add("c", "d")
graph.Add("c", "e")
graph.Add("d", "e")
graph.BreakPoint("d")
require.NoError(t, graph.Build())
result := graph.Result()
Expand All @@ -47,18 +47,18 @@ func TestUnit_KahnCoherentBreakPoint(t *testing.T) {

func TestUnit_KahnCoherentBreakPoint2(t *testing.T) {
graph := New()
require.NoError(t, graph.Add("a", "b"))
require.NoError(t, graph.Add("a", "c"))
require.NoError(t, graph.Add("a", "d"))
graph.Add("a", "b")
graph.Add("a", "c")
graph.Add("a", "d")
graph.BreakPoint("w")
require.Error(t, graph.Build())
}

func TestUnit_KahnCyclical(t *testing.T) {
graph := New()
require.NoError(t, graph.Add("1", "2"))
require.NoError(t, graph.Add("2", "3"))
require.NoError(t, graph.Add("3", "2"))
graph.Add("1", "2")
graph.Add("2", "3")
graph.Add("3", "2")
require.Error(t, graph.Build())
}

Expand All @@ -67,12 +67,12 @@ func Benchmark_Kahn1(b *testing.B) {
for i := 0; i < b.N; i++ {
func() {
graph := New()
_ = graph.Add("1", "2") //nolint:errcheck
_ = graph.Add("1", "3") //nolint:errcheck
_ = graph.Add("3", "4") //nolint:errcheck
_ = graph.Add("2", "4") //nolint:errcheck
_ = graph.Add("4", "5") //nolint:errcheck
_ = graph.Build() //nolint:errcheck
graph.Add("1", "2")
graph.Add("1", "3")
graph.Add("3", "4")
graph.Add("2", "4")
graph.Add("4", "5")
_ = graph.Build() //nolint:errcheck
}()
}
}
Expand All @@ -82,11 +82,11 @@ func Benchmark_Kahn2(b *testing.B) {
for i := 0; i < b.N; i++ {
func() {
graph := New()
_ = graph.Add("1", "2") //nolint:errcheck
_ = graph.Add("1", "3") //nolint:errcheck
_ = graph.Add("3", "4") //nolint:errcheck
_ = graph.Add("2", "4") //nolint:errcheck
_ = graph.Add("4", "5") //nolint:errcheck
graph.Add("1", "2")
graph.Add("1", "3")
graph.Add("3", "4")
graph.Add("2", "4")
graph.Add("4", "5")
graph.BreakPoint("2")
_ = graph.Build() //nolint:errcheck
}()
Expand Down

0 comments on commit a209874

Please sign in to comment.