Example #1
0
        public UnityNUnitServiceProvider(ISolution solution,
                                         IPsiModules psiModules,
                                         ISymbolCache symbolCache,
                                         IUnitTestElementIdFactory idFactory,
                                         IUnitTestElementManager elementManager,
                                         NUnitTestProvider provider,
                                         IUnitTestingSettings settings,
                                         ISettingsStore settingsStore,
                                         ISettingsOptimization settingsOptimization,
                                         ISettingsCache settingsCache,
                                         UnitTestingCachingService cachingService,
                                         INUnitTestParametersProvider testParametersProvider,
                                         UnityEditorProtocol editorProtocol,
                                         RunViaUnityEditorStrategy runViaUnityEditorStrategy,
                                         UnitySolutionTracker unitySolutionTracker)
            : base(solution, psiModules, symbolCache, idFactory, elementManager, provider, settings, settingsStore,
                   settingsOptimization, settingsCache, cachingService, testParametersProvider)
        {
            if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null)
            {
                return;
            }

            myRdUnityModel         = solution.GetProtocolSolution().GetRdUnityModel();
            myEditorProtocol       = editorProtocol;
            myUnityEditorStrategy  = runViaUnityEditorStrategy;
            myUnitySolutionTracker = unitySolutionTracker;
        }
Example #2
0
        public UnityHost(ISolution solution, bool isInTests = false)
        {
            myIsInTests = isInTests;
            if (myIsInTests)
            {
                return;
            }

            myModel = solution.GetProtocolSolution().GetRdUnityModel();
        }
Example #3
0
        public UnityHost(ISolution solution, IShellLocks locks)
        {
            myIsInTests = locks.Dispatcher.IsAsyncBehaviorProhibited;
            if (myIsInTests)
            {
                return;
            }

            myModel = solution.GetProtocolSolution().GetRdUnityModel();
        }
Example #4
0
        public UnityController(UnityEditorProtocol unityEditorProtocol, ISolution solution,
                               Lifetime lifetime, UnitySolutionTracker solutionTracker)
        {
            if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null)
            {
                return;
            }

            myUnityEditorProtocol = unityEditorProtocol;
            mySolution            = solution;
            myLifetime            = lifetime;
            mySolutionTracker     = solutionTracker;
            myRdUnityModel        = solution.GetProtocolSolution().GetRdUnityModel();
        }
Example #5
0
        public UnityHost(Lifetime lifetime, ISolution solution, IShellLocks shellLocks, DeferredCacheController deferredCacheController, bool isInTests = false)
        {
            myIsInTests = isInTests;
            if (myIsInTests)
            {
                return;
            }

            myModel = solution.GetProtocolSolution().GetRdUnityModel();
            deferredCacheController.CompletedOnce.Advise(lifetime, v =>
            {
                if (v)
                {
                    shellLocks.Tasks.StartNew(lifetime, Scheduling.MainDispatcher,
                                              () => { myModel.IsDeferredCachesCompletedOnce.Value = true; });
                }
            });
        }
Example #6
0
        public UnityNUnitServiceProvider(ISolution solution, IPsiModules psiModules, ISymbolCache symbolCache,
                                         IUnitTestElementIdFactory idFactory, IUnitTestElementManager elementManager, NUnitTestProvider provider,
                                         ISettingsStore settingsStore, ISettingsOptimization settingsOptimization, ISettingsCache settingsCache,
                                         UnitTestingCachingService cachingService, IDotNetCoreSdkResolver dotNetCoreSdkResolver,
                                         UnityEditorProtocol editorProtocol,
                                         RunViaUnityEditorStrategy runViaUnityEditorStrategy,
                                         NUnitOutOfProcessUnitTestRunStrategy nUnitOutOfProcessUnitTestRunStrategy)
            : base(solution, psiModules, symbolCache, idFactory, elementManager, provider, settingsStore,
                   settingsOptimization, settingsCache, cachingService, dotNetCoreSdkResolver, nUnitOutOfProcessUnitTestRunStrategy)
        {
            if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null)
            {
                return;
            }

            myRdUnityModel = solution.GetProtocolSolution().GetRdUnityModel();

            myEditorModel         = editorProtocol.UnityModel;
            myUnityEditorStrategy = runViaUnityEditorStrategy;
        }
Example #7
0
        public static bool IsUnityUnitTestStrategy(UnitySolutionTracker unitySolutionTracker, RdUnityModel rdUnityModel, UnityEditorProtocol editorProtocol)
        {
            if (!unitySolutionTracker.IsUnityProjectFolder.HasTrueValue())
            {
                return(false);
            }

            // first run from gutter mark should try to run in Unity by default. https://github.com/JetBrains/resharper-unity/issues/605
            return(!rdUnityModel.UnitTestPreference.HasValue() && editorProtocol.UnityModel.Value != null ||
                   (rdUnityModel.UnitTestPreference.HasValue() && rdUnityModel.UnitTestPreference.Value != UnitTestLaunchPreference.NUnit));
        }