/// <summary> /// Convert the value to project units. /// </summary> /// <param name="value"></param> /// <param name="targetType"></param> /// <param name="parameter"></param> /// <param name="culture"></param> /// <returns></returns> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { DisplayUnitType displayUnit = getDisplayUnitTypeOfFormatUnits(); var feet = (double)value; switch (displayUnit) { case DisplayUnitType.DUT_CENTIMETERS: return(Foot.ToDisplayString(feet, DynamoUnitDisplayType.Centimeters)); case DisplayUnitType.DUT_MILLIMETERS: return(Foot.ToDisplayString(feet, DynamoUnitDisplayType.Millimeters)); case DisplayUnitType.DUT_METERS: return(Foot.ToDisplayString(feet, DynamoUnitDisplayType.Meters)); case DisplayUnitType.DUT_FRACTIONAL_INCHES: return(Foot.ToDisplayString(feet, DynamoUnitDisplayType.FractionalInches)); case DisplayUnitType.DUT_FEET_FRACTIONAL_INCHES: return(Foot.ToDisplayString(feet, DynamoUnitDisplayType.FractionalFeetInches)); case DisplayUnitType.DUT_DECIMAL_INCHES: return(Foot.ToDisplayString(feet, DynamoUnitDisplayType.DecimalInches)); case DisplayUnitType.DUT_DECIMAL_FEET: return(Foot.ToDisplayString(feet, DynamoUnitDisplayType.DecimalFeet)); } return(0.0); }
public void MeasurementConversionsValidInput() { //feet tests Assert.AreEqual("1' 3\"", Foot.ToDisplayString(1.25, DynamoUnitDisplayType.FractionalFeetInches)); Assert.AreEqual("15\"", Foot.ToDisplayString(1.25, DynamoUnitDisplayType.FractionalInches)); Assert.AreEqual("1' 3\"", Utils.ToFeetAndFractionalInches(1.25)); Assert.AreEqual("15\"", Utils.ToFractionalInches(1.25 * 12)); Assert.AreEqual(1.25, Foot.FromDisplayString("1' 3\"", DynamoUnitDisplayType.FractionalFeetInches)); Assert.AreEqual("1' 2\"", Foot.ToDisplayString(1.16667, DynamoUnitDisplayType.FractionalFeetInches)); Assert.AreEqual("1' 2\"", Utils.ToFeetAndFractionalInches(1.16667)); //inch tests Assert.AreEqual(string.Format("{0} cm", (30.48).ToString(CultureInfo.CurrentCulture)), Inch.ToDisplayString(12.0, DynamoUnitDisplayType.Centimeters)); Assert.AreEqual(string.Format("{0} ft", (1.0).ToString("0.00", CultureInfo.CurrentCulture)), Inch.ToDisplayString(12.0, DynamoUnitDisplayType.DecimalFeet)); Assert.AreEqual(string.Format("{0} in", (12.00).ToString("0.00", CultureInfo.CurrentCulture)), Inch.ToDisplayString(12.0, DynamoUnitDisplayType.DecimalInches)); Assert.AreEqual("1' 0\"", Inch.ToDisplayString(12.0, DynamoUnitDisplayType.FractionalFeetInches)); Assert.AreEqual("12\"", Inch.ToDisplayString(12.0, DynamoUnitDisplayType.FractionalInches)); Assert.AreEqual(string.Format("{0} m", (0.30).ToString("0.00", CultureInfo.CurrentCulture)), Inch.ToDisplayString(12.0, DynamoUnitDisplayType.Meters)); Assert.AreEqual(string.Format("{0} mm", (304.80).ToString("0.00", CultureInfo.CurrentCulture)), Inch.ToDisplayString(12.0, DynamoUnitDisplayType.Millimeters)); Assert.AreEqual(14.5, Inch.FromDisplayString("1' 2 1/2\"", DynamoUnitDisplayType.FractionalInches), 0.0001); Assert.AreEqual(14.5, Inch.FromDisplayString("14 1/2\"", DynamoUnitDisplayType.FractionalInches), 0.0001); }