Skip to content

Commit c6e55e9

Browse files
authored
Merge pull request #150 from ss14/master
add search tests
2 parents 4c7a731 + 33f933f commit c6e55e9

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

searches/search_test.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package main
2+
3+
import "testing"
4+
5+
type searchTest struct {
6+
data []int
7+
key int
8+
expected int
9+
name string
10+
}
11+
12+
var searchTests = []searchTest{
13+
//Sanity
14+
{[]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 5, 4, "Sanity"},
15+
//Absent
16+
{[]int{1, 4, 5, 6, 7, 10}, 25, -1, "Absent"},
17+
//Empty slice
18+
{[]int{}, 2, -1, "Empty"},
19+
}
20+
21+
func TestBinarySearch(t *testing.T) {
22+
for _, test := range searchTests {
23+
actual := binarySearch(test.data, test.key, 0, len(test.data)-1)
24+
if actual != test.expected {
25+
t.Errorf("test %s failed", test.name)
26+
}
27+
}
28+
}
29+
30+
func TestLinearSearch(t *testing.T) {
31+
for _, test := range searchTests {
32+
actual := linearSearch(test.data, test.key)
33+
if actual != test.expected {
34+
t.Errorf("test %s failed", test.name)
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)