public void NullOrEmpty_Returns_None(string input) { // Arrange // Act var result = EnumF.Parse <TestA>(input); // Assert result.AssertNone(); }
public void MatchingValue_ReturnsValue() { // Arrange const TestB input = TestB.Test3; // Act var result = EnumF.Convert(input).To <TestA>(); // Assert Assert.Equal(TestA.Test1, result); }
public void NoMatchingValue_Returns_None() { // Arrange const TestB input = TestB.Test5; // Act var result = EnumF.Convert(input).To <TestA>(); // Assert result.AssertNone(); }
public void ValidValue_IncorrectType_Returns_None() { // Arrange const string input = nameof(TestA.Test1); // Act var result = EnumF.Parse(typeof(string), input); // Assert result.AssertNone(); }
public void InvalidValue_CorrectType_Returns_None() { // Arrange var input = Rnd.Str; // Act var result = EnumF.Parse <TestA>(input); // Assert result.AssertNone(); }
public void ValidValue_CorrectType_Returns_Some() { // Arrange const string input = nameof(TestA.Test1); // Act var result = EnumF.Parse <TestA>(input); // Assert Assert.Equal(TestA.Test1, result); }
// I'd really like to handle a lot of this through reflection, but Unity doesn't like me using Type.GetType(string) on its classes. public static void ProcessSetting(string name, string val) { switch (name) { #region shared case "Platform": EnumF.TryParse <BuildTargetGroup>(val, out currentPlatform); EditorUserBuildSettings.selectedBuildTargetGroup = currentPlatform; break; case "defaultIcon": Texture2D icon = AssetDatabase.LoadAssetAtPath(val, typeof(Texture2D)) as Texture2D; PlayerSettings.SetIconsForTargetGroup(BuildTargetGroup.Unknown, new Texture2D[] { icon }); break; case "scriptingDefineSymbols": PlayerSettings.SetScriptingDefineSymbolsForGroup(currentPlatform, val); break; case "companyName": PlayerSettings.companyName = val; break; case "productName": PlayerSettings.productName = val; break; case "iPhoneBundleIdentifier": PlayerSettings.iPhoneBundleIdentifier = val; break; case "keystorePass": PlayerSettings.keystorePass = val; break; case "keyaliasPass": PlayerSettings.keyaliasPass = val; break; case "bundleVersion": PlayerSettings.bundleVersion = val; break; case "bundleIdentifier": PlayerSettings.bundleIdentifier = val; break; case "statusBarHidden": PlayerSettings.statusBarHidden = Boolean.Parse(val); break; case "defaultInterfaceOrientation": UIOrientation tempdefaultInterfaceOrientation; EnumF.TryParse <UIOrientation>(val, out tempdefaultInterfaceOrientation); PlayerSettings.defaultInterfaceOrientation = tempdefaultInterfaceOrientation; break; case "allowedAutorotateToPortrait": PlayerSettings.allowedAutorotateToPortrait = Boolean.Parse(val); break; case "allowedAutorotateToPortraitUpsideDown": PlayerSettings.allowedAutorotateToPortraitUpsideDown = Boolean.Parse(val); break; case "allowedAutorotateToLandscapeRight": PlayerSettings.allowedAutorotateToLandscapeRight = Boolean.Parse(val); break; case "allowedAutorotateToLandscapeLeft": PlayerSettings.allowedAutorotateToLandscapeLeft = Boolean.Parse(val); break; case "useAnimatedAutorotation": PlayerSettings.useAnimatedAutorotation = Boolean.Parse(val); break; case "use32BitDisplayBuffer": PlayerSettings.use32BitDisplayBuffer = Boolean.Parse(val); break; case "targetGlesGraphics": TargetGlesGraphics temptargetGlesGraphics; EnumF.TryParse <TargetGlesGraphics>(val, out temptargetGlesGraphics); PlayerSettings.targetGlesGraphics = temptargetGlesGraphics; break; case "apiCompatibilityLevel": ApiCompatibilityLevel tempapiCompatibilityLevel; EnumF.TryParse <ApiCompatibilityLevel>(val, out tempapiCompatibilityLevel); PlayerSettings.apiCompatibilityLevel = tempapiCompatibilityLevel; break; case "stripUnusedMeshComponents": PlayerSettings.stripUnusedMeshComponents = Boolean.Parse(val); break; case "aotOptions": PlayerSettings.aotOptions = val; break; case "accelerometerFrequency": PlayerSettings.accelerometerFrequency = Int32.Parse(val); break; case "MTRendering": PlayerSettings.MTRendering = Boolean.Parse(val); break; case "mobileMTRendering": PlayerSettings.mobileMTRendering = Boolean.Parse(val); break; case "renderingPath": RenderingPath temprenderingPath; EnumF.TryParse <RenderingPath>(val, out temprenderingPath); PlayerSettings.renderingPath = temprenderingPath; break; case "mobileRenderingPath": RenderingPath tempmobileRenderingPath; EnumF.TryParse <RenderingPath>(val, out tempmobileRenderingPath); PlayerSettings.renderingPath = tempmobileRenderingPath; break; case "useDirect3D11": PlayerSettings.useDirect3D11 = Boolean.Parse(val); break; case "stereoscopic3D": PlayerSettings.stereoscopic3D = Boolean.Parse(val); break; #endregion #region android case "Android.use24BitDepthBuffer": PlayerSettings.Android.use24BitDepthBuffer = Boolean.Parse(val); break; case "Android.bundleVersionCode": PlayerSettings.Android.bundleVersionCode = Int32.Parse(val); break; case "Android.minSdkVersion": AndroidSdkVersions tempminSdkVersion; EnumF.TryParse <AndroidSdkVersions>(val, out tempminSdkVersion); PlayerSettings.Android.minSdkVersion = tempminSdkVersion; break; case "Android.preferredInstallLocation": AndroidPreferredInstallLocation temppreferredInstallLocation; EnumF.TryParse <AndroidPreferredInstallLocation>(val, out temppreferredInstallLocation); PlayerSettings.Android.preferredInstallLocation = temppreferredInstallLocation; break; case "Android.forceInternetPermission": PlayerSettings.Android.forceInternetPermission = Boolean.Parse(val); break; case "Android.forceSDCardPermission": PlayerSettings.Android.forceSDCardPermission = Boolean.Parse(val); break; case "Android.targetDevice": AndroidTargetDevice temptargetDevice; EnumF.TryParse <AndroidTargetDevice>(val, out temptargetDevice); PlayerSettings.Android.targetDevice = temptargetDevice; break; case "Android.splashScreenScale": AndroidSplashScreenScale tempsplashScreenScale; EnumF.TryParse <AndroidSplashScreenScale>(val, out tempsplashScreenScale); PlayerSettings.Android.splashScreenScale = tempsplashScreenScale; break; case "Android.keystoreName": PlayerSettings.Android.keystoreName = val; break; case "Android.keystorePass": PlayerSettings.Android.keystorePass = val; break; case "Android.keyaliasName": PlayerSettings.Android.keyaliasName = val; break; case "Android.keyaliasPass": PlayerSettings.Android.keyaliasPass = val; break; case "Android.useAPKExpansionFiles": PlayerSettings.Android.useAPKExpansionFiles = Boolean.Parse(val); break; case "Android.showActivityIndicatorOnLoading": AndroidShowActivityIndicatorOnLoading tempshowActivityIndicatorOnLoading; EnumF.TryParse <AndroidShowActivityIndicatorOnLoading>(val, out tempshowActivityIndicatorOnLoading); PlayerSettings.Android.showActivityIndicatorOnLoading = tempshowActivityIndicatorOnLoading; break; #endregion #region iOS case "iOS.applicationDisplayName": PlayerSettings.iOS.applicationDisplayName = val; break; case "iOS.scriptCallOptimization": ScriptCallOptimizationLevel tempscriptCallOptimization; EnumF.TryParse <ScriptCallOptimizationLevel>(val, out tempscriptCallOptimization); PlayerSettings.iOS.scriptCallOptimization = tempscriptCallOptimization; break; case "iOS.sdkVersion": iOSSdkVersion tempsdkVersion; EnumF.TryParse <iOSSdkVersion>(val, out tempsdkVersion); PlayerSettings.iOS.sdkVersion = tempsdkVersion; break; case "iOS.targetOSVersion": iOSTargetOSVersion temptargetOSVersion; EnumF.TryParse <iOSTargetOSVersion>(val, out temptargetOSVersion); PlayerSettings.iOS.targetOSVersion = temptargetOSVersion; break; case "iOS.targetDevice": iOSTargetDevice tempiostargetDevice; EnumF.TryParse <iOSTargetDevice>(val, out tempiostargetDevice); PlayerSettings.iOS.targetDevice = tempiostargetDevice; break; case "iOS.targetResolution": iOSTargetResolution temptargetResolution; EnumF.TryParse <iOSTargetResolution>(val, out temptargetResolution); PlayerSettings.iOS.targetResolution = temptargetResolution; break; case "iOS.prerenderedIcon": PlayerSettings.iOS.prerenderedIcon = Boolean.Parse(val); break; case "iOS.requiresPersistentWiFi": PlayerSettings.iOS.requiresPersistentWiFi = Boolean.Parse(val); break; case "iOS.statusBarStyle": iOSStatusBarStyle tempstatusBarStyle; EnumF.TryParse <iOSStatusBarStyle>(val, out tempstatusBarStyle); PlayerSettings.iOS.statusBarStyle = tempstatusBarStyle; break; case "iOS.exitOnSuspend": PlayerSettings.iOS.exitOnSuspend = Boolean.Parse(val); break; case "iOS.showActivityIndicatorOnLoading": iOSShowActivityIndicatorOnLoading tempiosshowActivityIndicatorOnLoading; EnumF.TryParse <iOSShowActivityIndicatorOnLoading>(val, out tempiosshowActivityIndicatorOnLoading); PlayerSettings.iOS.showActivityIndicatorOnLoading = tempiosshowActivityIndicatorOnLoading; break; #endregion default: Debug.LogWarning("Unprocessed setting: " + name + " Value: " + val); break; } }