package maps_test import ( "testing" "github.com/stretchr/testify/assert" u "github.com/rjNemo/underscore" m "github.com/rjNemo/underscore/maps" ) func TestMap(t *testing.T) { scores := m.M[string, int]{ "alice": 0, "bob": 10, "clara": 7, "david": 23, } hasWon := func(key string, value int) m.M[string, bool] { return m.M[string, bool]{key: value > 21} } want := m.M[string, bool]{ "alice": false, "bob": false, "clara": false, "david": true, } assert.Equal(t, want, m.Map(scores, hasWon)) } func TestMapSlices(t *testing.T) { scores := []m.M[string, int]{ {"score": 0}, {"score": 10}, {"score": 7}, {"score": 23}, } hasWon := func(s m.M[string, int]) bool { return s["score"] > 21 } want := []bool{false, false, false, true} assert.Equal(t, want, u.Map(scores, hasWon)) }