diff --git a/UnitsNet.Tests/CustomCode/SpeedTests.cs b/UnitsNet.Tests/CustomCode/SpeedTests.cs
index 1949266c8c..862e98021a 100644
--- a/UnitsNet.Tests/CustomCode/SpeedTests.cs
+++ b/UnitsNet.Tests/CustomCode/SpeedTests.cs
@@ -47,5 +47,10 @@ protected override double MilesPerHourInOneMeterPerSecond
{
get { return 2.23694; }
}
+
+ protected override double MillimetersPerSecondInOneMeterPerSecond
+ {
+ get { return 1000; }
+ }
}
}
\ No newline at end of file
diff --git a/UnitsNet.Tests/GeneratedCode/SpeedTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/SpeedTestsBase.g.cs
index 44105a7cfe..895bdf5b8d 100644
--- a/UnitsNet.Tests/GeneratedCode/SpeedTestsBase.g.cs
+++ b/UnitsNet.Tests/GeneratedCode/SpeedTestsBase.g.cs
@@ -41,6 +41,7 @@ public abstract partial class SpeedTestsBase
protected abstract double KnotsInOneMeterPerSecond { get; }
protected abstract double MetersPerSecondInOneMeterPerSecond { get; }
protected abstract double MilesPerHourInOneMeterPerSecond { get; }
+ protected abstract double MillimetersPerSecondInOneMeterPerSecond { get; }
// ReSharper disable VirtualMemberNeverOverriden.Global
protected virtual double FeetPerSecondTolerance { get { return 1e-5; } }
@@ -48,6 +49,7 @@ public abstract partial class SpeedTestsBase
protected virtual double KnotsTolerance { get { return 1e-5; } }
protected virtual double MetersPerSecondTolerance { get { return 1e-5; } }
protected virtual double MilesPerHourTolerance { get { return 1e-5; } }
+ protected virtual double MillimetersPerSecondTolerance { get { return 1e-5; } }
// ReSharper restore VirtualMemberNeverOverriden.Global
[Test]
@@ -59,6 +61,7 @@ public void MeterPerSecondToSpeedUnits()
Assert.AreEqual(KnotsInOneMeterPerSecond, meterpersecond.Knots, KnotsTolerance);
Assert.AreEqual(MetersPerSecondInOneMeterPerSecond, meterpersecond.MetersPerSecond, MetersPerSecondTolerance);
Assert.AreEqual(MilesPerHourInOneMeterPerSecond, meterpersecond.MilesPerHour, MilesPerHourTolerance);
+ Assert.AreEqual(MillimetersPerSecondInOneMeterPerSecond, meterpersecond.MillimetersPerSecond, MillimetersPerSecondTolerance);
}
[Test]
@@ -69,6 +72,7 @@ public void FromValueAndUnit()
Assert.AreEqual(1, Speed.From(1, SpeedUnit.Knot).Knots, KnotsTolerance);
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MeterPerSecond).MetersPerSecond, MetersPerSecondTolerance);
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MilePerHour).MilesPerHour, MilesPerHourTolerance);
+ Assert.AreEqual(1, Speed.From(1, SpeedUnit.MillimeterPerSecond).MillimetersPerSecond, MillimetersPerSecondTolerance);
}
[Test]
@@ -80,6 +84,7 @@ public void As()
Assert.AreEqual(KnotsInOneMeterPerSecond, meterpersecond.As(SpeedUnit.Knot), KnotsTolerance);
Assert.AreEqual(MetersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MeterPerSecond), MetersPerSecondTolerance);
Assert.AreEqual(MilesPerHourInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MilePerHour), MilesPerHourTolerance);
+ Assert.AreEqual(MillimetersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MillimeterPerSecond), MillimetersPerSecondTolerance);
}
[Test]
@@ -91,6 +96,7 @@ public void ConversionRoundTrip()
Assert.AreEqual(1, Speed.FromKnots(meterpersecond.Knots).MetersPerSecond, KnotsTolerance);
Assert.AreEqual(1, Speed.FromMetersPerSecond(meterpersecond.MetersPerSecond).MetersPerSecond, MetersPerSecondTolerance);
Assert.AreEqual(1, Speed.FromMilesPerHour(meterpersecond.MilesPerHour).MetersPerSecond, MilesPerHourTolerance);
+ Assert.AreEqual(1, Speed.FromMillimetersPerSecond(meterpersecond.MillimetersPerSecond).MetersPerSecond, MillimetersPerSecondTolerance);
}
[Test]
diff --git a/UnitsNet/GeneratedCode/Enums/SpeedUnit.g.cs b/UnitsNet/GeneratedCode/Enums/SpeedUnit.g.cs
index 4c18b9b137..2ef59eec94 100644
--- a/UnitsNet/GeneratedCode/Enums/SpeedUnit.g.cs
+++ b/UnitsNet/GeneratedCode/Enums/SpeedUnit.g.cs
@@ -30,5 +30,6 @@ public enum SpeedUnit
Knot,
MeterPerSecond,
MilePerHour,
+ MillimeterPerSecond,
}
}
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs
index 9afbec9a24..4086050605 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Speed.g.cs
@@ -88,6 +88,14 @@ public double MilesPerHour
get { return _metersPerSecond/0.44704; }
}
+ ///
+ /// Get Speed in MillimetersPerSecond.
+ ///
+ public double MillimetersPerSecond
+ {
+ get { return _metersPerSecond/0.001; }
+ }
+
#endregion
#region Static
@@ -137,6 +145,14 @@ public static Speed FromMilesPerHour(double milesperhour)
return new Speed(milesperhour*0.44704);
}
+ ///
+ /// Get Speed from MillimetersPerSecond.
+ ///
+ public static Speed FromMillimetersPerSecond(double millimeterspersecond)
+ {
+ return new Speed(millimeterspersecond*0.001);
+ }
+
///
/// Dynamically convert from value and unit enum to .
@@ -158,6 +174,8 @@ public static Speed From(double value, SpeedUnit fromUnit)
return FromMetersPerSecond(value);
case SpeedUnit.MilePerHour:
return FromMilesPerHour(value);
+ case SpeedUnit.MillimeterPerSecond:
+ return FromMillimetersPerSecond(value);
default:
throw new NotImplementedException("fromUnit: " + fromUnit);
@@ -301,6 +319,8 @@ public double As(SpeedUnit unit)
return MetersPerSecond;
case SpeedUnit.MilePerHour:
return MilesPerHour;
+ case SpeedUnit.MillimeterPerSecond:
+ return MillimetersPerSecond;
default:
throw new NotImplementedException("unit: " + unit);
diff --git a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
index 12b995b38c..802e396605 100644
--- a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
+++ b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
@@ -1260,6 +1260,11 @@ private static readonly ReadOnlyCollection DefaultLocalization
{
new AbbreviationsForCulture("en-US", "mph"),
}),
+ new CulturesForEnumValue((int) SpeedUnit.MillimeterPerSecond,
+ new[]
+ {
+ new AbbreviationsForCulture("en-US", "mm/s"),
+ }),
}),
new UnitLocalization(typeof (TemperatureUnit),
new[]
diff --git a/UnitsNet/Scripts/UnitDefinitions/Speed.json b/UnitsNet/Scripts/UnitDefinitions/Speed.json
index b0641d6671..bc97fd7afc 100644
--- a/UnitsNet/Scripts/UnitDefinitions/Speed.json
+++ b/UnitsNet/Scripts/UnitDefinitions/Speed.json
@@ -15,6 +15,18 @@
}
]
},
+ {
+ "SingularName": "MillimeterPerSecond",
+ "PluralName": "MillimetersPerSecond",
+ "FromUnitToBaseFunc": "x*0.001",
+ "FromBaseToUnitFunc": "x/0.001",
+ "Localization": [
+ {
+ "Culture": "en-US",
+ "Abbreviations": ["mm/s"]
+ }
+ ]
+ },
{
"SingularName": "FootPerSecond",
"PluralName": "FeetPerSecond",