コード例 #1
0
        public IEnumerator TestAdHocDirectory()
        {
            string adhocTesting          = MixedRealityToolkitModuleType.AdhocTesting.ToString();
            string adHocFolderPath       = Path.Combine(UnityEngine.Application.dataPath, adhocTesting);
            string adHocFolderMetaPath   = Path.Combine(UnityEngine.Application.dataPath, adhocTesting + ".meta");
            string adHocSentinelFilePath = Path.Combine(adHocFolderPath, "MRTK." + adhocTesting + ".sentinel");

            try
            {
                Directory.CreateDirectory(adHocFolderPath);
                using (var file = File.Create(adHocSentinelFilePath))
                {
                    yield return(RefreshFiles());

                    var moduleType = MixedRealityToolkitModuleType.AdhocTesting;
                    var dirs       = MixedRealityToolkitFiles.GetDirectories(moduleType);
                    Assert.IsNotNull(dirs, $"Directory list was null for module type {moduleType.ToString()}");
                    Assert.IsNotEmpty(dirs, $"Directory list was empty for module type {moduleType.ToString()}");
                }
            }
            finally
            {
                // Clean up
                Directory.Delete(adHocFolderPath, true);
                File.Delete(adHocFolderMetaPath);
            }
        }
コード例 #2
0
        public IEnumerator TestNoneDirectory()
        {
            yield return(RefreshFiles());

            var dirs = MixedRealityToolkitFiles.GetDirectories(MixedRealityToolkitModuleType.None);

            Assert.IsNull(dirs, $"Directory list should be null for module type {MixedRealityToolkitModuleType.None.ToString()}");
        }
コード例 #3
0
        public IEnumerator TestGetDirectories()
        {
            yield return(RefreshFiles());

            foreach (var moduleType in GetTestModulesTypes())
            {
                var dirs = MixedRealityToolkitFiles.GetDirectories(moduleType);
                Assert.IsNotNull(dirs, $"Directory list was null for module type {moduleType.ToString()}");
                Assert.IsNotEmpty(dirs, $"Directory list was empty for module type {moduleType.ToString()}");
            }
        }
コード例 #4
0
        private static void UpdateTestScriptIcons()
        {
            var testDirectories = MixedRealityToolkitFiles.GetDirectories(MixedRealityToolkitModuleType.Tests);
            var directories     = MixedRealityToolkitFiles.GetDirectories(MixedRealityToolkitModuleType.Tests);

            Texture2D icon = null;

            foreach (string iconPath in MixedRealityToolkitFiles.GetFiles("StandardAssets/Icons"))
            {
                if (iconPath.EndsWith("test_icon.png"))
                {
                    icon = AssetDatabase.LoadAssetAtPath <Texture2D>(iconPath);
                    break;
                }
            }

            if (icon == null)
            {
                Debug.Log("Couldn't find test icon.");
                return;
            }

            foreach (string directory in testDirectories)
            {
                string[] scriptGuids = AssetDatabase.FindAssets("t:MonoScript", new string[] { MixedRealityToolkitFiles.GetAssetDatabasePath(directory) });

                for (int i = 0; i < scriptGuids.Length; i++)
                {
                    string scriptPath = AssetDatabase.GUIDToAssetPath(scriptGuids[i]);

                    EditorUtility.DisplayProgressBar("Updating Icons...", $"{i} of {scriptGuids.Length} {scriptPath}", i / (float)scriptGuids.Length);

                    MonoScript script = AssetDatabase.LoadAssetAtPath <MonoScript>(scriptPath);

                    Texture2D currentIcon = getIconForObject?.Invoke(null, new object[] { script }) as Texture2D;
                    if (currentIcon == null || !currentIcon.Equals(icon))
                    {
                        setIconForObject?.Invoke(null, new object[] { script, icon });
                        copyMonoScriptIconToImporters?.Invoke(null, new object[] { script });
                    }
                }
            }

            EditorUtility.ClearProgressBar();
        }
コード例 #5
0
        public void TestGetDirectories()
        {
            MixedRealityToolkitModuleType[] moduleTypes = new MixedRealityToolkitModuleType[]
            {
                MixedRealityToolkitModuleType.Core,
                MixedRealityToolkitModuleType.Providers,
                MixedRealityToolkitModuleType.Services,
                MixedRealityToolkitModuleType.SDK,
                MixedRealityToolkitModuleType.Examples,
                MixedRealityToolkitModuleType.Tests,
                MixedRealityToolkitModuleType.Extensions,
                MixedRealityToolkitModuleType.Tools,
            };

            MixedRealityToolkitFiles.RefreshFolders();
            foreach (var moduleType in moduleTypes)
            {
                // Validate that each module has a corresponding found folder
                Assert.IsTrue(MixedRealityToolkitFiles.GetDirectories(moduleType).Any());
            }
        }