Skip to content

Commit

Permalink
Add tests on DepthFirstSearch (#299)
Browse files Browse the repository at this point in the history
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Andrii Siriak <[email protected]>
  • Loading branch information
3 people authored Sep 9, 2021
1 parent b2e79af commit d2f1284
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions graph/depthfirstsearch_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package graph

import (
"reflect"
"testing"
)

func TestDfsWhenPathIsFound(t *testing.T) {
nodes := []int{
1, 2, 3, 4, 5, 6,
}

//Adjacency Matrix for connected nodes
edges := [][]bool{
{false, true, true, false, false, false},
{true, false, false, true, false, false},
{true, false, false, true, false, false},
{false, true, true, false, true, false},
{false, false, false, true, false, true},
{false, false, false, false, true, false},
}

start := 1
end := 6

actual, actualIsFound := DepthFirstSearch(start, end, nodes, edges)
expected := []int{1, 3, 4, 5, 6}
expectedIsFound := true
t.Run("Test Dfs", func(t *testing.T) {
if !reflect.DeepEqual(expected, actual) || !reflect.DeepEqual(actualIsFound, expectedIsFound) {
t.Errorf("got route: %v, want route: %v", actual, expected)
t.Errorf("got isFound: %v, want isFound: %v", actualIsFound, expectedIsFound)
}
})
}

func TestDfsWhenPathIsNotFound(t *testing.T) {
nodes := []int{
1, 2, 3, 4, 5, 6,
}

//Adjacency Matrix for connected nodes
edges := [][]bool{
{false, true, true, false, false, false},
{true, false, false, true, false, false},
{true, false, false, true, false, false},
{false, true, true, false, true, false},
{false, false, false, true, false, true},
{false, false, false, false, true, false},
}

start := 1
end := 7

actual, actualIsFound := DepthFirstSearch(start, end, nodes, edges)
var expected []int
expectedIsFound := false
t.Run("Test Dfs", func(t *testing.T) {
if !reflect.DeepEqual(expected, actual) || !reflect.DeepEqual(actualIsFound, expectedIsFound) {
t.Errorf("got route: %v, want route: %v", actual, expected)
t.Errorf("got isFound: %v, want isFound: %v", actualIsFound, expectedIsFound)
}
})
}

0 comments on commit d2f1284

Please sign in to comment.