public void MeasurementConversions() { //feet tests var foot = new DynamoLength <Foot>(1.25); Assert.AreEqual("1' 3\"", foot.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES)); Assert.AreEqual("15\"", foot.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_INCHES)); foot.FromDisplayString("1' 3\"", DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES); Assert.AreEqual(1.25, foot.Item.Length); foot.Item.Length = 1.16667; Assert.AreEqual("1' 2\"", foot.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES)); //inch tests var inch = new DynamoLength <Inch>(12.0); Assert.AreEqual(string.Format("{0} cm", (30.48).ToString(CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.CENTIMETERS)); Assert.AreEqual(string.Format("{0} ft", (1.0).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.DECIMAL_FEET)); Assert.AreEqual(string.Format("{0} in", (12.00).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.DECIMAL_INCHES)); Assert.AreEqual("1' 0\"", inch.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES)); Assert.AreEqual("12\"", inch.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_INCHES)); Assert.AreEqual(string.Format("{0} m", (0.30).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.METERS)); Assert.AreEqual(string.Format("{0} mm", (304.80).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.MILLIMETERS)); //test inches internal unit storage inch.FromDisplayString("1' 2 1/2\"", DynamoUnitDisplayType.FRACTIONAL_INCHES); Assert.AreEqual(14.5, inch.Item.Length, 0.0001); inch.FromDisplayString("14 1/2\"", DynamoUnitDisplayType.FRACTIONAL_INCHES); Assert.AreEqual(14.5, inch.Item.Length, 0.0001); }
public dynLengthInput() { //Create a measure to coincide with Revit's internal project units _measure = new DynamoLength <Foot>(0.0); OutPortData.Add(new PortData("length", "The length. Stored internally as decimal feet.", typeof(Value.Number))); RegisterAllPorts(); }
public void CreateAndConvertMeters() { var mLength = new DynamoLength <Meter>(1.0); Assert.AreEqual(1000.0, mLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS), 0.001); Assert.AreEqual(100.0, mLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS), 0.001); Assert.AreEqual(1.0, mLength.Item.ConvertTo(DynamoUnitType.METERS), 0.001); Assert.AreEqual(39.370079, mLength.Item.ConvertTo(DynamoUnitType.INCHES), 0.001); Assert.AreEqual(3.28084, mLength.Item.ConvertTo(DynamoUnitType.FEET), 0.001); Assert.AreEqual("1.00 m", mLength.ToString()); }
public void CreateAndConvertCentimeters() { var cmLength = new DynamoLength <Centimeter>(1.0); Assert.AreEqual(10.0, cmLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS), 0.001); Assert.AreEqual(1.0, cmLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS), 0.001); Assert.AreEqual(.01, cmLength.Item.ConvertTo(DynamoUnitType.METERS), 0.001); Assert.AreEqual(.39371, cmLength.Item.ConvertTo(DynamoUnitType.INCHES), 0.001); Assert.AreEqual(.032808, cmLength.Item.ConvertTo(DynamoUnitType.FEET), 0.001); Assert.AreEqual("1.00 cm", cmLength.ToString()); }
public void CreateAndConvertMillimeters() { var mmLength = new DynamoLength <Millimeter>(1.0); Assert.AreEqual(1.0, mmLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS), 0.001); Assert.AreEqual(.1, mmLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS), 0.001); Assert.AreEqual(.001, mmLength.Item.ConvertTo(DynamoUnitType.METERS), 0.001); Assert.AreEqual(.03937, mmLength.Item.ConvertTo(DynamoUnitType.INCHES), 0.001); Assert.AreEqual(.003281, mmLength.Item.ConvertTo(DynamoUnitType.FEET), 0.001); Assert.AreEqual("1.00 mm", mmLength.ToString()); }
public void CreateAndConvertCentimeters() { var cmLength = new DynamoLength<Centimeter>(1.0); Assert.AreEqual(10.0, cmLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS), 0.001); Assert.AreEqual(1.0, cmLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS), 0.001); Assert.AreEqual(.01, cmLength.Item.ConvertTo(DynamoUnitType.METERS), 0.001); Assert.AreEqual(.39371, cmLength.Item.ConvertTo(DynamoUnitType.INCHES), 0.001); Assert.AreEqual(.032808, cmLength.Item.ConvertTo(DynamoUnitType.FEET), 0.001); Assert.AreEqual("1.00 cm", cmLength.ToString()); }
public dynLengthInput() { //Create a measure to coincide with Revit's internal project units _measure = new DynamoLength<Foot>(0.0); OutPortData.Add(new PortData("length", "The length. Stored internally as decimal feet.", typeof(Value.Number))); RegisterAllPorts(); }
public void CreateAndConvertInches() { var inchLength = new DynamoLength <Inch>(1.25); //test positive cases var mm = inchLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(25.4 * 1.25, mm, 0.001); var cm = inchLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(2.54 * 1.25, cm, 0.001); var m = inchLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(0.0254 * 1.25, m, 0.001); var inch = inchLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(1.0 * 1.25, inch, 0.001); var ft = inchLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(0.083333 * 1.25, ft, 0.001); Assert.AreEqual("1 1/4\"", inchLength.ToString()); //test negative cases inchLength.Item.Length = -1.25; mm = inchLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(-25.4 * 1.25, mm, 0.001); cm = inchLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(-2.54 * 1.25, cm, 0.001); m = inchLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(-0.0254 * 1.25, m, 0.001); inch = inchLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(-1.0 * 1.25, inch, 0.001); ft = inchLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(-0.083333 * 1.25, ft, 0.001); Assert.AreEqual("-1 1/4\"", inchLength.ToString()); //test just the fractional case inchLength.Item.Length = .25; Assert.AreEqual("1/4\"", inchLength.ToString()); inchLength.Item.Length = -.25; Assert.AreEqual("-1/4\"", inchLength.ToString()); //test just the whole case inchLength.Item.Length = 1.0; Assert.AreEqual("1\"", inchLength.ToString()); inchLength.Item.Length = -1.0; Assert.AreEqual("-1\"", inchLength.ToString()); //test some edge cases inchLength.Item.Length = 0.0; Assert.AreEqual("0\"", inchLength.ToString()); inchLength.Item.Length = 0.01; Assert.AreEqual("1/64\"", inchLength.ToString()); inchLength.Item.Length = 0.99; Assert.AreEqual("1\"", inchLength.ToString()); }
public void CreateAndConvertFeet() { var ftLength = new DynamoLength <Foot>(1.3177); //test positive cases var mm = ftLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(304.8 * 1.3177, mm, 0.001); var cm = ftLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(30.48 * 1.3177, cm, 0.001); var m = ftLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(.3048 * 1.3177, m, 0.001); var inch = ftLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(12.0 * 1.3177, inch, 0.001); var ft = ftLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(1.0 * 1.3177, ft, 0.001); Assert.AreEqual("1' 3 13/16\"", ftLength.ToString()); //test negative cases ftLength.Item.Length = -1.3177; mm = ftLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(-304.8 * 1.3177, mm, 0.001); cm = ftLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(-30.48 * 1.3177, cm, 0.001); m = ftLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(-.3048 * 1.3177, m, 0.001); inch = ftLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(-12.0 * 1.3177, inch, 0.001); ft = ftLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(-1.0 * 1.3177, ft, 0.001); Assert.AreEqual("-1' 3 13/16\"", ftLength.ToString()); //test just the fractional case ftLength.Item.Length = .25; Assert.AreEqual("3\"", ftLength.ToString()); ftLength.Item.Length = -.25; Assert.AreEqual("-3\"", ftLength.ToString()); //test just the whole case ftLength.Item.Length = 1.0; Assert.AreEqual("1' 0\"", ftLength.ToString()); ftLength.Item.Length = -1.0; Assert.AreEqual("-1' 0\"", ftLength.ToString()); //test some edge cases ftLength.Item.Length = 0.0; Assert.AreEqual("0' 0\"", ftLength.ToString()); ftLength.Item.Length = 0.01; Assert.AreEqual("1/8\"", ftLength.ToString()); ftLength.Item.Length = 0.99; Assert.AreEqual("11 57/64\"", ftLength.ToString()); ftLength.Item.Length = 0.9999; Assert.AreEqual("1'", ftLength.ToString()); }
public void CreateAndConvertFeet() { var ftLength = new DynamoLength<Foot>(1.3177); //test positive cases var mm = ftLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(304.8 * 1.3177, mm, 0.001); var cm = ftLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(30.48 * 1.3177, cm, 0.001); var m = ftLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(.3048 * 1.3177, m, 0.001); var inch = ftLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(12.0 * 1.3177, inch, 0.001); var ft = ftLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(1.0 * 1.3177, ft, 0.001); Assert.AreEqual("1' 3 13/16\"", ftLength.ToString()); //test negative cases ftLength.Item.Length = -1.3177; mm = ftLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(-304.8 * 1.3177, mm, 0.001); cm = ftLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(-30.48 * 1.3177, cm, 0.001); m = ftLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(-.3048 * 1.3177, m, 0.001); inch = ftLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(-12.0 * 1.3177, inch, 0.001); ft = ftLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(-1.0 * 1.3177, ft, 0.001); Assert.AreEqual("-1' 3 13/16\"", ftLength.ToString()); //test just the fractional case ftLength.Item.Length = .25; Assert.AreEqual("3\"", ftLength.ToString()); ftLength.Item.Length = -.25; Assert.AreEqual("-3\"", ftLength.ToString()); //test just the whole case ftLength.Item.Length = 1.0; Assert.AreEqual("1' 0\"", ftLength.ToString()); ftLength.Item.Length = -1.0; Assert.AreEqual("-1' 0\"", ftLength.ToString()); //test some edge cases ftLength.Item.Length = 0.0; Assert.AreEqual("0' 0\"", ftLength.ToString()); ftLength.Item.Length = 0.01; Assert.AreEqual("1/8\"", ftLength.ToString()); ftLength.Item.Length = 0.99; Assert.AreEqual("11 57/64\"", ftLength.ToString()); ftLength.Item.Length = 0.9999; Assert.AreEqual("1'", ftLength.ToString()); }
public void MeasurementConversions() { //feet tests var foot = new DynamoLength<Foot>(1.25); Assert.AreEqual("1' 3\"", foot.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES)); Assert.AreEqual("15\"", foot.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_INCHES)); foot.FromDisplayString("1' 3\"", DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES); Assert.AreEqual(1.25, foot.Item.Length); foot.Item.Length = 1.16667; Assert.AreEqual("1' 2\"", foot.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES)); //inch tests var inch = new DynamoLength<Inch>(12.0); Assert.AreEqual(string.Format("{0} cm", (30.48).ToString(CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.CENTIMETERS)); Assert.AreEqual(string.Format("{0} ft", (1.0).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.DECIMAL_FEET)); Assert.AreEqual(string.Format("{0} in", (12.00).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.DECIMAL_INCHES)); Assert.AreEqual("1' 0\"", inch.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_FEET_INCHES)); Assert.AreEqual("12\"", inch.ToDisplayString(DynamoUnitDisplayType.FRACTIONAL_INCHES)); Assert.AreEqual(string.Format("{0} m", (0.30).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.METERS)); Assert.AreEqual(string.Format("{0} mm", (304.80).ToString("0.00", CultureInfo.CurrentCulture)), inch.ToDisplayString(DynamoUnitDisplayType.MILLIMETERS)); //test inches internal unit storage inch.FromDisplayString("1' 2 1/2\"", DynamoUnitDisplayType.FRACTIONAL_INCHES); Assert.AreEqual(14.5, inch.Item.Length, 0.0001); inch.FromDisplayString("14 1/2\"", DynamoUnitDisplayType.FRACTIONAL_INCHES); Assert.AreEqual(14.5, inch.Item.Length, 0.0001); }
public void CreateAndConvertMillimeters() { var mmLength = new DynamoLength<Millimeter>(1.0); Assert.AreEqual(1.0, mmLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS), 0.001); Assert.AreEqual(.1, mmLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS), 0.001); Assert.AreEqual(.001, mmLength.Item.ConvertTo(DynamoUnitType.METERS), 0.001); Assert.AreEqual(.03937, mmLength.Item.ConvertTo(DynamoUnitType.INCHES), 0.001); Assert.AreEqual(.003281, mmLength.Item.ConvertTo(DynamoUnitType.FEET), 0.001); Assert.AreEqual("1.00 mm", mmLength.ToString()); }
public void CreateAndConvertMeters() { var mLength = new DynamoLength<Meter>(1.0); Assert.AreEqual(1000.0, mLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS), 0.001); Assert.AreEqual(100.0, mLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS), 0.001); Assert.AreEqual(1.0, mLength.Item.ConvertTo(DynamoUnitType.METERS), 0.001); Assert.AreEqual(39.370079, mLength.Item.ConvertTo(DynamoUnitType.INCHES), 0.001); Assert.AreEqual(3.28084, mLength.Item.ConvertTo(DynamoUnitType.FEET), 0.001); Assert.AreEqual("1.00 m", mLength.ToString()); }
public void CreateAndConvertInches() { var inchLength = new DynamoLength<Inch>(1.25); //test positive cases var mm = inchLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(25.4 * 1.25, mm, 0.001); var cm = inchLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(2.54 * 1.25, cm, 0.001); var m = inchLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(0.0254 * 1.25, m, 0.001); var inch = inchLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(1.0 * 1.25, inch, 0.001); var ft = inchLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(0.083333 * 1.25, ft, 0.001); Assert.AreEqual("1 1/4\"", inchLength.ToString()); //test negative cases inchLength.Item.Length = -1.25; mm = inchLength.Item.ConvertTo(DynamoUnitType.MILLIMETERS); Assert.AreEqual(-25.4 * 1.25, mm, 0.001); cm = inchLength.Item.ConvertTo(DynamoUnitType.CENTIMETERS); Assert.AreEqual(-2.54 * 1.25, cm, 0.001); m = inchLength.Item.ConvertTo(DynamoUnitType.METERS); Assert.AreEqual(-0.0254 * 1.25, m, 0.001); inch = inchLength.Item.ConvertTo(DynamoUnitType.INCHES); Assert.AreEqual(-1.0 * 1.25, inch, 0.001); ft = inchLength.Item.ConvertTo(DynamoUnitType.FEET); Assert.AreEqual(-0.083333 * 1.25, ft, 0.001); Assert.AreEqual("-1 1/4\"", inchLength.ToString()); //test just the fractional case inchLength.Item.Length = .25; Assert.AreEqual("1/4\"", inchLength.ToString()); inchLength.Item.Length = -.25; Assert.AreEqual("-1/4\"", inchLength.ToString()); //test just the whole case inchLength.Item.Length = 1.0; Assert.AreEqual("1\"", inchLength.ToString()); inchLength.Item.Length = -1.0; Assert.AreEqual("-1\"", inchLength.ToString()); //test some edge cases inchLength.Item.Length = 0.0; Assert.AreEqual("0\"", inchLength.ToString()); inchLength.Item.Length = 0.01; Assert.AreEqual("1/64\"", inchLength.ToString()); inchLength.Item.Length = 0.99; Assert.AreEqual("1\"", inchLength.ToString()); }