Skip to content

Commit

Permalink
a
Browse files Browse the repository at this point in the history
  • Loading branch information
neuecc committed Aug 13, 2024
1 parent 5767749 commit b607ef0
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 32 deletions.
15 changes: 11 additions & 4 deletions sandbox/ConsoleApp1/Program.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
using R3;
using System.Diagnostics;
using System.Threading.Channels;
using System.Xml.Serialization;



var status = Observable.Interval(TimeSpan.FromMilliseconds(100)).Index();
var doSomething = Observable.Interval(TimeSpan.FromMilliseconds(100)).Take(5);
status.TakeUntil(doSomething.TakeLast(1)).Subscribe(Console.WriteLine, r => Console.WriteLine("end"));
string[] array = { "a", "b", "c" };
array
.ToObservable()
.SubscribeAwait(static async (element, token) =>
{
Console.WriteLine(element);
await Task.Yield();
}, AwaitOperation.Sequential);

await Task.Delay(TimeSpan.FromDays(1));

Console.ReadLine();
56 changes: 28 additions & 28 deletions tests/R3.Tests/OperatorTests/TakeLastTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,32 +60,32 @@ public void TakeFrame2()
list.AssertIsCompleted();
}

[Fact]
public async Task DisposeQueue()
{
var defaultHandler = ObservableSystem.GetUnhandledExceptionHandler();
Exception? exception = null;
ObservableSystem.RegisterUnhandledExceptionHandler(ex =>
{
exception = ex;
});
try
{
var status = Observable.Interval(TimeSpan.FromMilliseconds(100)).Index();
var doSomething = Observable.Interval(TimeSpan.FromMilliseconds(100)).Take(5);

var end = new TaskCompletionSource();
status.TakeUntil(doSomething.TakeLast(1)).Subscribe(_ => end.TrySetResult());

await end.Task;
await Task.Delay(TimeSpan.FromMilliseconds(500));

exception!.Should().BeNull();
// helper.WriteLine(exception!.Message);
}
finally
{
ObservableSystem.RegisterUnhandledExceptionHandler(defaultHandler);
}
}
//[Fact]
//public async Task DisposeQueue()
//{
// var defaultHandler = ObservableSystem.GetUnhandledExceptionHandler();
// Exception? exception = null;
// ObservableSystem.RegisterUnhandledExceptionHandler(ex =>
// {
// exception = ex;
// });
// try
// {
// var status = Observable.Interval(TimeSpan.FromMilliseconds(100)).Index();
// var doSomething = Observable.Interval(TimeSpan.FromMilliseconds(100)).Take(5);

// var end = new TaskCompletionSource();
// status.TakeUntil(doSomething.TakeLast(1)).Subscribe(_ => end.TrySetResult());

// await end.Task;
// await Task.Delay(TimeSpan.FromMilliseconds(500));

// exception!.Should().BeNull();
// // helper.WriteLine(exception!.Message);
// }
// finally
// {
// ObservableSystem.RegisterUnhandledExceptionHandler(defaultHandler);
// }
//}
}

0 comments on commit b607ef0

Please sign in to comment.