Example #1
0
        public void Censor()
        {
            var writer1 = TellHelper("Message 1").BindIgnoringLeft(
                TellHelper("Message 2")).BindIgnoringLeft(
                MyWriter.Return(42));

            var writer2 = MyWriter.Censor(msgs => new ListMonoid <string>(msgs.List.Where(msg => msg.EndsWith("2"))), writer1);

            var tuple = writer2.RunWriter;
            var a     = tuple.Item1;
            var w     = tuple.Item2;

            Assert.That(a, Is.EqualTo(42));
            Assert.That(w.List, Is.EqualTo(new[] { "Message 2" }));
        }