/// <summary> /// Converts an instance of Measurement into an instance of GetMeasurementModelView /// with the values converted to the specified unit. /// </summary> /// <param name="measurement">Measurement being converted.</param> /// <param name="unit">Unit to which the values will be converted.</param> /// <returns>An instance of GetMeasurementModelView with the Measurement data.</returns> /// <exception cref="System.ArgumentNullException">If the provided Measurement is null.</exception> public static GetMeasurementModelView fromEntity(Measurement measurement, string unit) { if (measurement == null) { throw new ArgumentNullException(ERROR_NULL_MEASUREMENT); } //if no unit is provided, resort to the default implementation if (Strings.isNullOrEmpty(unit)) { return(fromEntity(measurement)); } GetDimensionModelView heightMV = DimensionModelViewService.fromEntity(measurement.height, unit); GetDimensionModelView widthMV = DimensionModelViewService.fromEntity(measurement.width, unit); GetDimensionModelView depthMV = DimensionModelViewService.fromEntity(measurement.depth, unit); GetMeasurementModelView measurementModelView = new GetMeasurementModelView(); measurementModelView.measurementId = measurement.Id; measurementModelView.height = heightMV; measurementModelView.width = widthMV; measurementModelView.depth = depthMV; return(measurementModelView); }
public void ensureFromEntityWithUnitConvertsDiscreteDimensionInterval() { List <double> values = new List <double>() { 21, 35, 42 }; Dimension discreteDimensionInterval = new DiscreteDimensionInterval(values); string unit = "dm"; GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(discreteDimensionInterval, unit); GetDiscreteDimensionIntervalModelView result = (GetDiscreteDimensionIntervalModelView)getDimensionModelView; GetDiscreteDimensionIntervalModelView expected = new GetDiscreteDimensionIntervalModelView(); List <double> expectedValues = new List <double>(); foreach (double dimensionValue in values) { double convertedValue = MeasurementUnitService.convertToUnit(dimensionValue, unit); expectedValues.Add(convertedValue); } expected.values = expectedValues; expected.unit = unit; Assert.Equal(expected.values, result.values); Assert.Equal(expected.unit, result.unit); }
public void ensureFromEntityWithUnitConvertsContinuousDimensionInterval() { double minValue = 20; double maxValue = 60; double increment = 2; Dimension continuousDimensionInterval = new ContinuousDimensionInterval(minValue, maxValue, increment); string unit = "dm"; GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(continuousDimensionInterval, unit); GetContinuousDimensionIntervalModelView result = (GetContinuousDimensionIntervalModelView)getDimensionModelView; GetContinuousDimensionIntervalModelView expected = new GetContinuousDimensionIntervalModelView(); expected.minValue = MeasurementUnitService.convertToUnit(minValue, unit); expected.maxValue = MeasurementUnitService.convertToUnit(maxValue, unit); expected.increment = MeasurementUnitService.convertToUnit(increment, unit); expected.unit = unit; Assert.Equal(expected.minValue, result.minValue); Assert.Equal(expected.maxValue, result.maxValue); Assert.Equal(expected.increment, result.increment); Assert.Equal(expected.unit, result.unit); }
public void ensureFromEntityThrowsExceptionIfDimensionIsNull() { Dimension dimension = null; Action fromEntity = () => DimensionModelViewService.fromEntity(dimension); Assert.Throws <ArgumentNullException>(fromEntity); }
public void ensureFromEntityWithUnitThrowsExceptionIfDimensionIsNull() { Dimension dimension = null; string unit = "dm"; Action fromEntity = () => DimensionModelViewService.fromEntity(dimension, unit); Assert.Throws <ArgumentNullException>(fromEntity); }
public void ensureFromEntityConvertsToGetSingleValueDimensionModelViewIfProvidedDimensionIsSingleValue() { Dimension singleValueDimension = new SingleValueDimension(15); GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(singleValueDimension); Type expectedDimensionType = typeof(GetSingleValueDimensionModelView); Assert.Equal(expectedDimensionType, getDimensionModelView.GetType()); }
public void ensureFromEntityConvertsToGetDiscreteDimensionIntervalModelViewIfProvidedDimensionIsDiscreteInterval() { Dimension discreteDimensionInterval = new DiscreteDimensionInterval(new List <double>() { 21, 35, 42 }); GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(discreteDimensionInterval); Type expectedDimensionType = typeof(GetDiscreteDimensionIntervalModelView); Assert.Equal(expectedDimensionType, getDimensionModelView.GetType()); }
public void ensureFromEntityConvertsToGetContinuousDimensionIntervalModelViewIfProvidedDimensionIsContinuousInterval() { double minValue = 20; double maxValue = 60; double increment = 2; Dimension continuousDimensionInterval = new ContinuousDimensionInterval(minValue, maxValue, increment); GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(continuousDimensionInterval); Type expectedDimensionType = typeof(GetContinuousDimensionIntervalModelView); Assert.Equal(expectedDimensionType, getDimensionModelView.GetType()); }
public void ensureFromEntityWithUnitConvertsToGetContinuousDimensionIntervalModelViewIfProvidedDimensionIsContinuousInterval() { Dimension continuousDimensionInterval = new ContinuousDimensionInterval( minValue: 20, maxValue: 60, increment: 2 ); string unit = "dm"; GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(continuousDimensionInterval, unit); Type expectedDimensionType = typeof(GetContinuousDimensionIntervalModelView); Assert.Equal(expectedDimensionType, getDimensionModelView.GetType()); }
public void ensureFromEntityConvertsSingleValueDimension() { Dimension singleValueDimension = new SingleValueDimension(15); GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(singleValueDimension); GetSingleValueDimensionModelView expected = new GetSingleValueDimensionModelView(); expected.value = 15; expected.unit = MeasurementUnitService.getMinimumUnit(); GetSingleValueDimensionModelView result = (GetSingleValueDimensionModelView)getDimensionModelView; Assert.Equal(expected.value, result.value); Assert.Equal(expected.unit, result.unit); }
public void ensureFromEntityWithUnitConvertsSingleValueDimension() { double value = 15; Dimension singleValueDimension = new SingleValueDimension(value); string unit = "cm"; GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(singleValueDimension, unit); GetSingleValueDimensionModelView expected = new GetSingleValueDimensionModelView(); expected.value = MeasurementUnitService.convertToUnit(value, unit); expected.unit = unit; GetSingleValueDimensionModelView result = (GetSingleValueDimensionModelView)getDimensionModelView; Assert.Equal(expected.value, result.value); Assert.Equal(expected.unit, result.unit); }
public void ensureFromEntityWithEmptyUnitUsesMinimumUnit() { double value = 15; Dimension singleValueDimension = new SingleValueDimension(value); string unit = ""; GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(singleValueDimension, unit); GetSingleValueDimensionModelView expected = new GetSingleValueDimensionModelView(); expected.value = value; expected.unit = MeasurementUnitService.getMinimumUnit(); GetSingleValueDimensionModelView result = (GetSingleValueDimensionModelView)getDimensionModelView; Assert.Equal(expected.value, result.value); Assert.Equal(expected.unit, result.unit); }
public void ensureFromEntityConvertsDiscreteDimensionInterval() { List <double> values = new List <double>() { 21, 35, 42 }; Dimension discreteDimensionInterval = new DiscreteDimensionInterval(values); GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(discreteDimensionInterval); GetDiscreteDimensionIntervalModelView result = (GetDiscreteDimensionIntervalModelView)getDimensionModelView; GetDiscreteDimensionIntervalModelView expected = new GetDiscreteDimensionIntervalModelView(); expected.values = values; expected.unit = MeasurementUnitService.getMinimumUnit(); Assert.Equal(expected.values, result.values); Assert.Equal(expected.unit, result.unit); }
public void ensureFromEntityConvertsContinuousDimensionInterval() { double minValue = 20; double maxValue = 60; double increment = 2; Dimension continuousDimensionInterval = new ContinuousDimensionInterval(minValue, maxValue, increment); GetDimensionModelView getDimensionModelView = DimensionModelViewService.fromEntity(continuousDimensionInterval); GetContinuousDimensionIntervalModelView result = (GetContinuousDimensionIntervalModelView)getDimensionModelView; GetContinuousDimensionIntervalModelView expected = new GetContinuousDimensionIntervalModelView(); expected.minValue = minValue; expected.maxValue = maxValue; expected.increment = increment; expected.unit = MeasurementUnitService.getMinimumUnit(); Assert.Equal(expected.minValue, result.minValue); Assert.Equal(expected.maxValue, result.maxValue); Assert.Equal(expected.increment, result.increment); Assert.Equal(expected.unit, result.unit); }