github.com/songzhibin97/gkit@v1.2.13/internal/stat/window_test.go (about) 1 package stat 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestWindowResetWindow(t *testing.T) { 10 window := NewWindow(3) 11 for i := 0; i < 3; i++ { 12 window.Append(i, 1.0) 13 } 14 window.ResetWindow() 15 for i := 0; i < 3; i++ { 16 assert.Equal(t, len(window.Bucket(i).Points), 0) 17 } 18 } 19 20 func TestWindowResetBucket(t *testing.T) { 21 window := NewWindow(3) 22 for i := 0; i < 3; i++ { 23 window.Append(i, 1.0) 24 } 25 window.ResetBucket(1) 26 assert.Equal(t, len(window.Bucket(1).Points), 0) 27 assert.Equal(t, window.Bucket(0).Points[0], 1.0) 28 assert.Equal(t, window.Bucket(2).Points[0], 1.0) 29 } 30 31 func TestWindowResetBuckets(t *testing.T) { 32 window := NewWindow(3) 33 for i := 0; i < 3; i++ { 34 window.Append(i, 1.0) 35 } 36 window.ResetBuckets([]int{0, 1, 2}) 37 for i := 0; i < 3; i++ { 38 assert.Equal(t, len(window.Bucket(i).Points), 0) 39 } 40 } 41 42 func TestWindowAppend(t *testing.T) { 43 window := NewWindow(3) 44 for i := 0; i < 3; i++ { 45 window.Append(i, 1.0) 46 } 47 for i := 0; i < 3; i++ { 48 assert.Equal(t, window.Bucket(i).Points[0], float64(1.0)) 49 } 50 } 51 52 func TestWindowAdd(t *testing.T) { 53 window := NewWindow(3) 54 window.Append(0, 1.0) 55 window.Add(0, 1.0) 56 assert.Equal(t, window.Bucket(0).Points[0], 2.0) 57 } 58 59 func TestWindowSize(t *testing.T) { 60 window := NewWindow(3) 61 assert.Equal(t, window.Size(), 3) 62 }