From ce1caa1d0ca6d173eb7b8172609f9b0f6c43f76f Mon Sep 17 00:00:00 2001 From: Mikhail Knyazhev Date: Sun, 31 Dec 2023 05:39:58 +0300 Subject: [PATCH] remove err from kahn.add --- .github/workflows/ci.yml | 2 +- go.mod | 2 +- go.sum | 7 ----- graph/kahn/type.go | 3 +- graph/kahn/type_test.go | 66 ++++++++++++++++++++-------------------- 5 files changed, 36 insertions(+), 44 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd7e425..4fe9a6d 100755 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 diff --git a/go.mod b/go.mod index 5026830..de55895 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module go.osspkg.com/algorithms -go 1.17 +go 1.18 require github.com/stretchr/testify v1.8.4 diff --git a/go.sum b/go.sum index 479781e..fa4b6e6 100644 --- a/go.sum +++ b/go.sum @@ -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= diff --git a/graph/kahn/type.go b/graph/kahn/type.go index da43a39..1c512f1 100644 --- a/graph/kahn/type.go +++ b/graph/kahn/type.go @@ -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) { diff --git a/graph/kahn/type_test.go b/graph/kahn/type_test.go index 4e8149d..4912d87 100644 --- a/graph/kahn/type_test.go +++ b/graph/kahn/type_test.go @@ -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) @@ -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() @@ -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()) } @@ -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 }() } } @@ -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 }()