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 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])); } }
private bool equalModelViews(GetDimensionModelView oneDimensionModelView, GetDimensionModelView otherDimensionModelView) { if (oneDimensionModelView == otherDimensionModelView) { return(true); } if (oneDimensionModelView == null || otherDimensionModelView == null || oneDimensionModelView.GetType() != otherDimensionModelView.GetType()) { return(false); } if (oneDimensionModelView.GetType() == typeof(GetContinuousDimensionIntervalModelView)) { GetContinuousDimensionIntervalModelView oneContinuousMV = (GetContinuousDimensionIntervalModelView)oneDimensionModelView; GetContinuousDimensionIntervalModelView otherContinuousMV = (GetContinuousDimensionIntervalModelView)otherDimensionModelView; return(oneContinuousMV.minValue.Equals(otherContinuousMV.minValue) && oneContinuousMV.maxValue.Equals(otherContinuousMV.maxValue) && oneContinuousMV.increment.Equals(otherContinuousMV.increment) && oneContinuousMV.unit.Equals(otherContinuousMV.unit)); } else if (oneDimensionModelView.GetType() == typeof(GetDiscreteDimensionIntervalModelView)) { GetDiscreteDimensionIntervalModelView oneDiscreteMV = (GetDiscreteDimensionIntervalModelView)oneDimensionModelView; GetDiscreteDimensionIntervalModelView otherDiscreteMV = (GetDiscreteDimensionIntervalModelView)otherDimensionModelView; var firstNotSecond = oneDiscreteMV.values.Except(otherDiscreteMV.values).ToList(); var secondNotFirst = otherDiscreteMV.values.Except(oneDiscreteMV.values).ToList(); bool equalLists = !firstNotSecond.Any() && !secondNotFirst.Any(); return(equalLists && oneDiscreteMV.unit.Equals(otherDiscreteMV.unit)); } else if (oneDimensionModelView.GetType() == typeof(GetSingleValueDimensionModelView)) { GetSingleValueDimensionModelView oneSingleValueMV = (GetSingleValueDimensionModelView)oneDimensionModelView; GetSingleValueDimensionModelView otherSingleValueMV = (GetSingleValueDimensionModelView)otherDimensionModelView; return(oneSingleValueMV.value.Equals(otherSingleValueMV.value) && oneSingleValueMV.unit.Equals(otherSingleValueMV.unit)); } else { return(false); } }
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); }