You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1021 B
45 lines
1021 B
2 years ago
|
package runningsum_test
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"git.jxs.me/leetgo/runningsum"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func TestEmpty(t *testing.T) {
|
||
|
expected := make([]int, 0)
|
||
|
actual := runningsum.RunningSum([]int{})
|
||
|
require.Equal(t, expected, actual)
|
||
|
}
|
||
|
|
||
|
func TestSingle(t *testing.T) {
|
||
|
expected := []int{1}
|
||
|
actual := runningsum.RunningSum([]int{1})
|
||
|
require.Equal(t, expected, actual)
|
||
|
}
|
||
|
|
||
|
func TestDouble(t *testing.T) {
|
||
|
expected := []int{1, 2}
|
||
|
actual := runningsum.RunningSum([]int{1, 1})
|
||
|
require.Equal(t, expected, actual)
|
||
|
}
|
||
|
|
||
|
func TestExample1(t *testing.T) {
|
||
|
expected := []int{1, 3, 6, 10}
|
||
|
actual := runningsum.RunningSum([]int{1, 2, 3, 4})
|
||
|
require.Equal(t, expected, actual)
|
||
|
}
|
||
|
|
||
|
func TestExample2(t *testing.T) {
|
||
|
expected := []int{1, 2, 3, 4, 5}
|
||
|
actual := runningsum.RunningSum([]int{1, 1, 1, 1, 1})
|
||
|
require.Equal(t, expected, actual)
|
||
|
}
|
||
|
|
||
|
func TestExample3(t *testing.T) {
|
||
|
expected := []int{3, 4, 6, 16, 17}
|
||
|
actual := runningsum.RunningSum([]int{3, 1, 2, 10, 1})
|
||
|
require.Equal(t, expected, actual)
|
||
|
}
|