Ejemplo n.º 1
0
        private static WriterEntriesPackets FilterAll(IEnumerable <Rule> rules, List <Packet> packets)
        {
            Func <IEnumerable <Rule>, Func <Packet, WriterEntriesMaybePacket> > partiallyAppliedFilterOne = rs => packet => FilterOne(rs, packet);

            return(from _ in LogMsg("STARTING PACKET FILTER")
                   from @out in GroupSame(new ListMonoid <Entry>(), MergeEntries, packets, partiallyAppliedFilterOne(rules))
                   from __ in LogMsg("STOPPING PACKET FILTER")
                   select Maybe.CatMaybes(@out));
        }
Ejemplo n.º 2
0
        public void CatMaybes()
        {
            var maybes = new[]
            {
                Maybe.Just(1),
                Maybe.Just(2),
                Maybe.Nothing <int>(),
                Maybe.Just(4),
                Maybe.Nothing <int>(),
                Maybe.Just(6)
            };
            var actual = Maybe.CatMaybes(maybes);

            Assert.That(actual, Is.EqualTo(new[] { 1, 2, 4, 6 }));
        }