blob: 79b885d106b4d34ba2a045a50992c19e7d57a061 [file] [log] [blame]
package accum
import (
"testing"
"github.com/stretchr/testify/assert"
"go.skia.org/infra/go/testutils"
)
func TestAccum(t *testing.T) {
testutils.SmallTest(t)
lastValues := []int64{}
r := func(metric string, tags map[string]string, value int64) {
lastValues = append(lastValues, value)
}
a := New(r)
tags := map[string]string{
"bot": "foo",
"task": "bar",
}
a.Add("some.duration", tags, 12)
assert.NotNil(t, a.values["some.duration"])
assert.NotNil(t, a.values["some.duration"]["bot foo task bar"])
assert.Equal(t, int64(12), a.values["some.duration"]["bot foo task bar"].total)
assert.Equal(t, int64(1), a.values["some.duration"]["bot foo task bar"].num)
assert.Equal(t, "foo", a.values["some.duration"]["bot foo task bar"].tags["bot"])
a.Add("some.duration", tags, 30)
assert.Equal(t, int64(42), a.values["some.duration"]["bot foo task bar"].total)
assert.Equal(t, int64(2), a.values["some.duration"]["bot foo task bar"].num)
a.Report()
assert.Equal(t, 2, len(lastValues))
}