60 lines
1.8 KiB
C#
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}]" );
|
|
}
|
|
}
|
|
}
|