public static async Task IgnoreElementsWhileConvertingTest() { var input = new SubjectSlim <int>(); var output = input .IgnoreElementsWhileConverting( async i => { await Task.Delay(75).ConfigureAwait(false); return(i * 1000); }) .Replay(); using (output.Connect()) { for (int i = 0; i < 10; i++) { input.OnNext(i); await Task.Delay(50).ConfigureAwait(false); } input.OnCompleted(); Assert.That(output.ToEnumerable(), Is.EqualTo(new[] { 0, 2000, 4000, 6000, 8000 })); } }
public static async Task IgnoreElementsWhileConvertingTest() { var input = new SubjectSlim<int>(); var output = input .IgnoreElementsWhileConverting( async i => { await Task.Delay(75).ConfigureAwait(false); return i * 1000; }) .Replay(); using (output.Connect()) { for (int i = 0; i < 10; i++) { input.OnNext(i); await Task.Delay(50).ConfigureAwait(false); } input.OnCompleted(); Assert.That(output.ToEnumerable(), Is.EqualTo(new[] { 0, 2000, 4000, 6000, 8000 })); } }
public static void WithPreviousTest() { var input = new SubjectSlim<int?>(); var output = input.WithPrevious().Replay(); using (output.Connect()) { for (int i = 0; i < 5; i++) input.OnNext(i); input.OnCompleted(); Assert.That(output.ToEnumerable(), Is.EqualTo( new[] { Tuple.Create<int?, int?>(null, 0), Tuple.Create<int?, int?>(0, 1), Tuple.Create<int?, int?>(1, 2), Tuple.Create<int?, int?>(2, 3), Tuple.Create<int?, int?>(3, 4) })); } }
public static void WithPreviousTest() { var input = new SubjectSlim <int?>(); var output = input.WithPrevious().Replay(); using (output.Connect()) { for (int i = 0; i < 5; i++) { input.OnNext(i); } input.OnCompleted(); Assert.That(output.ToEnumerable(), Is.EqualTo( new[] { Tuple.Create <int?, int?>(null, 0), Tuple.Create <int?, int?>(0, 1), Tuple.Create <int?, int?>(1, 2), Tuple.Create <int?, int?>(2, 3), Tuple.Create <int?, int?>(3, 4) })); } }