diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/DelegateExtensionsTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/DelegateExtensionsTests.cs new file mode 100644 index 0000000000..a3e36c8ae6 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/DelegateExtensionsTests.cs @@ -0,0 +1,38 @@ +using System; +using Lucene.Net.Index; +using NUnit.Framework; +using Umbraco.Core; + +namespace Umbraco.Tests.UnitTests.Umbraco.Core +{ + [TestFixture] + public class DelegateExtensionsTests + { + [Test] + public void Only_Executes_Specific_Count() + { + const int maxTries = 5; + var totalTries = 0; + DelegateExtensions.RetryUntilSuccessOrMaxAttempts((currentTry) => + { + totalTries = currentTry; + return Attempt.Fail(); + }, 5, TimeSpan.FromMilliseconds(10)); + + Assert.AreEqual(maxTries, totalTries); + } + + [Test] + public void Quits_On_Success_Count() + { + var totalTries = 0; + DelegateExtensions.RetryUntilSuccessOrMaxAttempts((currentTry) => + { + totalTries = currentTry; + return totalTries == 2 ? Attempt.Succeed() : Attempt.Fail(); + }, 5, TimeSpan.FromMilliseconds(10)); + + Assert.AreEqual(2, totalTries); + } + } +} diff --git a/src/Umbraco.Tests/CoreThings/EnumerableExtensionsTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/EnumerableExtensionsTests.cs similarity index 98% rename from src/Umbraco.Tests/CoreThings/EnumerableExtensionsTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/EnumerableExtensionsTests.cs index e734713c76..32e039f26a 100644 --- a/src/Umbraco.Tests/CoreThings/EnumerableExtensionsTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/EnumerableExtensionsTests.cs @@ -1,10 +1,9 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Umbraco.Core; -namespace Umbraco.Tests.CoreThings +namespace Umbraco.Tests.UnitTests.Umbraco.Core { [TestFixture] public class EnumerableExtensionsTests diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 1ea8d465e6..acb5b7398e 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -458,7 +458,6 @@ -