public void TestFilterMaybe() { StreamSink <Maybe <string> > s = Stream.CreateSink <Maybe <string> >(); List <string> @out = new List <string>(); IListener l = s.FilterMaybe().Listen(@out.Add); s.Send(Maybe.Some("tomato")); s.Send(Maybe.None); s.Send(Maybe.Some("peach")); s.Send(Maybe.None); s.Send(Maybe.Some("pear")); l.Unlisten(); CollectionAssert.AreEqual(new[] { "tomato", "peach", "pear" }, @out); }
public void TestFilterMaybe() { StreamSink <IMaybe <string> > s = new StreamSink <IMaybe <string> >(); List <string> @out = new List <string>(); using (s.FilterMaybe().Listen(@out.Add)) { s.Send(Maybe.Just("tomato")); s.Send(Maybe.Nothing <string>()); s.Send(Maybe.Just("peach")); s.Send(Maybe.Just <string>(null)); s.Send(Maybe.Just("pear")); } CollectionAssert.AreEqual(new[] { "tomato", "peach", null, "pear" }, @out); }
public void TestFilterMaybe() { StreamSink<IMaybe<string>> e = new StreamSink<IMaybe<string>>(); List<string> @out = new List<string>(); using (e.FilterMaybe().Listen(s => { @out.Add(s); })) { e.Send(Maybe.Just("tomato")); e.Send(Maybe.Nothing<string>()); e.Send(Maybe.Just("peach")); e.Send(Maybe.Just<string>(null)); e.Send(Maybe.Just("pear")); } CollectionAssert.AreEqual(new[] { "tomato", "peach", null, "pear" }, @out); }