* fix SA1505 and SA1508 * fix SA1116 * fix SA1009 * fix SA1019 * fix SA1127 * fix SA1128 * fix SA1134 * fix indent * allow CA2227 * fix CA1810 * using clean up * fix naming * fix CA1806 * fix await * Revert "fix CA1806" This reverts commit a3b465087fdaf26ec461272373ee9810a90de2cc. * fix dotnet format * allow SA1009
38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using Xunit;
|
|
|
|
namespace k8s.Tests
|
|
{
|
|
internal static class TaskAssert
|
|
{
|
|
public static void NotCompleted(Task task, string message = "Task should not be completed")
|
|
{
|
|
Assert.False(task.IsCompleted, message);
|
|
}
|
|
|
|
public static async Task Completed(Task task, TimeSpan timeout, string message = "Task timed out")
|
|
{
|
|
var timeoutTask = Task.Delay(
|
|
TimeSpan.FromMilliseconds(1000));
|
|
|
|
var completedTask = await Task.WhenAny(task, timeoutTask).ConfigureAwait(false);
|
|
Assert.True(ReferenceEquals(task, completedTask), message);
|
|
|
|
await completedTask.ConfigureAwait(false);
|
|
}
|
|
|
|
public static async Task<T> Completed<T>(Task<T> task, TimeSpan timeout, string message = "Task timed out")
|
|
{
|
|
var timeoutTask = Task.Delay(TimeSpan.FromMilliseconds(1000)).ContinueWith(completedTimeoutTask => default(T));
|
|
|
|
// Value is never returned, but we need a task of the same result type in order to use Task.WhenAny.
|
|
|
|
var completedTask = await Task.WhenAny(task, timeoutTask).ConfigureAwait(false);
|
|
Assert.True(ReferenceEquals(task, completedTask), message);
|
|
|
|
return await completedTask.ConfigureAwait(false);
|
|
}
|
|
}
|
|
}
|