Files
Umbraco-CMS/src/Umbraco.Tests/CoreThings/EnumExtensionsTests.cs
2020-01-07 20:35:00 +01:00

58 lines
2.1 KiB
C#

using System;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Web.Trees;
namespace Umbraco.Tests.CoreThings
{
[TestFixture]
public class EnumExtensionsTests
{
[TestCase(TreeUse.Dialog, TreeUse.Dialog, true)]
[TestCase(TreeUse.Dialog, TreeUse.Main, false)]
[TestCase(TreeUse.Dialog | TreeUse.Main, TreeUse.Dialog, true)]
[TestCase(TreeUse.Dialog, TreeUse.Dialog | TreeUse.Main, false)]
public void HasFlagTest(TreeUse value, TreeUse test, bool expected)
{
// the built-in Enum.HasFlag() method determines whether
// all bits from <test> are set (other bits can be set too)
if (expected)
Assert.IsTrue(value.HasFlag(test));
else
Assert.IsFalse(value.HasFlag(test));
}
[Obsolete]
[TestCase(TreeUse.Dialog, TreeUse.Dialog, true)]
[TestCase(TreeUse.Dialog, TreeUse.Main, false)]
[TestCase(TreeUse.Dialog | TreeUse.Main, TreeUse.Dialog, true)]
[TestCase(TreeUse.Dialog, TreeUse.Dialog | TreeUse.Main, false)]
public void HasFlagAllTest(TreeUse value, TreeUse test, bool expected)
{
// the HasFlagAll() extension method determines whether
// all bits from <test> are set (other bits can be set too)
if (expected)
Assert.IsTrue(value.HasFlagAll(test));
else
Assert.IsFalse(value.HasFlagAll(test));
}
[TestCase(TreeUse.Dialog, TreeUse.Dialog, true)]
[TestCase(TreeUse.Dialog, TreeUse.Main, false)]
[TestCase(TreeUse.Dialog | TreeUse.Main, TreeUse.Dialog, true)]
[TestCase(TreeUse.Dialog, TreeUse.Dialog | TreeUse.Main, true)]
public void HasFlagAnyTest(TreeUse value, TreeUse test, bool expected)
{
// the HasFlagAny() extension method determines whether
// at least one bit from <test> is set
if (expected)
Assert.IsTrue(value.HasFlagAny(test));
else
Assert.IsFalse(value.HasFlagAny(test));
}
}
}