45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| 
 | |
| namespace UnityEngine.TestTools
 | |
| {
 | |
|     /// <summary>
 | |
|     /// A flag indicating the targeted test platforms.
 | |
|     /// </summary>
 | |
|     [Flags]
 | |
|     [Serializable]
 | |
|     public enum TestPlatform : byte
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Both platforms.
 | |
|         /// </summary>
 | |
|         All = 0xFF,
 | |
|         /// <summary>
 | |
|         /// The EditMode test platform.
 | |
|         /// </summary>
 | |
|         EditMode = 1 << 1,
 | |
|         /// <summary>
 | |
|         /// The PlayMode test platform.
 | |
|         /// </summary>
 | |
|         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;
 | |
|         }
 | |
|     }
 | |
| }
 |