public static void TestNoComparisonIfValueUndefined(TargetComparer comparer) { comparer.PolarityId = PolarityIds.RagLowIsGood; Assert.AreEqual(Significance.None, comparer.CompareAgainstTarget( new CoreDataSet { Value = CoreDataSet.NullValue })); }
public static void TestNoComparisonIfPolarityNotApplicable(TargetComparer comparer) { comparer.PolarityId = PolarityIds.NotApplicable; Assert.AreEqual(Significance.None, comparer.CompareAgainstTarget( new CoreDataSet { Value = 1 })); }
/// <summary> /// Helper method to set the target significance. Only used to reduce duplicated code. /// </summary> public static void AddTargetSignificance(CoreDataSet data, TargetComparer targetComparer) { if (data != null && targetComparer != null) { Significance significance = targetComparer.CompareAgainstTarget(data); data.AddSignificance(ComparatorIds.Target, significance); } }
private void InitComparer(PholioReader pholioReader, IArea nationalArea) { if (indicatorMetadata.HasTarget) { targetComparer = TargetComparerFactory.New(indicatorMetadata.TargetConfig); new TargetComparerHelper(groupDataReader, nationalArea) .AssignExtraDataIfRequired(nationalArea, targetComparer, grouping, indicatorMetadata); } else { comparer = new IndicatorComparerFactory {PholioReader = pholioReader}.New(grouping); } }
public void GetPercentileData(TargetComparer targetComparer, Grouping grouping, IndicatorMetadata indicatorMetadata) { var bespokeComparer = targetComparer as BespokeTargetPercentileRangeComparer; if (bespokeComparer != null) { var nationalValues = groupDataReader.GetCoreDataForAllAreasOfType(grouping, TimePeriod.GetDataPoint(grouping)); var percentileCalculator = new BespokeTargetPercentileRangeCalculator(nationalValues.Where(x => x.IsValueValid).Select(x => x.Value).ToList()); bespokeComparer.LowerTargetPercentileBenchmarkData = new CoreDataSet() { Value = percentileCalculator.GetPercentileValue(bespokeComparer.GetLowerTargetPercentile()) }; bespokeComparer.UpperTargetPercentileBenchmarkData = new CoreDataSet() { Value = percentileCalculator.GetPercentileValue(bespokeComparer.GetUpperTargetPercentile()) }; } }
public void AssignExtraDataIfRequired(IArea parentArea, TargetComparer targetComparer, Grouping grouping, IndicatorMetadata indicatorMetadata) { var bespokeComparer = targetComparer as BespokeTargetPreviousYearEnglandValueComparer; if (bespokeComparer != null) { // Assign the previous year's England data var previousYear = TimePeriod.GetDataPoint(grouping).GetTimePeriodForYearBefore(); bespokeComparer.BenchmarkData = new BenchmarkDataProvider(groupDataReader) .GetBenchmarkData(grouping, previousYear, null /*would need average calculator with previous year's data*/, nationalArea); } var bespokeTargetPreviousYearEnglandValueComparer = targetComparer as BespokeTargetPercentileRangeComparer; if (bespokeTargetPreviousYearEnglandValueComparer != null) { //Get the Upper and Lower Benchmark ranges new TargetComparerHelper(groupDataReader, parentArea).GetPercentileData(targetComparer, grouping, indicatorMetadata); } }
public static void TestNoComparisonIfValueNull(TargetComparer comparer) { comparer.PolarityId = PolarityIds.RagLowIsGood; Assert.AreEqual(Significance.None, comparer.CompareAgainstTarget(null)); }
public static void TestNoComparisonIsMade(TargetComparer comparer) { TestNoComparisonIfPolarityNotApplicable(comparer); TestNoComparisonIfValueUndefined(comparer); TestNoComparisonIfValueNull(comparer); }
private void Init() { comparer = NewIndicatorComparer(); targetComparer = TargetComparerFactory.New(IndicatorMetadata.TargetConfig); // Note: TargetComparerHelper.AssignExtraDataIfRequired called in GroupDataProcessor }