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 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 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 is set if (expected) Assert.IsTrue(value.HasFlagAny(test)); else Assert.IsFalse(value.HasFlagAny(test)); } } }