Akka.Streams.Tests.Dsl.FlowFlattenMergeSpec.A_FlattenMerge_must_cancel_substreams_when_failing_map_function C# (CSharp) Method

A_FlattenMerge_must_cancel_substreams_when_failing_map_function() private method

        public void A_FlattenMerge_must_cancel_substreams_when_failing_map_function()
        {
            var settings = ActorMaterializerSettings.Create(Sys).WithSyncProcessingLimit(1);
            var materializer = ActorMaterializer.Create(Sys, settings);
            var p = TestPublisher.CreateProbe<int>(this);
            var ex = new TestException("buh");
            var latch = new TestLatch();

            Source.From(Enumerable.Range(1, 3)).MergeMany(10, i =>
            {
                if (i == 1)
                    return Source.FromPublisher(p);

                latch.Ready(TimeSpan.FromSeconds(3));
                throw ex;
            }).RunWith(Sink.First<int>(), materializer);
            p.ExpectRequest();
            latch.CountDown();
            p.ExpectCancellation();
        }