public static MetricCalculator GetInstance(Employee employee) { if (instance == null) { instance = new MetricCalculator(employee); } return(instance); }
private void rdbMetricUnitInput_CheckedChanged(object sender, EventArgs e) { if (rdbMetricUnitInput.Checked) { lblHeight.Text = "Height (cm)"; lblWeight.Text = "Weight (kg)"; bmiCalculator = MetricCalculator.GetInstance(employee); lblHeightFt.Visible = false; lblHeightIn.Visible = false; txtHeightInches.Visible = false; } }
public void RunAllMetricsAndGenerateReport() { var metricResults = new List <MetricResult>(); foreach (var metric in _metrics) { IMetricCalculator calculator = new MetricCalculator(); var result = calculator.Calculate(_assemblySearcher.GetAllAssemblies(), metric); metricResults.Add(result); } Report.Generate(metricResults.ToArray()); }
public List <ProgramTelemetry> GetArchiveTelemetry() { var metricCalculator = new MetricCalculator(); var originalMetrics = GetArchiveMetrics().ToList().ToArchiveTelemetry(GetIngestMetrics().ToList()); var computedMetrics = metricCalculator.GenerateProgramMetrics(originalMetrics); var allMetrics = originalMetrics.Union(computedMetrics.Select(m => m.Item1)).ToList(); foreach (var metric in allMetrics) { Metric metricDefinition; App.Config.Parameters.Metrics.TryGetValue(metric.MetricName, out metricDefinition); metric.Metric = metricDefinition; } return(allMetrics); }
public List <IngestTelemetry> GetIngestTelemetry() { var metricCalculator = new MetricCalculator(); var originalMetrics = GetIngestMetrics().ToList().ToIngestTelemetry(_channelId, TimeSpan.FromSeconds(2)); var computedMetrics = metricCalculator.GenerateIngestMetrics(originalMetrics); var allMetrics = originalMetrics.Union(computedMetrics.Select(m => m.Item1)).ToList(); foreach (var metric in allMetrics) { Metric metricDefinition; App.Config.Parameters.Metrics.TryGetValue(metric.MetricName, out metricDefinition); metric.Metric = metricDefinition; } return(allMetrics); }
public List <EgressTelemetry> GetOriginTelemetry(int reservedUnits) { var metricCalculator = new MetricCalculator(); var originalMetrics = GetOriginMetrics().ToList().ToEgressTelemetry(_originId, reservedUnits); var computedMetrics = metricCalculator.GenerateEgressMetrics(originalMetrics); var allMetrics = originalMetrics.Union(computedMetrics.Select(m => m.Item1)).ToList(); foreach (var metric in allMetrics) { Metric metricDefinition; App.Config.Parameters.Metrics.TryGetValue(metric.MetricName, out metricDefinition); metric.Metric = metricDefinition; } return(allMetrics); }
/// <summary> /// Gets range that describes expected limits for the benchmark. Should be wider than <see cref="IMetricValuesProvider.TryGetActualValues"/>. /// </summary> /// <param name="benchmark">The benchmark.</param> /// <param name="summary">Summary for the run.</param> /// <returns>Range that describes expected limits for the benchmark (or empty range if none).</returns> public MetricRange TryGetLimitValues(Benchmark benchmark, Summary summary) { Code.NotNull(benchmark, nameof(benchmark)); Code.NotNull(summary, nameof(summary)); if (ResultIsRelative) { if (TryGetRelativeValues(benchmark, summary, out var benchmarkValues, out var baselineValues)) { return(MetricCalculator.TryGetRelativeLimitValues(benchmarkValues, baselineValues)); } } else if (TryGetValues(benchmark, summary, out var values)) { return(MetricCalculator.TryGetLimitValues(values)); } return(MetricRange.Empty); }
/// <summary>Gets metric that describes variance of the value for the benchmark.</summary> /// <param name="summary">Summary for the run.</param> /// <param name="benchmark">The benchmark.</param> /// <returns>Metric that describes variance for the benchmark or <c>null</c> if none.</returns> public double?TryGetVariance(Benchmark benchmark, Summary summary) { Code.NotNull(benchmark, nameof(benchmark)); Code.NotNull(summary, nameof(summary)); if (ResultIsRelative) { if (TryGetRelativeValues(benchmark, summary, out var benchmarkValues, out var baselineValues)) { return(MetricCalculator.TryGetRelativeVariance(benchmarkValues, baselineValues)); } } else if (TryGetValues(benchmark, summary, out var values)) { return(MetricCalculator.TryGetVariance(values)); } return(null); }
public void MetricCalculator_Test(double height, double weight, double expectedBmi) { Employee emp = new Employee(); emp.Name = "Test"; emp.Height = height; emp.Weight = weight; BMICalculator calculator = MetricCalculator.GetInstance(emp); string bmi = calculator.CalculateBMI().ToString("f2"); calculator.CalculateWeight(calculator.BMI); Assert.Multiple(() => { Assert.AreEqual(calculator.unit, "kg", "Check unit"); Assert.AreEqual(calculator.Type, UnitTypes.Metric, "Check unit Type"); Assert.AreEqual(bmi, expectedBmi.ToString("f2"), "Check BMI"); }); }