Exemplo n.º 1
0
        private void BenchmarkExecutionStatesOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
        {
            // ReSharper disable once LoopCanBePartlyConvertedToQuery
            foreach (var execution in BenchmarkExecutions)
            {
                var definition = BenchmarkDefinitions.FirstOrDefault(d => d.Guid == execution.BenchmarkDefinitionGuid);
                if (definition == null)
                {
                    continue;
                }

                var states = GetObservableCollectionSnapshot(s => s.BenchmarkExecutionGuid == execution.Guid, () => BenchmarkExecutionStates);
                if (!states.Any())
                {
                    continue;
                }

                var displayedState = new DisplayedBenchmarkExecutionState {
                    BenchmarkDescription       = definition.Description,
                    ExecutingForHowManySeconds = states.Max(s => s.ExecutingForHowManySeconds),
                    Failures = states.Sum(s => s.Failures),
                    Finished = states.All(s => s.Finished),
                    Guid     = execution.Guid,
                    RemoteExecutingForHowManySeconds = states.Sum(s => s.RemoteExecutingForHowManySeconds),
                    RemoteRequiringForHowManySeconds = states.Sum(s => s.RemoteRequiringForHowManySeconds),
                    SequenceNumber = states.Min(s => s.SequenceNumber),
                    Successes      = states.Sum(s => s.Successes)
                };

                ReplaceOrAddToCollection(displayedState, DisplayedBenchmarkExecutionStates);
            }
        }
Exemplo n.º 2
0
        private void BenchmarkDefinitionsOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
        {
            if (SelectedBenchmarkDefinition == null)
            {
                if (!BenchmarkDefinitions.Any())
                {
                    return;
                }

                SelectedBenchmarkDefinition = BenchmarkDefinitions[0];
                return;
            }

            if (BenchmarkDefinitions.Any(b => b.Guid == SelectedBenchmarkDefinition.Guid))
            {
                return;
            }

            SelectedBenchmarkDefinition = null;
        }