Akka.Streams.Tests.Extra.FlowTimedSpec.Timed_Flow_must_measure_time_it_takes_between_elements_matching_a_predicate C# (CSharp) Метод

Timed_Flow_must_measure_time_it_takes_between_elements_matching_a_predicate() приватный Метод

        public void Timed_Flow_must_measure_time_it_takes_between_elements_matching_a_predicate()
        {
            this.AssertAllStagesStopped(() =>
            {
                var probe = CreateTestProbe();

                var flow =
                    Flow.Create<int>().Select(x => (long) x).TimedIntervalBetween(i => i%2 == 1, d => probe.Tell(d));

                var c1 = TestSubscriber.CreateManualProbe<long>(this);
                Source.From(Enumerable.Range(1, 3)).Via(flow).RunWith(Sink.FromSubscriber(c1), Materializer);

                var s = c1.ExpectSubscription();
                s.Request(100);
                c1.ExpectNext(1L);
                c1.ExpectNext(2L);
                c1.ExpectNext(3L);
                c1.ExpectComplete();

                var duration = probe.ExpectMsg<TimeSpan>();
                _helper.WriteLine($"Got duration (first): {duration}");
            }, Materializer);
        }