Files
Dominik Schulz 1e05f6a618 [chore] Move set from internal to pkg (#3129)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-04-19 20:29:24 +02:00

37 lines
723 B
Go

package set
import (
"math/rand"
"testing"
"github.com/stretchr/testify/assert"
)
func TestSorted(t *testing.T) {
t.Parallel()
want := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
in := append(want, want...)
rand.Shuffle(len(in), func(i, j int) {
in[i], in[j] = in[j], in[i]
})
assert.Equal(t, want, Sorted(in))
}
func TestSortedFiltered(t *testing.T) {
t.Parallel()
in := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
in = append(in, in...)
rand.Shuffle(len(in), func(i, j int) {
in[i], in[j] = in[j], in[i]
})
want := []int{2, 4, 6, 8, 10}
assert.Equal(t, want, SortedFiltered(in, func(i int) bool {
return i%2 == 0
}))
assert.Equal(t, []int{}, SortedFiltered([]int{}, func(i int) bool { return true }))
}