A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

32 lines
690 B

using System;
using System.Threading;
using System.Threading.Tasks;
using Avalonia.Threading;
using Xunit;
namespace Avalonia.Headless.UnitTests;
public class ThreadingTests
{
[Fact]
public void Should_Be_On_Dispatcher_Thread()
{
Dispatcher.UIThread.VerifyAccess();
}
[Fact]
public async Task DispatcherTimer_Works_On_The_Same_Thread()
{
var currentThread = Thread.CurrentThread;
var tcs = new TaskCompletionSource();
DispatcherTimer.RunOnce(() =>
{
Assert.Equal(currentThread, Thread.CurrentThread);
tcs.SetResult();
}, TimeSpan.FromTicks(1));
await tcs.Task;
}
}