package netmap

import (
	"testing"

	"github.com/stretchr/testify/require"
)

func TestMinAgg(t *testing.T) {
	tests := []struct {
		vals []float64
		res  float64
	}{
		{
			vals: []float64{1, 2, 3, 0, 10},
			res:  0,
		},
		{
			vals: []float64{10, 0, 10, 0},
			res:  0,
		},
		{
			vals: []float64{0, 1, 2, 3, 10},
			res:  0,
		},
		{
			vals: []float64{0, 0, 0, 0},
			res:  0,
		},
		{
			vals: []float64{10, 10, 10, 10},
			res:  10,
		},
	}

	for _, test := range tests {
		a := newMinAgg()
		for _, val := range test.vals {
			a.Add(val)
		}

		require.Equal(t, test.res, a.Compute())
	}
}