public void TestInvalidValuesNotReturned() { var list = new[] { new ValueData{Value = ValueData.NullValue}, new ValueData{Value = 1} }; var values = new ValueListBuilder(list).ValidValues; Assert.AreEqual(1, values.Count); Assert.AreEqual(1, values[0]); }
public void TestValidValuesReturned() { var list = new [] { new ValueData{Value = 3}, new ValueData{Value = 1} }; var values = new ValueListBuilder(list).ValidValues; Assert.AreEqual(2, values.Count); Assert.AreEqual(3, values[0]); Assert.AreEqual(1, values[1]); }
public void TestNullListIngored() { var builder = new ValueListBuilder(null); Assert.AreEqual(0, builder.ValidValues.Count); }
private IEnumerable<double> GetValuesForStats(Grouping grouping, TimePeriod timePeriod) { IList<CoreDataSet> data = null; IList<double> values; if (parentArea.IsCountry) { // Optimisation for large number of areas values = groupDataReader.GetOrderedCoreDataValidValuesForAllAreasOfType(grouping, timePeriod, areaCodesToIgnore); } else { data = new CoreDataSetListProvider(groupDataReader).GetChildAreaData(grouping, parentArea, timePeriod); data = new CoreDataSetFilter(data).RemoveWithAreaCode(areaCodesToIgnore).ToList(); data = data.OrderBy(x => x.Value).ToList(); values = new ValueListBuilder(data).ValidValues; } // Apply rules int areaTypeId = grouping.AreaTypeId; if (areaTypeId != AreaTypeIds.GpPractice) { doEnoughAreasHaveValues = IsRequiredNumberOfAreaValues(values) || ShouldSpineChartAlwaysBeAvailable(grouping.IndicatorId); if (doEnoughAreasHaveValues == false) { values = null; } } else if (parentArea.IsCcg) { // CCG average of GP practices if (RuleShouldCcgAverageBeCalculated.Validates(grouping, data, ccgPopulation) == false) { values = null; } } return values; }