ProjektMWS/Projekt MWS/Library/PackageCache/com.unity.collab-proxy@1.3.9/Tests/Editor/TestHelpers.cs
2021-06-28 19:31:12 +02:00

60 lines
1.8 KiB
C#

using System;
using System.Threading;
using System.Threading.Tasks;
using NUnit.Framework;
namespace Unity.Cloud.Collaborate.Tests
{
public static class TestHelpers
{
public const string TestDirectory = "SomePathName/";
static readonly TaskFactory k_MyTaskFactory = new
TaskFactory(CancellationToken.None,
TaskCreationOptions.None,
TaskContinuationOptions.None,
TaskScheduler.Default);
public static TResult RunSync<TResult>(Func<Task<TResult>> func)
{
return k_MyTaskFactory
.StartNew(func)
.Unwrap()
.GetAwaiter()
.GetResult();
}
public static void RunSync(Func<Task> func)
{
k_MyTaskFactory
.StartNew(func)
.Unwrap()
.GetAwaiter()
.GetResult();
}
public static void ThrowsAsync<T>(Func<Task> asyncDelegate) where T : Exception
{
Assert.Throws<T>(() => RunSync(asyncDelegate));
}
public static void ShouldBe<T>(this T expr1, T value, string msg = "")
{
if (!expr1.Equals(value))
throw new InvalidOperationException($"Test expected {value}, but found : {expr1}. [{msg}]");
}
public static void ShouldBe(this object expr1, object value, string msg = "")
{
if (expr1 != value)
throw new InvalidOperationException($"Test expected {value}, but found : {expr1}. [{msg}]");
}
public static void ShouldBeNull(object obj, string msg = "")
{
if (obj != null)
throw new InvalidOperationException($"Test expected null value, but found : {obj}. [{msg}]" );
}
}
}