blob: 2314fc8dac74c1d3e8e68c5ad0f17858884b3b9b [file] [log] [blame]
package dataframe
import (
"testing"
"github.com/stretchr/testify/assert"
"go.skia.org/infra/go/testutils/unittest"
"go.skia.org/infra/go/vcsinfo"
)
func TestDownSample(t *testing.T) {
unittest.SmallTest(t)
sample := []*vcsinfo.IndexCommit{}
for i := 0; i < 5; i++ {
sample = append(sample, &vcsinfo.IndexCommit{Index: i})
}
ss, n := DownSample(sample, 5)
assert.Equal(t, 5, len(ss))
assert.Equal(t, 0, n)
ss, n = DownSample(sample, 6)
assert.Equal(t, 5, len(ss))
assert.Equal(t, 0, n)
ss, n = DownSample(sample, 3)
assert.Equal(t, 3, len(ss))
assert.Equal(t, 1, n)
assert.Equal(t, 2, ss[1].Index)
assert.Equal(t, 4, ss[2].Index)
ss, n = DownSample(sample, 1)
assert.Equal(t, 4, n)
assert.Equal(t, 1, len(ss))
ss, n = DownSample(sample[:1], 1)
assert.Equal(t, 0, n)
assert.Equal(t, 1, len(ss))
ss, n = DownSample([]*vcsinfo.IndexCommit{}, 1)
assert.Equal(t, 0, n)
assert.Equal(t, 0, len(ss))
ss, n = DownSample(sample, 0)
assert.Equal(t, 0, n)
assert.Equal(t, 5, len(ss))
ss, n = DownSample(sample, 4)
assert.Equal(t, 1, n)
assert.Equal(t, 3, len(ss))
}