using System;
namespace UnityEngine.TestTools
{
    /// 
    /// A flag indicating the targeted test platforms.
    /// 
    [Flags]
    [Serializable]
    public enum TestPlatform : byte
    {
        /// 
        /// Both platforms.
        /// 
        All = 0xFF,
        /// 
        /// The EditMode test platform.
        /// 
        EditMode = 1 << 1,
        /// 
        /// The PlayMode test platform.
        /// 
        PlayMode = 1 << 2
    }
    internal static class TestPlatformEnumExtensions
    {
        public static bool IsFlagIncluded(this TestPlatform flags, TestPlatform flag)
        {
            return (flags & flag) == flag;
        }
        public static TestPlatform MergeFlags(this TestPlatform[] flags)
        {
            TestPlatform mergedFlag = default;
            foreach (var flag in flags)
            {
                mergedFlag |= flag;
            }
            return mergedFlag;
        }
    }
}