1 package events 2 3 import "testing" 4 5 func TestFilter(t *testing.T) { 6 const nevents = 100 7 ts := newTestSink(t, nevents/2) 8 filter := NewFilter(ts, MatcherFunc(func(event Event) bool { 9 i, ok := event.(int) 10 return ok && i%2 == 0 11 })) 12 13 for i := 0; i < nevents; i++ { 14 if err := filter.Write(i); err != nil { 15 t.Fatalf("unexpected error writing event: %v", err) 16 } 17 } 18 19 checkClose(t, filter) 20 21 } 22