diff --git a/ICD.Common.Utils.Tests/SafeCriticalSectionTest.cs b/ICD.Common.Utils.Tests/SafeCriticalSectionTest.cs
index 3c764d0..4feda40 100644
--- a/ICD.Common.Utils.Tests/SafeCriticalSectionTest.cs
+++ b/ICD.Common.Utils.Tests/SafeCriticalSectionTest.cs
@@ -48,9 +48,8 @@ namespace ICD.Common.Utils.Tests
// ReSharper disable once NotAccessedVariable
object handle = ThreadingUtils.SafeInvoke(() => { result = section.TryEnter() ? 0 : 1; });
- ThreadingUtils.Sleep(1000);
-
- Assert.AreEqual(1, result);
+
+ Assert.IsTrue(ThreadingUtils.Wait(() => result == 1, 1000));
section.Leave();
@@ -60,9 +59,8 @@ namespace ICD.Common.Utils.Tests
result = section.TryEnter() ? 2 : 0;
section.Leave();
});
- ThreadingUtils.Sleep(1000);
- Assert.AreEqual(2, result);
+ Assert.IsTrue(ThreadingUtils.Wait(() => result == 2, 1000));
}
}
}
diff --git a/ICD.Common.Utils.Tests/ThreadingUtilsTest.cs b/ICD.Common.Utils.Tests/ThreadingUtilsTest.cs
index f0f8c0f..7a852e5 100644
--- a/ICD.Common.Utils.Tests/ThreadingUtilsTest.cs
+++ b/ICD.Common.Utils.Tests/ThreadingUtilsTest.cs
@@ -44,8 +44,7 @@ namespace ICD.Common.Utils.Tests
});
Assert.IsFalse(result);
- ThreadingUtils.Sleep(1000);
- Assert.IsTrue(result);
+ Assert.IsTrue(ThreadingUtils.Wait(() => result, 1000));
}
[Test]
@@ -59,8 +58,7 @@ namespace ICD.Common.Utils.Tests
}, true);
Assert.IsFalse(result);
- ThreadingUtils.Sleep(1000);
- Assert.IsTrue(result);
+ Assert.IsTrue(ThreadingUtils.Wait(() => result, 1000));
}
}
}
diff --git a/ICD.Common.Utils/ThreadingUtils.cs b/ICD.Common.Utils/ThreadingUtils.cs
index 20e0882..f42fe82 100644
--- a/ICD.Common.Utils/ThreadingUtils.cs
+++ b/ICD.Common.Utils/ThreadingUtils.cs
@@ -17,7 +17,7 @@ namespace ICD.Common.Utils
///
///
///
- ///
+ /// False if the call times out
public static bool Wait(Func condition, long timeout)
{
if (condition == null)