/// <summary> /// Extension for any wait object that will throw an exception after a 5 sec timeout. Useful for Asynchronous Unit Tests. /// NOTE: If a debugger is attached, this will wait forever! This allows you to step throw code without unit test failing due to timeout /// </summary> /// <param name="extendedWaitHandle">the wait object</param> /// <param name="message">message for exception</param> public static void Assert5Sec(this WaitHandle extendedWaitHandle, string message) { extendedWaitHandle = Arguments.EnsureNotNull(extendedWaitHandle, nameof(extendedWaitHandle)); message = Arguments.EnsureNotNullOrWhitespace(message, nameof(message)); extendedWaitHandle.WaitOrThrow(new TimeSpan(0, 0, 5), message); }