| package continuous |
| |
| import ( |
| "sort" |
| "testing" |
| |
| "github.com/stretchr/testify/assert" |
| "go.skia.org/infra/android_ingest/go/buildapi" |
| "go.skia.org/infra/go/testutils/unittest" |
| ) |
| |
| func TestRationalize(t *testing.T) { |
| unittest.SmallTest(t) |
| |
| // startTS is much later. |
| builds := []buildapi.Build{ |
| {TS: 120}, |
| {TS: 123}, |
| {TS: 125}, |
| } |
| builds = rationalizeTimestamps(builds, 200) |
| assert.Equal(t, int64(201), builds[0].TS) |
| assert.Equal(t, int64(202), builds[1].TS) |
| assert.Equal(t, int64(203), builds[2].TS) |
| |
| // startTS is in middle. |
| builds = []buildapi.Build{ |
| {TS: 120}, |
| {TS: 123}, |
| {TS: 125}, |
| } |
| builds = rationalizeTimestamps(builds, 122) |
| assert.Equal(t, int64(123), builds[0].TS) |
| assert.Equal(t, int64(124), builds[1].TS) |
| assert.Equal(t, int64(125), builds[2].TS) |
| |
| // startTS is way before. |
| builds = []buildapi.Build{ |
| {TS: 120}, |
| {TS: 123}, |
| {TS: 125}, |
| } |
| builds = rationalizeTimestamps(builds, 100) |
| assert.Equal(t, int64(120), builds[0].TS) |
| assert.Equal(t, int64(121), builds[1].TS) |
| assert.Equal(t, int64(122), builds[2].TS) |
| } |
| |
| func TestSort(t *testing.T) { |
| unittest.SmallTest(t) |
| builds := []buildapi.Build{ |
| {TS: 120, BuildId: 12}, |
| {TS: 123, BuildId: 11}, |
| {TS: 125, BuildId: 13}, |
| } |
| sort.Sort(BuildSlice(builds)) |
| assert.Equal(t, int64(11), builds[0].BuildId) |
| assert.Equal(t, int64(123), builds[0].TS) |
| assert.Equal(t, int64(12), builds[1].BuildId) |
| assert.Equal(t, int64(13), builds[2].BuildId) |
| } |