public void ensureFromCollectionWithEmptyUnitUsesMinimumUnit() { double minValue = 20; double maxValue = 60; double increment = 2; Dimension continuousDimensionInterval = new ContinuousDimensionInterval(minValue, maxValue, increment); List <double> values = new List <double>() { 21, 35, 42 }; Dimension discreteDimensionInterval = new DiscreteDimensionInterval(values); double value = 72; Dimension singleValueDimension = new SingleValueDimension(value); IEnumerable <Dimension> dimensions = new List <Dimension>() { continuousDimensionInterval, discreteDimensionInterval, singleValueDimension }; GetAllDimensionsModelView getAllDimensionsModelView = DimensionModelViewService.fromCollection(dimensions, ""); string minimumUnit = MeasurementUnitService.getMinimumUnit(); GetContinuousDimensionIntervalModelView continuousDimensionIntervalModelView = new GetContinuousDimensionIntervalModelView(); continuousDimensionIntervalModelView.minValue = minValue; continuousDimensionIntervalModelView.maxValue = maxValue; continuousDimensionIntervalModelView.increment = increment; continuousDimensionIntervalModelView.unit = minimumUnit; GetDiscreteDimensionIntervalModelView discreteDimensionIntervalModelView = new GetDiscreteDimensionIntervalModelView(); discreteDimensionIntervalModelView.values = values; discreteDimensionIntervalModelView.unit = minimumUnit; GetSingleValueDimensionModelView singleValueDimensionModelView = new GetSingleValueDimensionModelView(); singleValueDimensionModelView.value = value; singleValueDimensionModelView.unit = minimumUnit; GetAllDimensionsModelView expected = new GetAllDimensionsModelView() { continuousDimensionIntervalModelView, discreteDimensionIntervalModelView, singleValueDimensionModelView }; for (int i = 0; i < 3; i++) { Assert.True(equalModelViews(getAllDimensionsModelView[i], expected[i])); } }
/// <summary> /// Creates a model view with the information about a collection of dimension /// </summary> /// <param name="dimensions">IEnumerable with the collection of dimensions</param> /// <param name="unit">Unit to which the values will be converted</param> /// <returns>GetAllDimensionsModelView with the collection of dimensions model view</returns> /// <exception cref="System.ArgumentNullException">Throw when the provided IEnumerable of Dimension is null.</exception> public static GetAllDimensionsModelView fromCollection(IEnumerable <Dimension> dimensions, string unit) { if (dimensions == null) { throw new ArgumentNullException(ERROR_NULL_DIMENSION_COLLECTION); } //if the provided unit string is null or empty, resort to the default implementation if (Strings.isNullOrEmpty(unit)) { return(fromCollection(dimensions)); } GetAllDimensionsModelView allDimensionsModelView = new GetAllDimensionsModelView(); foreach (Dimension dimension in dimensions) { allDimensionsModelView.Add(fromEntity(dimension, unit)); } return(allDimensionsModelView); }