-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathuniquepathsii_test.go
35 lines (31 loc) · 995 Bytes
/
uniquepathsii_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package uniquepathsii
import (
"testing"
"github.com/WindomZ/testify/assert"
)
func Test_uniquePathsWithObstacles(t *testing.T) {
assert.Equal(t, 0,
uniquePathsWithObstacles([][]int{}))
assert.Equal(t, 2,
uniquePathsWithObstacles([][]int{{0, 0}, {0, 0}}))
assert.Equal(t, 3,
uniquePathsWithObstacles([][]int{{0, 0}, {0, 0}, {0, 0}}))
assert.Equal(t, 6,
uniquePathsWithObstacles([][]int{{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}))
assert.Equal(t, 2,
uniquePathsWithObstacles([][]int{{0, 0, 0}, {0, 1, 0}, {0, 0, 0}}))
}
func Benchmark_uniquePathsWithObstacles(b *testing.B) {
b.StopTimer()
b.ReportAllocs()
b.StartTimer()
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
uniquePathsWithObstacles([][]int{})
uniquePathsWithObstacles([][]int{{0, 0}, {0, 0}})
uniquePathsWithObstacles([][]int{{0, 0}, {0, 0}, {0, 0}})
uniquePathsWithObstacles([][]int{{0, 0, 0}, {0, 0, 0}, {0, 0, 0}})
uniquePathsWithObstacles([][]int{{0, 0, 0}, {0, 1, 0}, {0, 0, 0}})
}
})
}