mirror of
https://github.com/gopasspw/gopass.git
synced 2026-05-30 11:18:48 +02:00
1e05f6a618
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
37 lines
723 B
Go
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 }))
|
|
}
|