49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
// Copyright (c) Umbraco.
|
|
// See LICENSE for more details.
|
|
|
|
using NUnit.Framework;
|
|
using Umbraco.Cms.Core.Trees;
|
|
using Umbraco.Extensions;
|
|
|
|
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core;
|
|
|
|
[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));
|
|
}
|
|
}
|
|
|
|
[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));
|
|
}
|
|
}
|
|
}
|