public async void Delayed_Completion_After_Debounced_Item() { await AsyncEnum.Just(1) .ConcatWith( AsyncEnum.Timer(TimeSpan.FromMilliseconds(200)) .Select(v => 0) .IgnoreElements() ) .Throttle(TimeSpan.FromMilliseconds(100)) .AssertResult(1); }
public async Task MergeConcurrentlyOf4Sources() { var firstStream = AsyncEnum.Just(1); var secondStream = AsyncEnum.Just(2); var thirdStream = AsyncEnum.Just(3); var forthStream = AsyncEnum.Just(4); var list = await firstStream.MergeConcurrently(secondStream, thirdStream, forthStream).ToListAsync(); Assert.True(list.Count == 4); }
public async void Async_Normal() { await AsyncEnum.FromArray( AsyncEnumerable.Range(1, 3), AsyncEnumerable.Empty <int>(), AsyncEnum.FromArray(4, 5, 6, 7), AsyncEnumerable.Empty <int>(), AsyncEnum.Just(8), AsyncEnum.FromEnumerable(new[] { 9, 10 }), AsyncEnumerable.Empty <int>() ) .Merge() .AssertResultSet(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); }
public async Task StripStringMessageTest() { var content = "77"; var message = new MqttApplicationMessage { Payload = Encoding.UTF8.GetBytes(content) }; var stream = AsyncEnum.Just(message); var result = stream.FromTextValues <int>().Strip(); var testResult = await result.ToListAsync(); Assert.True(testResult.First().Content == 77); }
public void MergeConcurrentlyOf4Sources_CalledInDispatcherThread() { AsyncContext.Run(async() => { var threadId = Thread.CurrentThread.ManagedThreadId; var firstStream = AsyncEnum.Just(1); var secondStream = AsyncEnum.Just(2); var thirdStream = AsyncEnum.Just(3); var forthStream = AsyncEnum.Just(4); var list = await firstStream.MergeConcurrently(secondStream, thirdStream, forthStream) .Do(i => Assert.True(Thread.CurrentThread.ManagedThreadId == threadId)).ToListAsync(); Assert.True(list.Count == 4); }); }
public async Task StripJsonMessageTest() { var content = new TestContent() { Number = 77, Text = "Huhu", Time = DateTime.Now }; var serializedContent = JsonConvert.SerializeObject(content); var message = new MqttApplicationMessage { Payload = Encoding.UTF8.GetBytes(serializedContent) }; var stream = AsyncEnum.Just(message); var result = stream.FromJsonValues <TestContent>().Strip(); var testResult = await result.ToListAsync(); Assert.True(Equals(testResult.First().Content, content)); }
public async void Item_Error_EmitLast() { await AsyncEnum.Just(1).WithError(new InvalidOperationException()) .Throttle(TimeSpan.FromMilliseconds(1000), true) .AssertFailure(typeof(InvalidOperationException), 1); }
public async void Normal() { await AsyncEnum.Just(1) .AssertResult(1); }