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  }