public void AssertThatProjectValidatorSearchCanFindProjectAsset()
        {
            Assert.AreEqual(0, _pValidatorManager.GetObjectsToValidate().Count);

            _pValidatorManager.Search();

            Assert.AreEqual(1, _pValidatorManager.GetObjectsToValidate().Count);
        }
        public void Run()
        {
            if (_projectAssetValidatorManager != null)
            {
                _projectAssetValidatorManager.Search();
                _projectAssetValidatorManager.ValidateAll();
            }

            while (HasScenesToSearch())
            {
                _currentScenePath = _scenePaths[_sceneProgress];

                // Only load the next scene if we are not already in it
                if (EditorSceneManager.GetActiveScene().path != _currentScenePath)
                {
                    EditorSceneManager.OpenScene(_currentScenePath);
                }

                using (var activeSceneManager = new ActiveSceneValidatorManager(_cache, _logger))
                {
                    activeSceneManager.Search();
                    activeSceneManager.ValidateAll();
                }

                if (_crossSceneValidatorManager != null)
                {
                    _crossSceneValidatorManager.Search();
                }

                ++_sceneProgress;
            }

            if (_crossSceneValidatorManager != null)
            {
                _crossSceneValidatorManager.ValidateAll();
            }
        }