public void StopAnalysis()
 {
     if (_analysisStrategy == null)
     {
         return;
     }
     _analysisStrategy.Stop();
     _analysisStrategy.AnalysisResultUpdatedEvent -= AnalysisStrategy_AnalysisResultUpdatedEvent;
     _analysisStrategy.RemainderCountUpdatedEvent -= AnalysisStrategy_RemainderCountUpdatedEvent;
     _analysisStrategy = null;
 }
 public void StartAnalysis(IAnalysisStrategy <TStockBase> analysisStrategy, IEnumerable <TStockBase> stockBases)
 {
     if (_analysisStrategy != null)
     {
         return;
     }
     _analysisStrategy = analysisStrategy;
     _analysisStrategy.AnalysisResultUpdatedEvent += AnalysisStrategy_AnalysisResultUpdatedEvent;
     _analysisStrategy.RemainderCountUpdatedEvent += AnalysisStrategy_RemainderCountUpdatedEvent;
     _analysisStrategy.Start(stockBases);
 }
示例#3
0
        public async Task <Significance> GetSignificanceAsync(int experimentId)
        {
            var experiment = await _experimentRepository.GetExperimentAsync(experimentId);

            IAnalysisStrategy evaluationStrategy = null;

            switch (experiment.EvaluationType)
            {
            case Testify.Models.EvaluationType.VideoImpressions:
                evaluationStrategy = new VideoImpressionAnalysisStrategy();
                break;

            case Testify.Models.EvaluationType.VideosInteracted:
                break;

            case Testify.Models.EvaluationType.None:
            default:
                break;
            }

            var analyticsData = await evaluationStrategy.GetStrategyResultAsync(experiment);

            return(GetSignificance(analyticsData));
        }
示例#4
0
 public HealthAnalyzer(IAnalysisStrategy strategy, IAnalysisResult result)
 {
     this.AnalysisStrategy = strategy;
     this.AnalysisResult   = result;
 }