diff --git a/Common/UnitDefinitions/RotationalAcceleration.json b/Common/UnitDefinitions/RotationalAcceleration.json index 6f6df6f2bd..35ba1dc2bb 100644 --- a/Common/UnitDefinitions/RotationalAcceleration.json +++ b/Common/UnitDefinitions/RotationalAcceleration.json @@ -6,6 +6,30 @@ "T": -2 }, "Units": [ + { + "SingularName": "DegreePerSecondSquared", + "PluralName": "DegreesPerSecondSquared", + "FromUnitToBaseFunc": "(Math.PI / 180) * {x}", + "FromBaseToUnitFunc": "(180 / Math.PI) * {x}", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "°/s²", "deg/s²" ] + } + ] + }, + { + "SingularName": "MillirevolutionPerMinutePerSecond", + "PluralName": "MillirevolutionsPerMinutePerSecond", + "FromUnitToBaseFunc": "((2 * Math.PI) / 60) * {x} * 1e-3", + "FromBaseToUnitFunc": "(60 / (2 * Math.PI)) * {x} / 1e-3", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "mrpm/s" ] + } + ] + }, { "SingularName": "RadianPerSecondSquared", "PluralName": "RadiansPerSecondSquared", @@ -21,18 +45,6 @@ } ] }, - { - "SingularName": "DegreePerSecondSquared", - "PluralName": "DegreesPerSecondSquared", - "FromUnitToBaseFunc": "(Math.PI / 180) * {x}", - "FromBaseToUnitFunc": "(180 / Math.PI) * {x}", - "Localization": [ - { - "Culture": "en-US", - "Abbreviations": [ "°/s²", "deg/s²" ] - } - ] - }, { "SingularName": "RevolutionPerMinutePerSecond", "PluralName": "RevolutionsPerMinutePerSecond", diff --git a/Common/UnitDefinitions/RotationalSpeed.json b/Common/UnitDefinitions/RotationalSpeed.json index b64a6569e5..cf3d41f058 100644 --- a/Common/UnitDefinitions/RotationalSpeed.json +++ b/Common/UnitDefinitions/RotationalSpeed.json @@ -86,6 +86,18 @@ "Abbreviations": [ "об/мин" ] } ] + }, + { + "SingularName": "MillirevolutionPerMinute", + "PluralName": "MillirevolutionsPerMinute", + "FromUnitToBaseFunc": "({x} * 2 * Math.PI) / 60000", + "FromBaseToUnitFunc": "({x} / (2 * Math.PI)) * 60000", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "mrpm", "mr/min" ] + } + ] } ] } diff --git a/Common/UnitEnumValues.g.json b/Common/UnitEnumValues.g.json index 178c2b2055..e36a71613b 100644 --- a/Common/UnitEnumValues.g.json +++ b/Common/UnitEnumValues.g.json @@ -1269,7 +1269,8 @@ "DegreePerSecondSquared": 1, "RadianPerSecondSquared": 2, "RevolutionPerMinutePerSecond": 3, - "RevolutionPerSecondSquared": 4 + "RevolutionPerSecondSquared": 4, + "MillirevolutionPerMinutePerSecond": 7 }, "RotationalSpeed": { "CentiradianPerSecond": 1, @@ -1284,7 +1285,8 @@ "NanoradianPerSecond": 10, "RadianPerSecond": 11, "RevolutionPerMinute": 12, - "RevolutionPerSecond": 13 + "RevolutionPerSecond": 13, + "MillirevolutionPerMinute": 17 }, "RotationalStiffness": { "CentinewtonMeterPerDegree": 1, diff --git a/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs b/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs index e78b075189..95ededbf86 100644 --- a/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs @@ -28,6 +28,10 @@ public class NumberToRotationalAccelerationExtensionsTests public void NumberToDegreesPerSecondSquaredTest() => Assert.Equal(RotationalAcceleration.FromDegreesPerSecondSquared(2), 2.DegreesPerSecondSquared); + [Fact] + public void NumberToMillirevolutionsPerMinutePerSecondTest() => + Assert.Equal(RotationalAcceleration.FromMillirevolutionsPerMinutePerSecond(2), 2.MillirevolutionsPerMinutePerSecond); + [Fact] public void NumberToRadiansPerSecondSquaredTest() => Assert.Equal(RotationalAcceleration.FromRadiansPerSecondSquared(2), 2.RadiansPerSecondSquared); diff --git a/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs b/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs index 6db7dc413b..23b29c8824 100644 --- a/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs @@ -56,6 +56,10 @@ public void NumberToMillidegreesPerSecondTest() => public void NumberToMilliradiansPerSecondTest() => Assert.Equal(RotationalSpeed.FromMilliradiansPerSecond(2), 2.MilliradiansPerSecond); + [Fact] + public void NumberToMillirevolutionsPerMinuteTest() => + Assert.Equal(RotationalSpeed.FromMillirevolutionsPerMinute(2), 2.MillirevolutionsPerMinute); + [Fact] public void NumberToNanodegreesPerSecondTest() => Assert.Equal(RotationalSpeed.FromNanodegreesPerSecond(2), 2.NanodegreesPerSecond); diff --git a/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs b/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs index 4b09a09679..4271e2617e 100644 --- a/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs +++ b/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs @@ -50,6 +50,14 @@ public RotationalAcceleration DegreesPerSecondSquared => RotationalAcceleration.FromDegreesPerSecondSquared(value.ToDouble(null)); #endif + /// + public RotationalAcceleration MillirevolutionsPerMinutePerSecond +#if NET7_0_OR_GREATER + => RotationalAcceleration.FromMillirevolutionsPerMinutePerSecond(double.CreateChecked(value)); +#else + => RotationalAcceleration.FromMillirevolutionsPerMinutePerSecond(value.ToDouble(null)); +#endif + /// public RotationalAcceleration RadiansPerSecondSquared #if NET7_0_OR_GREATER diff --git a/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs b/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs index 16c614240a..3b8f6bd37d 100644 --- a/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs +++ b/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs @@ -106,6 +106,14 @@ public RotationalSpeed MilliradiansPerSecond => RotationalSpeed.FromMilliradiansPerSecond(value.ToDouble(null)); #endif + /// + public RotationalSpeed MillirevolutionsPerMinute +#if NET7_0_OR_GREATER + => RotationalSpeed.FromMillirevolutionsPerMinute(double.CreateChecked(value)); +#else + => RotationalSpeed.FromMillirevolutionsPerMinute(value.ToDouble(null)); +#endif + /// public RotationalSpeed NanodegreesPerSecond #if NET7_0_OR_GREATER diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs index cfd9795cc6..8ad084c57b 100644 --- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalAccelerationExtensionsTest.g.cs @@ -28,6 +28,10 @@ public class NumberToRotationalAccelerationExtensionsTests public void NumberToDegreesPerSecondSquaredTest() => Assert.Equal(RotationalAcceleration.FromDegreesPerSecondSquared(2), 2.DegreesPerSecondSquared()); + [Fact] + public void NumberToMillirevolutionsPerMinutePerSecondTest() => + Assert.Equal(RotationalAcceleration.FromMillirevolutionsPerMinutePerSecond(2), 2.MillirevolutionsPerMinutePerSecond()); + [Fact] public void NumberToRadiansPerSecondSquaredTest() => Assert.Equal(RotationalAcceleration.FromRadiansPerSecondSquared(2), 2.RadiansPerSecondSquared()); diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs index 276b5f64fc..24e8fbdacb 100644 --- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToRotationalSpeedExtensionsTest.g.cs @@ -56,6 +56,10 @@ public void NumberToMillidegreesPerSecondTest() => public void NumberToMilliradiansPerSecondTest() => Assert.Equal(RotationalSpeed.FromMilliradiansPerSecond(2), 2.MilliradiansPerSecond()); + [Fact] + public void NumberToMillirevolutionsPerMinuteTest() => + Assert.Equal(RotationalSpeed.FromMillirevolutionsPerMinute(2), 2.MillirevolutionsPerMinute()); + [Fact] public void NumberToNanodegreesPerSecondTest() => Assert.Equal(RotationalSpeed.FromNanodegreesPerSecond(2), 2.NanodegreesPerSecond()); diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs index d20ff97a15..7e84f49d94 100644 --- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs +++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalAccelerationExtensions.g.cs @@ -43,6 +43,17 @@ public static RotationalAcceleration DegreesPerSecondSquared(this T value) => RotationalAcceleration.FromDegreesPerSecondSquared(value.ToDouble(null)); #endif + /// + public static RotationalAcceleration MillirevolutionsPerMinutePerSecond(this T value) + where T : notnull +#if NET7_0_OR_GREATER + , INumber + => RotationalAcceleration.FromMillirevolutionsPerMinutePerSecond(double.CreateChecked(value)); +#else + , IConvertible + => RotationalAcceleration.FromMillirevolutionsPerMinutePerSecond(value.ToDouble(null)); +#endif + /// public static RotationalAcceleration RadiansPerSecondSquared(this T value) where T : notnull diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs index e49a4938a1..2a0325598c 100644 --- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs +++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToRotationalSpeedExtensions.g.cs @@ -120,6 +120,17 @@ public static RotationalSpeed MilliradiansPerSecond(this T value) => RotationalSpeed.FromMilliradiansPerSecond(value.ToDouble(null)); #endif + /// + public static RotationalSpeed MillirevolutionsPerMinute(this T value) + where T : notnull +#if NET7_0_OR_GREATER + , INumber + => RotationalSpeed.FromMillirevolutionsPerMinute(double.CreateChecked(value)); +#else + , IConvertible + => RotationalSpeed.FromMillirevolutionsPerMinute(value.ToDouble(null)); +#endif + /// public static RotationalSpeed NanodegreesPerSecond(this T value) where T : notnull diff --git a/UnitsNet.Tests/CustomCode/RotationalAccelerationTests.cs b/UnitsNet.Tests/CustomCode/RotationalAccelerationTests.cs index 571f26aa72..d9c38d1f17 100644 --- a/UnitsNet.Tests/CustomCode/RotationalAccelerationTests.cs +++ b/UnitsNet.Tests/CustomCode/RotationalAccelerationTests.cs @@ -29,6 +29,7 @@ public class RotationalAccelerationTests : RotationalAccelerationTestsBase { protected override double DegreesPerSecondSquaredInOneRadianPerSecondSquared => 180 / Math.PI; protected override double RadiansPerSecondSquaredInOneRadianPerSecondSquared => 1; + protected override double MillirevolutionsPerMinutePerSecondInOneRadianPerSecondSquared => 9549.296586; protected override double RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared => 9.549296586; protected override double RevolutionsPerSecondSquaredInOneRadianPerSecondSquared=> 0.159154943091895; } diff --git a/UnitsNet.Tests/CustomCode/RotationalSpeedTests.cs b/UnitsNet.Tests/CustomCode/RotationalSpeedTests.cs index c57c4534be..d9dc860f56 100644 --- a/UnitsNet.Tests/CustomCode/RotationalSpeedTests.cs +++ b/UnitsNet.Tests/CustomCode/RotationalSpeedTests.cs @@ -22,6 +22,8 @@ public class RotationalSpeedTests : RotationalSpeedTestsBase protected override double RevolutionsPerMinuteInOneRadianPerSecond => 9.54929659; + protected override double MillirevolutionsPerMinuteInOneRadianPerSecond => 9549.29659; + protected override double RevolutionsPerSecondInOneRadianPerSecond => 0.15915494; protected override double DegreesPerSecondInOneRadianPerSecond => 57.29577951308; diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalAccelerationTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalAccelerationTestsBase.g.cs index 37b6c2b9fd..24c542155b 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalAccelerationTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalAccelerationTestsBase.g.cs @@ -41,12 +41,14 @@ namespace UnitsNet.Tests public abstract partial class RotationalAccelerationTestsBase : QuantityTestsBase { protected abstract double DegreesPerSecondSquaredInOneRadianPerSecondSquared { get; } + protected abstract double MillirevolutionsPerMinutePerSecondInOneRadianPerSecondSquared { get; } protected abstract double RadiansPerSecondSquaredInOneRadianPerSecondSquared { get; } protected abstract double RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared { get; } protected abstract double RevolutionsPerSecondSquaredInOneRadianPerSecondSquared { get; } // ReSharper disable VirtualMemberNeverOverriden.Global protected virtual double DegreesPerSecondSquaredTolerance { get { return 1e-5; } } + protected virtual double MillirevolutionsPerMinutePerSecondTolerance { get { return 1e-5; } } protected virtual double RadiansPerSecondSquaredTolerance { get { return 1e-5; } } protected virtual double RevolutionsPerMinutePerSecondTolerance { get { return 1e-5; } } protected virtual double RevolutionsPerSecondSquaredTolerance { get { return 1e-5; } } @@ -57,6 +59,7 @@ public abstract partial class RotationalAccelerationTestsBase : QuantityTestsBas return unit switch { RotationalAccelerationUnit.DegreePerSecondSquared => (DegreesPerSecondSquaredInOneRadianPerSecondSquared, DegreesPerSecondSquaredTolerance), + RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond => (MillirevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, MillirevolutionsPerMinutePerSecondTolerance), RotationalAccelerationUnit.RadianPerSecondSquared => (RadiansPerSecondSquaredInOneRadianPerSecondSquared, RadiansPerSecondSquaredTolerance), RotationalAccelerationUnit.RevolutionPerMinutePerSecond => (RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, RevolutionsPerMinutePerSecondTolerance), RotationalAccelerationUnit.RevolutionPerSecondSquared => (RevolutionsPerSecondSquaredInOneRadianPerSecondSquared, RevolutionsPerSecondSquaredTolerance), @@ -67,6 +70,7 @@ public abstract partial class RotationalAccelerationTestsBase : QuantityTestsBas public static IEnumerable UnitTypes = new List { new object[] { RotationalAccelerationUnit.DegreePerSecondSquared }, + new object[] { RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond }, new object[] { RotationalAccelerationUnit.RadianPerSecondSquared }, new object[] { RotationalAccelerationUnit.RevolutionPerMinutePerSecond }, new object[] { RotationalAccelerationUnit.RevolutionPerSecondSquared }, @@ -142,6 +146,7 @@ public void RadianPerSecondSquaredToRotationalAccelerationUnits() { RotationalAcceleration radianpersecondsquared = RotationalAcceleration.FromRadiansPerSecondSquared(1); AssertEx.EqualTolerance(DegreesPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.DegreesPerSecondSquared, DegreesPerSecondSquaredTolerance); + AssertEx.EqualTolerance(MillirevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, radianpersecondsquared.MillirevolutionsPerMinutePerSecond, MillirevolutionsPerMinutePerSecondTolerance); AssertEx.EqualTolerance(RadiansPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.RadiansPerSecondSquared, RadiansPerSecondSquaredTolerance); AssertEx.EqualTolerance(RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, radianpersecondsquared.RevolutionsPerMinutePerSecond, RevolutionsPerMinutePerSecondTolerance); AssertEx.EqualTolerance(RevolutionsPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.RevolutionsPerSecondSquared, RevolutionsPerSecondSquaredTolerance); @@ -181,6 +186,7 @@ public void As() { var radianpersecondsquared = RotationalAcceleration.FromRadiansPerSecondSquared(1); AssertEx.EqualTolerance(DegreesPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.DegreePerSecondSquared), DegreesPerSecondSquaredTolerance); + AssertEx.EqualTolerance(MillirevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond), MillirevolutionsPerMinutePerSecondTolerance); AssertEx.EqualTolerance(RadiansPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.RadianPerSecondSquared), RadiansPerSecondSquaredTolerance); AssertEx.EqualTolerance(RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.RevolutionPerMinutePerSecond), RevolutionsPerMinutePerSecondTolerance); AssertEx.EqualTolerance(RevolutionsPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.RevolutionPerSecondSquared), RevolutionsPerSecondSquaredTolerance); @@ -252,6 +258,7 @@ public void ToUnit_UnitSystem_ThrowsArgumentExceptionIfNotSupported() [Theory] [InlineData("en-US", "4.2 °/s²", RotationalAccelerationUnit.DegreePerSecondSquared, 4.2)] [InlineData("en-US", "4.2 deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared, 4.2)] + [InlineData("en-US", "4.2 mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond, 4.2)] [InlineData("en-US", "4.2 rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared, 4.2)] [InlineData("en-US", "4.2 rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond, 4.2)] [InlineData("en-US", "4.2 r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared, 4.2)] @@ -266,6 +273,7 @@ public void Parse(string culture, string quantityString, RotationalAccelerationU [Theory] [InlineData("en-US", "4.2 °/s²", RotationalAccelerationUnit.DegreePerSecondSquared, 4.2)] [InlineData("en-US", "4.2 deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared, 4.2)] + [InlineData("en-US", "4.2 mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond, 4.2)] [InlineData("en-US", "4.2 rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared, 4.2)] [InlineData("en-US", "4.2 rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond, 4.2)] [InlineData("en-US", "4.2 r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared, 4.2)] @@ -280,6 +288,7 @@ public void TryParse(string culture, string quantityString, RotationalAccelerati [Theory] [InlineData("°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -294,6 +303,7 @@ public void ParseUnit_WithUsEnglishCurrentCulture(string abbreviation, Rotationa [Theory] [InlineData("°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -308,6 +318,7 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string [Theory] [InlineData("en-US", "°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("en-US", "deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("en-US", "mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("en-US", "rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("en-US", "rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("en-US", "r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -321,6 +332,7 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Ro [Theory] [InlineData("en-US", "°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("en-US", "deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("en-US", "mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("en-US", "rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("en-US", "rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("en-US", "r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -333,6 +345,7 @@ public void ParseUnit_WithCulture(string culture, string abbreviation, Rotationa [Theory] [InlineData("°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -347,6 +360,7 @@ public void TryParseUnit_WithUsEnglishCurrentCulture(string abbreviation, Rotati [Theory] [InlineData("°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -361,6 +375,7 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri [Theory] [InlineData("en-US", "°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("en-US", "deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("en-US", "mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("en-US", "rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("en-US", "rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("en-US", "r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -374,6 +389,7 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, [Theory] [InlineData("en-US", "°/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] [InlineData("en-US", "deg/s²", RotationalAccelerationUnit.DegreePerSecondSquared)] + [InlineData("en-US", "mrpm/s", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)] [InlineData("en-US", "rad/s²", RotationalAccelerationUnit.RadianPerSecondSquared)] [InlineData("en-US", "rpm/s", RotationalAccelerationUnit.RevolutionPerMinutePerSecond)] [InlineData("en-US", "r/s²", RotationalAccelerationUnit.RevolutionPerSecondSquared)] @@ -385,6 +401,7 @@ public void TryParseUnit_WithCulture(string culture, string abbreviation, Rotati [Theory] [InlineData("en-US", RotationalAccelerationUnit.DegreePerSecondSquared, "°/s²")] + [InlineData("en-US", RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond, "mrpm/s")] [InlineData("en-US", RotationalAccelerationUnit.RadianPerSecondSquared, "rad/s²")] [InlineData("en-US", RotationalAccelerationUnit.RevolutionPerMinutePerSecond, "rpm/s")] [InlineData("en-US", RotationalAccelerationUnit.RevolutionPerSecondSquared, "r/s²")] @@ -473,6 +490,7 @@ public void ConversionRoundTrip() { RotationalAcceleration radianpersecondsquared = RotationalAcceleration.FromRadiansPerSecondSquared(1); AssertEx.EqualTolerance(1, RotationalAcceleration.FromDegreesPerSecondSquared(radianpersecondsquared.DegreesPerSecondSquared).RadiansPerSecondSquared, DegreesPerSecondSquaredTolerance); + AssertEx.EqualTolerance(1, RotationalAcceleration.FromMillirevolutionsPerMinutePerSecond(radianpersecondsquared.MillirevolutionsPerMinutePerSecond).RadiansPerSecondSquared, MillirevolutionsPerMinutePerSecondTolerance); AssertEx.EqualTolerance(1, RotationalAcceleration.FromRadiansPerSecondSquared(radianpersecondsquared.RadiansPerSecondSquared).RadiansPerSecondSquared, RadiansPerSecondSquaredTolerance); AssertEx.EqualTolerance(1, RotationalAcceleration.FromRevolutionsPerMinutePerSecond(radianpersecondsquared.RevolutionsPerMinutePerSecond).RadiansPerSecondSquared, RevolutionsPerMinutePerSecondTolerance); AssertEx.EqualTolerance(1, RotationalAcceleration.FromRevolutionsPerSecondSquared(radianpersecondsquared.RevolutionsPerSecondSquared).RadiansPerSecondSquared, RevolutionsPerSecondSquaredTolerance); @@ -633,6 +651,7 @@ public void ToString_ReturnsValueAndUnitAbbreviationInCurrentCulture() { using var _ = new CultureScope("en-US"); Assert.Equal("1 °/s²", new RotationalAcceleration(1, RotationalAccelerationUnit.DegreePerSecondSquared).ToString()); + Assert.Equal("1 mrpm/s", new RotationalAcceleration(1, RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond).ToString()); Assert.Equal("1 rad/s²", new RotationalAcceleration(1, RotationalAccelerationUnit.RadianPerSecondSquared).ToString()); Assert.Equal("1 rpm/s", new RotationalAcceleration(1, RotationalAccelerationUnit.RevolutionPerMinutePerSecond).ToString()); Assert.Equal("1 r/s²", new RotationalAcceleration(1, RotationalAccelerationUnit.RevolutionPerSecondSquared).ToString()); @@ -645,6 +664,7 @@ public void ToString_WithSwedishCulture_ReturnsUnitAbbreviationForEnglishCulture var swedishCulture = CultureInfo.GetCultureInfo("sv-SE"); Assert.Equal("1 °/s²", new RotationalAcceleration(1, RotationalAccelerationUnit.DegreePerSecondSquared).ToString(swedishCulture)); + Assert.Equal("1 mrpm/s", new RotationalAcceleration(1, RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond).ToString(swedishCulture)); Assert.Equal("1 rad/s²", new RotationalAcceleration(1, RotationalAccelerationUnit.RadianPerSecondSquared).ToString(swedishCulture)); Assert.Equal("1 rpm/s", new RotationalAcceleration(1, RotationalAccelerationUnit.RevolutionPerMinutePerSecond).ToString(swedishCulture)); Assert.Equal("1 r/s²", new RotationalAcceleration(1, RotationalAccelerationUnit.RevolutionPerSecondSquared).ToString(swedishCulture)); diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalSpeedTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalSpeedTestsBase.g.cs index f96bcd6abd..05c33cc365 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalSpeedTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/RotationalSpeedTestsBase.g.cs @@ -48,6 +48,7 @@ public abstract partial class RotationalSpeedTestsBase : QuantityTestsBase protected abstract double MicroradiansPerSecondInOneRadianPerSecond { get; } protected abstract double MillidegreesPerSecondInOneRadianPerSecond { get; } protected abstract double MilliradiansPerSecondInOneRadianPerSecond { get; } + protected abstract double MillirevolutionsPerMinuteInOneRadianPerSecond { get; } protected abstract double NanodegreesPerSecondInOneRadianPerSecond { get; } protected abstract double NanoradiansPerSecondInOneRadianPerSecond { get; } protected abstract double RadiansPerSecondInOneRadianPerSecond { get; } @@ -63,6 +64,7 @@ public abstract partial class RotationalSpeedTestsBase : QuantityTestsBase protected virtual double MicroradiansPerSecondTolerance { get { return 1e-5; } } protected virtual double MillidegreesPerSecondTolerance { get { return 1e-5; } } protected virtual double MilliradiansPerSecondTolerance { get { return 1e-5; } } + protected virtual double MillirevolutionsPerMinuteTolerance { get { return 1e-5; } } protected virtual double NanodegreesPerSecondTolerance { get { return 1e-5; } } protected virtual double NanoradiansPerSecondTolerance { get { return 1e-5; } } protected virtual double RadiansPerSecondTolerance { get { return 1e-5; } } @@ -82,6 +84,7 @@ public abstract partial class RotationalSpeedTestsBase : QuantityTestsBase RotationalSpeedUnit.MicroradianPerSecond => (MicroradiansPerSecondInOneRadianPerSecond, MicroradiansPerSecondTolerance), RotationalSpeedUnit.MillidegreePerSecond => (MillidegreesPerSecondInOneRadianPerSecond, MillidegreesPerSecondTolerance), RotationalSpeedUnit.MilliradianPerSecond => (MilliradiansPerSecondInOneRadianPerSecond, MilliradiansPerSecondTolerance), + RotationalSpeedUnit.MillirevolutionPerMinute => (MillirevolutionsPerMinuteInOneRadianPerSecond, MillirevolutionsPerMinuteTolerance), RotationalSpeedUnit.NanodegreePerSecond => (NanodegreesPerSecondInOneRadianPerSecond, NanodegreesPerSecondTolerance), RotationalSpeedUnit.NanoradianPerSecond => (NanoradiansPerSecondInOneRadianPerSecond, NanoradiansPerSecondTolerance), RotationalSpeedUnit.RadianPerSecond => (RadiansPerSecondInOneRadianPerSecond, RadiansPerSecondTolerance), @@ -101,6 +104,7 @@ public abstract partial class RotationalSpeedTestsBase : QuantityTestsBase new object[] { RotationalSpeedUnit.MicroradianPerSecond }, new object[] { RotationalSpeedUnit.MillidegreePerSecond }, new object[] { RotationalSpeedUnit.MilliradianPerSecond }, + new object[] { RotationalSpeedUnit.MillirevolutionPerMinute }, new object[] { RotationalSpeedUnit.NanodegreePerSecond }, new object[] { RotationalSpeedUnit.NanoradianPerSecond }, new object[] { RotationalSpeedUnit.RadianPerSecond }, @@ -185,6 +189,7 @@ public void RadianPerSecondToRotationalSpeedUnits() AssertEx.EqualTolerance(MicroradiansPerSecondInOneRadianPerSecond, radianpersecond.MicroradiansPerSecond, MicroradiansPerSecondTolerance); AssertEx.EqualTolerance(MillidegreesPerSecondInOneRadianPerSecond, radianpersecond.MillidegreesPerSecond, MillidegreesPerSecondTolerance); AssertEx.EqualTolerance(MilliradiansPerSecondInOneRadianPerSecond, radianpersecond.MilliradiansPerSecond, MilliradiansPerSecondTolerance); + AssertEx.EqualTolerance(MillirevolutionsPerMinuteInOneRadianPerSecond, radianpersecond.MillirevolutionsPerMinute, MillirevolutionsPerMinuteTolerance); AssertEx.EqualTolerance(NanodegreesPerSecondInOneRadianPerSecond, radianpersecond.NanodegreesPerSecond, NanodegreesPerSecondTolerance); AssertEx.EqualTolerance(NanoradiansPerSecondInOneRadianPerSecond, radianpersecond.NanoradiansPerSecond, NanoradiansPerSecondTolerance); AssertEx.EqualTolerance(RadiansPerSecondInOneRadianPerSecond, radianpersecond.RadiansPerSecond, RadiansPerSecondTolerance); @@ -233,6 +238,7 @@ public void As() AssertEx.EqualTolerance(MicroradiansPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.MicroradianPerSecond), MicroradiansPerSecondTolerance); AssertEx.EqualTolerance(MillidegreesPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.MillidegreePerSecond), MillidegreesPerSecondTolerance); AssertEx.EqualTolerance(MilliradiansPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.MilliradianPerSecond), MilliradiansPerSecondTolerance); + AssertEx.EqualTolerance(MillirevolutionsPerMinuteInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.MillirevolutionPerMinute), MillirevolutionsPerMinuteTolerance); AssertEx.EqualTolerance(NanodegreesPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.NanodegreePerSecond), NanodegreesPerSecondTolerance); AssertEx.EqualTolerance(NanoradiansPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.NanoradianPerSecond), NanoradiansPerSecondTolerance); AssertEx.EqualTolerance(RadiansPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.RadianPerSecond), RadiansPerSecondTolerance); @@ -316,6 +322,8 @@ public void ToUnit_UnitSystem_ThrowsArgumentExceptionIfNotSupported() [InlineData("en-US", "4.2 m°/s", RotationalSpeedUnit.MillidegreePerSecond, 4.2)] [InlineData("en-US", "4.2 mdeg/s", RotationalSpeedUnit.MillidegreePerSecond, 4.2)] [InlineData("en-US", "4.2 mrad/s", RotationalSpeedUnit.MilliradianPerSecond, 4.2)] + [InlineData("en-US", "4.2 mrpm", RotationalSpeedUnit.MillirevolutionPerMinute, 4.2)] + [InlineData("en-US", "4.2 mr/min", RotationalSpeedUnit.MillirevolutionPerMinute, 4.2)] [InlineData("en-US", "4.2 n°/s", RotationalSpeedUnit.NanodegreePerSecond, 4.2)] [InlineData("en-US", "4.2 ndeg/s", RotationalSpeedUnit.NanodegreePerSecond, 4.2)] [InlineData("en-US", "4.2 nrad/s", RotationalSpeedUnit.NanoradianPerSecond, 4.2)] @@ -356,6 +364,8 @@ public void Parse(string culture, string quantityString, RotationalSpeedUnit exp [InlineData("en-US", "4.2 m°/s", RotationalSpeedUnit.MillidegreePerSecond, 4.2)] [InlineData("en-US", "4.2 mdeg/s", RotationalSpeedUnit.MillidegreePerSecond, 4.2)] [InlineData("en-US", "4.2 mrad/s", RotationalSpeedUnit.MilliradianPerSecond, 4.2)] + [InlineData("en-US", "4.2 mrpm", RotationalSpeedUnit.MillirevolutionPerMinute, 4.2)] + [InlineData("en-US", "4.2 mr/min", RotationalSpeedUnit.MillirevolutionPerMinute, 4.2)] [InlineData("en-US", "4.2 n°/s", RotationalSpeedUnit.NanodegreePerSecond, 4.2)] [InlineData("en-US", "4.2 ndeg/s", RotationalSpeedUnit.NanodegreePerSecond, 4.2)] [InlineData("en-US", "4.2 nrad/s", RotationalSpeedUnit.NanoradianPerSecond, 4.2)] @@ -396,6 +406,8 @@ public void TryParse(string culture, string quantityString, RotationalSpeedUnit [InlineData("m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -424,6 +436,8 @@ public void ParseUnit_WithUsEnglishCurrentCulture(string abbreviation, Rotationa [InlineData("m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -452,6 +466,8 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string [InlineData("en-US", "m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("en-US", "mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("en-US", "mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("en-US", "n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -491,6 +507,8 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Ro [InlineData("en-US", "m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("en-US", "mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("en-US", "mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("en-US", "n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -529,6 +547,8 @@ public void ParseUnit_WithCulture(string culture, string abbreviation, Rotationa [InlineData("m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -557,6 +577,8 @@ public void TryParseUnit_WithUsEnglishCurrentCulture(string abbreviation, Rotati [InlineData("m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -585,6 +607,8 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri [InlineData("en-US", "m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("en-US", "mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("en-US", "mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("en-US", "n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -624,6 +648,8 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, [InlineData("en-US", "m°/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mdeg/s", RotationalSpeedUnit.MillidegreePerSecond)] [InlineData("en-US", "mrad/s", RotationalSpeedUnit.MilliradianPerSecond)] + [InlineData("en-US", "mrpm", RotationalSpeedUnit.MillirevolutionPerMinute)] + [InlineData("en-US", "mr/min", RotationalSpeedUnit.MillirevolutionPerMinute)] [InlineData("en-US", "n°/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "ndeg/s", RotationalSpeedUnit.NanodegreePerSecond)] [InlineData("en-US", "nrad/s", RotationalSpeedUnit.NanoradianPerSecond)] @@ -658,6 +684,7 @@ public void TryParseUnit_WithCulture(string culture, string abbreviation, Rotati [InlineData("en-US", RotationalSpeedUnit.MicroradianPerSecond, "µrad/s")] [InlineData("en-US", RotationalSpeedUnit.MillidegreePerSecond, "m°/s")] [InlineData("en-US", RotationalSpeedUnit.MilliradianPerSecond, "mrad/s")] + [InlineData("en-US", RotationalSpeedUnit.MillirevolutionPerMinute, "mrpm")] [InlineData("en-US", RotationalSpeedUnit.NanodegreePerSecond, "n°/s")] [InlineData("en-US", RotationalSpeedUnit.NanoradianPerSecond, "nrad/s")] [InlineData("en-US", RotationalSpeedUnit.RadianPerSecond, "rad/s")] @@ -767,6 +794,7 @@ public void ConversionRoundTrip() AssertEx.EqualTolerance(1, RotationalSpeed.FromMicroradiansPerSecond(radianpersecond.MicroradiansPerSecond).RadiansPerSecond, MicroradiansPerSecondTolerance); AssertEx.EqualTolerance(1, RotationalSpeed.FromMillidegreesPerSecond(radianpersecond.MillidegreesPerSecond).RadiansPerSecond, MillidegreesPerSecondTolerance); AssertEx.EqualTolerance(1, RotationalSpeed.FromMilliradiansPerSecond(radianpersecond.MilliradiansPerSecond).RadiansPerSecond, MilliradiansPerSecondTolerance); + AssertEx.EqualTolerance(1, RotationalSpeed.FromMillirevolutionsPerMinute(radianpersecond.MillirevolutionsPerMinute).RadiansPerSecond, MillirevolutionsPerMinuteTolerance); AssertEx.EqualTolerance(1, RotationalSpeed.FromNanodegreesPerSecond(radianpersecond.NanodegreesPerSecond).RadiansPerSecond, NanodegreesPerSecondTolerance); AssertEx.EqualTolerance(1, RotationalSpeed.FromNanoradiansPerSecond(radianpersecond.NanoradiansPerSecond).RadiansPerSecond, NanoradiansPerSecondTolerance); AssertEx.EqualTolerance(1, RotationalSpeed.FromRadiansPerSecond(radianpersecond.RadiansPerSecond).RadiansPerSecond, RadiansPerSecondTolerance); @@ -936,6 +964,7 @@ public void ToString_ReturnsValueAndUnitAbbreviationInCurrentCulture() Assert.Equal("1 µrad/s", new RotationalSpeed(1, RotationalSpeedUnit.MicroradianPerSecond).ToString()); Assert.Equal("1 m°/s", new RotationalSpeed(1, RotationalSpeedUnit.MillidegreePerSecond).ToString()); Assert.Equal("1 mrad/s", new RotationalSpeed(1, RotationalSpeedUnit.MilliradianPerSecond).ToString()); + Assert.Equal("1 mrpm", new RotationalSpeed(1, RotationalSpeedUnit.MillirevolutionPerMinute).ToString()); Assert.Equal("1 n°/s", new RotationalSpeed(1, RotationalSpeedUnit.NanodegreePerSecond).ToString()); Assert.Equal("1 nrad/s", new RotationalSpeed(1, RotationalSpeedUnit.NanoradianPerSecond).ToString()); Assert.Equal("1 rad/s", new RotationalSpeed(1, RotationalSpeedUnit.RadianPerSecond).ToString()); @@ -957,6 +986,7 @@ public void ToString_WithSwedishCulture_ReturnsUnitAbbreviationForEnglishCulture Assert.Equal("1 µrad/s", new RotationalSpeed(1, RotationalSpeedUnit.MicroradianPerSecond).ToString(swedishCulture)); Assert.Equal("1 m°/s", new RotationalSpeed(1, RotationalSpeedUnit.MillidegreePerSecond).ToString(swedishCulture)); Assert.Equal("1 mrad/s", new RotationalSpeed(1, RotationalSpeedUnit.MilliradianPerSecond).ToString(swedishCulture)); + Assert.Equal("1 mrpm", new RotationalSpeed(1, RotationalSpeedUnit.MillirevolutionPerMinute).ToString(swedishCulture)); Assert.Equal("1 n°/s", new RotationalSpeed(1, RotationalSpeedUnit.NanodegreePerSecond).ToString(swedishCulture)); Assert.Equal("1 nrad/s", new RotationalSpeed(1, RotationalSpeedUnit.NanoradianPerSecond).ToString(swedishCulture)); Assert.Equal("1 rad/s", new RotationalSpeed(1, RotationalSpeedUnit.RadianPerSecond).ToString(swedishCulture)); diff --git a/UnitsNet/GeneratedCode/Quantities/RotationalAcceleration.g.cs b/UnitsNet/GeneratedCode/Quantities/RotationalAcceleration.g.cs index ed0f6dde57..b21c0f0bcb 100644 --- a/UnitsNet/GeneratedCode/Quantities/RotationalAcceleration.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/RotationalAcceleration.g.cs @@ -118,6 +118,7 @@ public static RotationalAccelerationInfo CreateDefault(Func> GetDefaultMappings() { yield return new (RotationalAccelerationUnit.DegreePerSecondSquared, "DegreePerSecondSquared", "DegreesPerSecondSquared", BaseUnits.Undefined); + yield return new (RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond, "MillirevolutionPerMinutePerSecond", "MillirevolutionsPerMinutePerSecond", BaseUnits.Undefined); yield return new (RotationalAccelerationUnit.RadianPerSecondSquared, "RadianPerSecondSquared", "RadiansPerSecondSquared", new BaseUnits(time: DurationUnit.Second)); yield return new (RotationalAccelerationUnit.RevolutionPerMinutePerSecond, "RevolutionPerMinutePerSecond", "RevolutionsPerMinutePerSecond", BaseUnits.Undefined); yield return new (RotationalAccelerationUnit.RevolutionPerSecondSquared, "RevolutionPerSecondSquared", "RevolutionsPerSecondSquared", BaseUnits.Undefined); @@ -231,6 +232,11 @@ public RotationalAcceleration(double value, UnitSystem unitSystem) /// public double DegreesPerSecondSquared => As(RotationalAccelerationUnit.DegreePerSecondSquared); + /// + /// Gets a value of this quantity converted into + /// + public double MillirevolutionsPerMinutePerSecond => As(RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond); + /// /// Gets a value of this quantity converted into /// @@ -258,6 +264,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) { // Register in unit converter: RotationalAccelerationUnit -> BaseUnit unitConverter.SetConversionFunction(RotationalAccelerationUnit.DegreePerSecondSquared, RotationalAccelerationUnit.RadianPerSecondSquared, quantity => quantity.ToUnit(RotationalAccelerationUnit.RadianPerSecondSquared)); + unitConverter.SetConversionFunction(RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond, RotationalAccelerationUnit.RadianPerSecondSquared, quantity => quantity.ToUnit(RotationalAccelerationUnit.RadianPerSecondSquared)); unitConverter.SetConversionFunction(RotationalAccelerationUnit.RevolutionPerMinutePerSecond, RotationalAccelerationUnit.RadianPerSecondSquared, quantity => quantity.ToUnit(RotationalAccelerationUnit.RadianPerSecondSquared)); unitConverter.SetConversionFunction(RotationalAccelerationUnit.RevolutionPerSecondSquared, RotationalAccelerationUnit.RadianPerSecondSquared, quantity => quantity.ToUnit(RotationalAccelerationUnit.RadianPerSecondSquared)); @@ -266,6 +273,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) // Register in unit converter: BaseUnit -> RotationalAccelerationUnit unitConverter.SetConversionFunction(RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.DegreePerSecondSquared, quantity => quantity.ToUnit(RotationalAccelerationUnit.DegreePerSecondSquared)); + unitConverter.SetConversionFunction(RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond, quantity => quantity.ToUnit(RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond)); unitConverter.SetConversionFunction(RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.RevolutionPerMinutePerSecond, quantity => quantity.ToUnit(RotationalAccelerationUnit.RevolutionPerMinutePerSecond)); unitConverter.SetConversionFunction(RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.RevolutionPerSecondSquared, quantity => quantity.ToUnit(RotationalAccelerationUnit.RevolutionPerSecondSquared)); } @@ -303,6 +311,14 @@ public static RotationalAcceleration FromDegreesPerSecondSquared(double value) return new RotationalAcceleration(value, RotationalAccelerationUnit.DegreePerSecondSquared); } + /// + /// Creates a from . + /// + public static RotationalAcceleration FromMillirevolutionsPerMinutePerSecond(double value) + { + return new RotationalAcceleration(value, RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond); + } + /// /// Creates a from . /// @@ -721,11 +737,13 @@ private bool TryToUnit(RotationalAccelerationUnit unit, [NotNullWhen(true)] out { // RotationalAccelerationUnit -> BaseUnit (RotationalAccelerationUnit.DegreePerSecondSquared, RotationalAccelerationUnit.RadianPerSecondSquared) => new RotationalAcceleration((Math.PI / 180) * _value, RotationalAccelerationUnit.RadianPerSecondSquared), + (RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond, RotationalAccelerationUnit.RadianPerSecondSquared) => new RotationalAcceleration(((2 * Math.PI) / 60) * _value * 1e-3, RotationalAccelerationUnit.RadianPerSecondSquared), (RotationalAccelerationUnit.RevolutionPerMinutePerSecond, RotationalAccelerationUnit.RadianPerSecondSquared) => new RotationalAcceleration(((2 * Math.PI) / 60) * _value, RotationalAccelerationUnit.RadianPerSecondSquared), (RotationalAccelerationUnit.RevolutionPerSecondSquared, RotationalAccelerationUnit.RadianPerSecondSquared) => new RotationalAcceleration((2 * Math.PI) * _value, RotationalAccelerationUnit.RadianPerSecondSquared), // BaseUnit -> RotationalAccelerationUnit (RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.DegreePerSecondSquared) => new RotationalAcceleration((180 / Math.PI) * _value, RotationalAccelerationUnit.DegreePerSecondSquared), + (RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond) => new RotationalAcceleration((60 / (2 * Math.PI)) * _value / 1e-3, RotationalAccelerationUnit.MillirevolutionPerMinutePerSecond), (RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.RevolutionPerMinutePerSecond) => new RotationalAcceleration((60 / (2 * Math.PI)) * _value, RotationalAccelerationUnit.RevolutionPerMinutePerSecond), (RotationalAccelerationUnit.RadianPerSecondSquared, RotationalAccelerationUnit.RevolutionPerSecondSquared) => new RotationalAcceleration((1 / (2 * Math.PI)) * _value, RotationalAccelerationUnit.RevolutionPerSecondSquared), diff --git a/UnitsNet/GeneratedCode/Quantities/RotationalSpeed.g.cs b/UnitsNet/GeneratedCode/Quantities/RotationalSpeed.g.cs index 7262bc7e78..cabe689462 100644 --- a/UnitsNet/GeneratedCode/Quantities/RotationalSpeed.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/RotationalSpeed.g.cs @@ -127,6 +127,7 @@ public static IEnumerable> GetDefaultMapping yield return new (RotationalSpeedUnit.MicroradianPerSecond, "MicroradianPerSecond", "MicroradiansPerSecond", BaseUnits.Undefined); yield return new (RotationalSpeedUnit.MillidegreePerSecond, "MillidegreePerSecond", "MillidegreesPerSecond", BaseUnits.Undefined); yield return new (RotationalSpeedUnit.MilliradianPerSecond, "MilliradianPerSecond", "MilliradiansPerSecond", BaseUnits.Undefined); + yield return new (RotationalSpeedUnit.MillirevolutionPerMinute, "MillirevolutionPerMinute", "MillirevolutionsPerMinute", BaseUnits.Undefined); yield return new (RotationalSpeedUnit.NanodegreePerSecond, "NanodegreePerSecond", "NanodegreesPerSecond", BaseUnits.Undefined); yield return new (RotationalSpeedUnit.NanoradianPerSecond, "NanoradianPerSecond", "NanoradiansPerSecond", BaseUnits.Undefined); yield return new (RotationalSpeedUnit.RadianPerSecond, "RadianPerSecond", "RadiansPerSecond", new BaseUnits(time: DurationUnit.Second)); @@ -277,6 +278,11 @@ public RotationalSpeed(double value, UnitSystem unitSystem) /// public double MilliradiansPerSecond => As(RotationalSpeedUnit.MilliradianPerSecond); + /// + /// Gets a value of this quantity converted into + /// + public double MillirevolutionsPerMinute => As(RotationalSpeedUnit.MillirevolutionPerMinute); + /// /// Gets a value of this quantity converted into /// @@ -321,6 +327,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) unitConverter.SetConversionFunction(RotationalSpeedUnit.MicroradianPerSecond, RotationalSpeedUnit.RadianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.RadianPerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.MillidegreePerSecond, RotationalSpeedUnit.RadianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.RadianPerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.MilliradianPerSecond, RotationalSpeedUnit.RadianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.RadianPerSecond)); + unitConverter.SetConversionFunction(RotationalSpeedUnit.MillirevolutionPerMinute, RotationalSpeedUnit.RadianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.RadianPerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.NanodegreePerSecond, RotationalSpeedUnit.RadianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.RadianPerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.NanoradianPerSecond, RotationalSpeedUnit.RadianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.RadianPerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.RevolutionPerMinute, RotationalSpeedUnit.RadianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.RadianPerSecond)); @@ -338,6 +345,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) unitConverter.SetConversionFunction(RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MicroradianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.MicroradianPerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MillidegreePerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.MillidegreePerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MilliradianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.MilliradianPerSecond)); + unitConverter.SetConversionFunction(RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MillirevolutionPerMinute, quantity => quantity.ToUnit(RotationalSpeedUnit.MillirevolutionPerMinute)); unitConverter.SetConversionFunction(RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.NanodegreePerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.NanodegreePerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.NanoradianPerSecond, quantity => quantity.ToUnit(RotationalSpeedUnit.NanoradianPerSecond)); unitConverter.SetConversionFunction(RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.RevolutionPerMinute, quantity => quantity.ToUnit(RotationalSpeedUnit.RevolutionPerMinute)); @@ -433,6 +441,14 @@ public static RotationalSpeed FromMilliradiansPerSecond(double value) return new RotationalSpeed(value, RotationalSpeedUnit.MilliradianPerSecond); } + /// + /// Creates a from . + /// + public static RotationalSpeed FromMillirevolutionsPerMinute(double value) + { + return new RotationalSpeed(value, RotationalSpeedUnit.MillirevolutionPerMinute); + } + /// /// Creates a from . /// @@ -890,6 +906,7 @@ private bool TryToUnit(RotationalSpeedUnit unit, [NotNullWhen(true)] out Rotatio (RotationalSpeedUnit.MicroradianPerSecond, RotationalSpeedUnit.RadianPerSecond) => new RotationalSpeed((_value) * 1e-6d, RotationalSpeedUnit.RadianPerSecond), (RotationalSpeedUnit.MillidegreePerSecond, RotationalSpeedUnit.RadianPerSecond) => new RotationalSpeed(((Math.PI / 180) * _value) * 1e-3d, RotationalSpeedUnit.RadianPerSecond), (RotationalSpeedUnit.MilliradianPerSecond, RotationalSpeedUnit.RadianPerSecond) => new RotationalSpeed((_value) * 1e-3d, RotationalSpeedUnit.RadianPerSecond), + (RotationalSpeedUnit.MillirevolutionPerMinute, RotationalSpeedUnit.RadianPerSecond) => new RotationalSpeed((_value * 2 * Math.PI) / 60000, RotationalSpeedUnit.RadianPerSecond), (RotationalSpeedUnit.NanodegreePerSecond, RotationalSpeedUnit.RadianPerSecond) => new RotationalSpeed(((Math.PI / 180) * _value) * 1e-9d, RotationalSpeedUnit.RadianPerSecond), (RotationalSpeedUnit.NanoradianPerSecond, RotationalSpeedUnit.RadianPerSecond) => new RotationalSpeed((_value) * 1e-9d, RotationalSpeedUnit.RadianPerSecond), (RotationalSpeedUnit.RevolutionPerMinute, RotationalSpeedUnit.RadianPerSecond) => new RotationalSpeed((_value * 2 * Math.PI) / 60, RotationalSpeedUnit.RadianPerSecond), @@ -904,6 +921,7 @@ private bool TryToUnit(RotationalSpeedUnit unit, [NotNullWhen(true)] out Rotatio (RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MicroradianPerSecond) => new RotationalSpeed((_value) / 1e-6d, RotationalSpeedUnit.MicroradianPerSecond), (RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MillidegreePerSecond) => new RotationalSpeed(((180 / Math.PI) * _value) / 1e-3d, RotationalSpeedUnit.MillidegreePerSecond), (RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MilliradianPerSecond) => new RotationalSpeed((_value) / 1e-3d, RotationalSpeedUnit.MilliradianPerSecond), + (RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.MillirevolutionPerMinute) => new RotationalSpeed((_value / (2 * Math.PI)) * 60000, RotationalSpeedUnit.MillirevolutionPerMinute), (RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.NanodegreePerSecond) => new RotationalSpeed(((180 / Math.PI) * _value) / 1e-9d, RotationalSpeedUnit.NanodegreePerSecond), (RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.NanoradianPerSecond) => new RotationalSpeed((_value) / 1e-9d, RotationalSpeedUnit.NanoradianPerSecond), (RotationalSpeedUnit.RadianPerSecond, RotationalSpeedUnit.RevolutionPerMinute) => new RotationalSpeed((_value / (2 * Math.PI)) * 60, RotationalSpeedUnit.RevolutionPerMinute), diff --git a/UnitsNet/GeneratedCode/Resources/RotationalAcceleration.restext b/UnitsNet/GeneratedCode/Resources/RotationalAcceleration.restext index bd1e547ee8..eb75ab3624 100644 --- a/UnitsNet/GeneratedCode/Resources/RotationalAcceleration.restext +++ b/UnitsNet/GeneratedCode/Resources/RotationalAcceleration.restext @@ -1,4 +1,5 @@ DegreesPerSecondSquared=°/s²,deg/s² +MillirevolutionsPerMinutePerSecond=mrpm/s RadiansPerSecondSquared=rad/s² RevolutionsPerMinutePerSecond=rpm/s RevolutionsPerSecondSquared=r/s² diff --git a/UnitsNet/GeneratedCode/Resources/RotationalSpeed.restext b/UnitsNet/GeneratedCode/Resources/RotationalSpeed.restext index b74f0eced0..007102fc93 100644 --- a/UnitsNet/GeneratedCode/Resources/RotationalSpeed.restext +++ b/UnitsNet/GeneratedCode/Resources/RotationalSpeed.restext @@ -6,6 +6,7 @@ MicrodegreesPerSecond=µ°/s,µdeg/s MicroradiansPerSecond=µrad/s MillidegreesPerSecond=m°/s,mdeg/s MilliradiansPerSecond=mrad/s +MillirevolutionsPerMinute=mrpm,mr/min NanodegreesPerSecond=n°/s,ndeg/s NanoradiansPerSecond=nrad/s RadiansPerSecond=rad/s diff --git a/UnitsNet/GeneratedCode/Units/RotationalAccelerationUnit.g.cs b/UnitsNet/GeneratedCode/Units/RotationalAccelerationUnit.g.cs index 78d18c4ea1..4fb42e424c 100644 --- a/UnitsNet/GeneratedCode/Units/RotationalAccelerationUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/RotationalAccelerationUnit.g.cs @@ -26,6 +26,7 @@ namespace UnitsNet.Units public enum RotationalAccelerationUnit { DegreePerSecondSquared = 1, + MillirevolutionPerMinutePerSecond = 7, RadianPerSecondSquared = 2, RevolutionPerMinutePerSecond = 3, RevolutionPerSecondSquared = 4, diff --git a/UnitsNet/GeneratedCode/Units/RotationalSpeedUnit.g.cs b/UnitsNet/GeneratedCode/Units/RotationalSpeedUnit.g.cs index c764514ede..5e77b10832 100644 --- a/UnitsNet/GeneratedCode/Units/RotationalSpeedUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/RotationalSpeedUnit.g.cs @@ -33,6 +33,7 @@ public enum RotationalSpeedUnit MicroradianPerSecond = 6, MillidegreePerSecond = 7, MilliradianPerSecond = 8, + MillirevolutionPerMinute = 17, NanodegreePerSecond = 9, NanoradianPerSecond = 10, RadianPerSecond = 11,