Skip to content

Commit 314fbf6

Browse files
committed
add tests
1 parent 148dd22 commit 314fbf6

File tree

17 files changed

+361
-7
lines changed

17 files changed

+361
-7
lines changed

src/binary-tree-inorder-traversal/solution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,5 @@ func main() {
5959
&TreeNode{8, nil, nil},
6060
&TreeNode{9, nil, nil}},
6161
nil}}
62-
fmt.Println(inorderTraversal(tree))
62+
fmt.Printf("%#v", inorderTraversal(tree))
6363
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package main
2+
3+
import (
4+
"reflect"
5+
"testing"
6+
)
7+
8+
func Test_inorderTraversal(t *testing.T) {
9+
type args struct {
10+
root *TreeNode
11+
}
12+
tests := []struct {
13+
name string
14+
args args
15+
want []int
16+
}{
17+
{
18+
"1",
19+
args{
20+
&TreeNode{1,
21+
&TreeNode{2,
22+
&TreeNode{4,
23+
&TreeNode{7, nil, nil},
24+
nil},
25+
&TreeNode{5, nil, nil}},
26+
&TreeNode{3,
27+
&TreeNode{6,
28+
&TreeNode{8, nil, nil},
29+
&TreeNode{9, nil, nil}},
30+
nil}},
31+
},
32+
[]int{7, 4, 2, 5, 1, 8, 6, 9, 3},
33+
},
34+
}
35+
for _, tt := range tests {
36+
t.Run(tt.name, func(t *testing.T) {
37+
if got := inorderTraversal(tt.args.root); !reflect.DeepEqual(got, tt.want) {
38+
t.Errorf("inorderTraversal() = %v, want %v", got, tt.want)
39+
}
40+
})
41+
}
42+
}

src/binary-tree-level-order-traversal/solution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,5 @@ func main() {
5252
&TreeNode{8, nil, nil},
5353
&TreeNode{9, nil, nil}},
5454
nil}}
55-
fmt.Println(levelOrder(tree))
55+
fmt.Printf("%#v", levelOrder(tree))
5656
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package main
2+
3+
import (
4+
"reflect"
5+
"testing"
6+
)
7+
8+
func Test_levelOrder(t *testing.T) {
9+
type args struct {
10+
root *TreeNode
11+
}
12+
tests := []struct {
13+
name string
14+
args args
15+
want [][]int
16+
}{
17+
{
18+
"1",
19+
args{&TreeNode{1,
20+
&TreeNode{2,
21+
&TreeNode{4,
22+
&TreeNode{7, nil, nil},
23+
nil},
24+
&TreeNode{5, nil, nil}},
25+
&TreeNode{3,
26+
&TreeNode{6,
27+
&TreeNode{8, nil, nil},
28+
&TreeNode{9, nil, nil}},
29+
nil}}},
30+
[][]int{{1}, {2, 3}, {4, 5, 6}, {7, 8, 9}},
31+
},
32+
}
33+
for _, tt := range tests {
34+
t.Run(tt.name, func(t *testing.T) {
35+
if got := levelOrder(tt.args.root); !reflect.DeepEqual(got, tt.want) {
36+
t.Errorf("levelOrder() = %v, want %v", got, tt.want)
37+
}
38+
})
39+
}
40+
}

src/binary-tree-postorder-traversal/solution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,5 @@ func main() {
5656
&TreeNode{8, nil, nil},
5757
&TreeNode{9, nil, nil}},
5858
nil}}
59-
fmt.Println(postorderTraversal(tree))
59+
fmt.Printf("%#v",postorderTraversal(tree))
6060
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package main
2+
3+
import (
4+
"reflect"
5+
"testing"
6+
)
7+
8+
func Test_postorderTraversal(t *testing.T) {
9+
type args struct {
10+
root *TreeNode
11+
}
12+
tests := []struct {
13+
name string
14+
args args
15+
want []int
16+
}{
17+
{
18+
"1",
19+
args{
20+
&TreeNode{1,
21+
&TreeNode{2,
22+
&TreeNode{4,
23+
&TreeNode{7, nil, nil},
24+
nil},
25+
&TreeNode{5, nil, nil}},
26+
&TreeNode{3,
27+
&TreeNode{6,
28+
&TreeNode{8, nil, nil},
29+
&TreeNode{9, nil, nil}},
30+
nil}},
31+
},
32+
[]int{7, 4, 5, 2, 8, 9, 6, 3, 1},
33+
},
34+
}
35+
for _, tt := range tests {
36+
t.Run(tt.name, func(t *testing.T) {
37+
if got := postorderTraversal(tt.args.root); !reflect.DeepEqual(got, tt.want) {
38+
t.Errorf("postorderTraversal() = %v, want %v", got, tt.want)
39+
}
40+
})
41+
}
42+
}

src/binary-tree-preorder-traversal/solution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,5 @@ func main() {
4747
&TreeNode{8, nil, nil},
4848
&TreeNode{9, nil, nil}},
4949
nil}}
50-
fmt.Println(preorderTraversal(tree))
50+
fmt.Printf("%#v", preorderTraversal(tree))
5151
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package main
2+
3+
import (
4+
"reflect"
5+
"testing"
6+
)
7+
8+
func Test_preorderTraversal(t *testing.T) {
9+
type args struct {
10+
root *TreeNode
11+
}
12+
tests := []struct {
13+
name string
14+
args args
15+
want []int
16+
}{
17+
{
18+
"1",
19+
args{
20+
&TreeNode{1,
21+
&TreeNode{2,
22+
&TreeNode{4,
23+
&TreeNode{7, nil, nil},
24+
nil},
25+
&TreeNode{5, nil, nil}},
26+
&TreeNode{3,
27+
&TreeNode{6,
28+
&TreeNode{8, nil, nil},
29+
&TreeNode{9, nil, nil}},
30+
nil}},
31+
},
32+
[]int{1, 2, 4, 7, 5, 3, 6, 8, 9},
33+
},
34+
}
35+
for _, tt := range tests {
36+
t.Run(tt.name, func(t *testing.T) {
37+
if got := preorderTraversal(tt.args.root); !reflect.DeepEqual(got, tt.want) {
38+
t.Errorf("preorderTraversal() = %v, want %v", got, tt.want)
39+
}
40+
})
41+
}
42+
}
43+

src/binary-tree-right-side-view/solution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,5 @@ func main() {
4343
&TreeNode{8, nil, nil},
4444
&TreeNode{9, nil, nil}},
4545
nil}}
46-
fmt.Println(rightSideView(tree))
46+
fmt.Printf("%#v", rightSideView(tree))
4747
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package main
2+
3+
import (
4+
"reflect"
5+
"testing"
6+
)
7+
8+
func Test_rightSideView(t *testing.T) {
9+
type args struct {
10+
root *TreeNode
11+
}
12+
tests := []struct {
13+
name string
14+
args args
15+
want []int
16+
}{
17+
{
18+
"1",
19+
args{
20+
&TreeNode{1,
21+
&TreeNode{2,
22+
&TreeNode{4,
23+
&TreeNode{7, nil, nil},
24+
nil},
25+
&TreeNode{5, nil, nil}},
26+
&TreeNode{3,
27+
&TreeNode{6,
28+
&TreeNode{8, nil, nil},
29+
&TreeNode{9, nil, nil}},
30+
nil}},
31+
},
32+
[]int{1, 3, 6, 9},
33+
},
34+
}
35+
for _, tt := range tests {
36+
t.Run(tt.name, func(t *testing.T) {
37+
if got := rightSideView(tt.args.root); !reflect.DeepEqual(got, tt.want) {
38+
t.Errorf("rightSideView() = %v, want %v", got, tt.want)
39+
}
40+
})
41+
}
42+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package main
2+
3+
import "testing"
4+
5+
func Test_numRescueBoats(t *testing.T) {
6+
type args struct {
7+
people []int
8+
limit int
9+
}
10+
tests := []struct {
11+
name string
12+
args args
13+
want int
14+
}{
15+
{
16+
"1",
17+
args{[]int{3, 5, 3, 4}, 5},
18+
4,
19+
},
20+
}
21+
for _, tt := range tests {
22+
t.Run(tt.name, func(t *testing.T) {
23+
if got := numRescueBoats(tt.args.people, tt.args.limit); got != tt.want {
24+
t.Errorf("numRescueBoats() = %v, want %v", got, tt.want)
25+
}
26+
})
27+
}
28+
}

src/climbing-stairs/solution_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package main
2+
3+
import "testing"
4+
5+
func Test_climbStairs(t *testing.T) {
6+
type args struct {
7+
n int
8+
}
9+
tests := []struct {
10+
name string
11+
args args
12+
want int
13+
}{
14+
{
15+
"1",
16+
args{5},
17+
8,
18+
},
19+
}
20+
for _, tt := range tests {
21+
t.Run(tt.name, func(t *testing.T) {
22+
if got := climbStairs(tt.args.n); got != tt.want {
23+
t.Errorf("climbStairs() = %v, want %v", got, tt.want)
24+
}
25+
})
26+
}
27+
}

src/coin-change/solution_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package main
2+
3+
import "testing"
4+
5+
func Test_coinChange(t *testing.T) {
6+
type args struct {
7+
coins []int
8+
amount int
9+
}
10+
tests := []struct {
11+
name string
12+
args args
13+
want int
14+
}{
15+
{
16+
"1",
17+
args{[]int{1, 2, 5}, 11},
18+
3,
19+
},
20+
}
21+
for _, tt := range tests {
22+
t.Run(tt.name, func(t *testing.T) {
23+
if got := coinChange(tt.args.coins, tt.args.amount); got != tt.want {
24+
t.Errorf("coinChange() = %v, want %v", got, tt.want)
25+
}
26+
})
27+
}
28+
}

src/combination-sum-ii/solution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ func findCombination(candidates []int, index int, target int, current []int, res
3838
func main() {
3939
candidates := []int{10, 1, 2, 7, 6, 1, 5}
4040
target := 8
41-
fmt.Println(combinationSum2(candidates, target))
41+
fmt.Printf("%#v", combinationSum2(candidates, target))
4242
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package main
2+
3+
import (
4+
"reflect"
5+
"testing"
6+
)
7+
8+
func Test_combinationSum2(t *testing.T) {
9+
type args struct {
10+
candidates []int
11+
target int
12+
}
13+
tests := []struct {
14+
name string
15+
args args
16+
want [][]int
17+
}{
18+
{
19+
"1",
20+
args{[]int{10, 1, 2, 7, 6, 1, 5}, 8},
21+
[][]int{{1, 1, 6}, {1, 2, 5}, {1, 7}, {2, 6}},
22+
},
23+
}
24+
for _, tt := range tests {
25+
t.Run(tt.name, func(t *testing.T) {
26+
if got := combinationSum2(tt.args.candidates, tt.args.target); !reflect.DeepEqual(got, tt.want) {
27+
t.Errorf("combinationSum2() = %v, want %v", got, tt.want)
28+
}
29+
})
30+
}
31+
}

src/combination-sum/solution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ func dfs(candidates []int, idx int, target int, curr []int, result *[][]int) {
3232

3333
func main() {
3434
candidates := []int{2, 3, 5}
35-
fmt.Println(combinationSum(candidates, 8))
35+
fmt.Printf("%#v", combinationSum(candidates, 8))
3636
}

0 commit comments

Comments
 (0)