From 93f45277d18673ef4f3e735800b650ffbd07f2b8 Mon Sep 17 00:00:00 2001 From: n-tiz <3192885+n-tiz@users.noreply.github.com> Date: Tue, 29 Jul 2025 12:00:03 +0200 Subject: [PATCH 1/3] Add 'Milli' prefix to Torr pressure unit The Torr unit in Pressure.json now supports the 'Milli' prefix, enabling representation of millitorr values. --- Common/UnitDefinitions/Pressure.json | 1 + 1 file changed, 1 insertion(+) diff --git a/Common/UnitDefinitions/Pressure.json b/Common/UnitDefinitions/Pressure.json index b93674197f..c5411d1cb9 100644 --- a/Common/UnitDefinitions/Pressure.json +++ b/Common/UnitDefinitions/Pressure.json @@ -198,6 +198,7 @@ "XmlDocRemarks": "https://en.wikipedia.org/wiki/Torr", "FromUnitToBaseFunc": "{x} * 101325 / 760", "FromBaseToUnitFunc": "{x} * 760 / 101325", + "Prefixes": [ "Milli"], "Localization": [ { "Culture": "en-US", From a5cd556b63c6604f7d4239cf6d577e302bf7c0e2 Mon Sep 17 00:00:00 2001 From: n-tiz <3192885+n-tiz@users.noreply.github.com> Date: Tue, 29 Jul 2025 13:10:12 +0200 Subject: [PATCH 2/3] Adding generated code --- Common/UnitEnumValues.g.json | 3 +- .../GeneratedCode/Quantities/Pressure.g.cs | 12 ++ .../GeneratedCode/Units/PressureUnit.g.cs | 1 + .../NumberToPressureExtensionsTest.g.cs | 4 + .../NumberToPressureExtensions.g.cs | 11 ++ .../TestsBase/PressureTestsBase.g.cs | 129 ++++++++++++------ .../GeneratedCode/Quantities/Pressure.g.cs | 18 +++ .../GeneratedCode/Resources/Pressure.restext | 1 + .../Resources/Pressure.ru-RU.restext | 1 + .../GeneratedCode/Units/PressureUnit.g.cs | 1 + 10 files changed, 141 insertions(+), 40 deletions(-) diff --git a/Common/UnitEnumValues.g.json b/Common/UnitEnumValues.g.json index 025e39f28b..c86691d40c 100644 --- a/Common/UnitEnumValues.g.json +++ b/Common/UnitEnumValues.g.json @@ -1183,7 +1183,8 @@ "TonneForcePerSquareMillimeter": 46, "Torr": 47, "MeterOfWaterColumn": 57, - "CentimeterOfWaterColumn": 48 + "CentimeterOfWaterColumn": 48, + "Millitorr": 52 }, "PressureChangeRate": { "AtmospherePerSecond": 1, diff --git a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Pressure.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Pressure.g.cs index ac0c58b117..7fccf23ae7 100644 --- a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Pressure.g.cs +++ b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Pressure.g.cs @@ -248,6 +248,11 @@ public Pressure(double value, PressureUnit unit) /// public double Millipascals => As(PressureUnit.Millipascal); + /// + /// Gets a value of this quantity converted into + /// + public double Millitorrs => As(PressureUnit.Millitorr); + /// /// Gets a value of this quantity converted into /// @@ -487,6 +492,11 @@ public Pressure(double value, PressureUnit unit) /// public static Pressure FromMillipascals(double millipascals) => new Pressure(millipascals, PressureUnit.Millipascal); + /// + /// Creates a from . + /// + public static Pressure FromMillitorrs(double millitorrs) => new Pressure(millitorrs, PressureUnit.Millitorr); + /// /// Creates a from . /// @@ -626,6 +636,7 @@ private double GetValueInBaseUnit() PressureUnit.MillimeterOfMercury => _value * 133.322387415, PressureUnit.MillimeterOfWaterColumn => (_value * 9.80665e3) * 1e-3d, PressureUnit.Millipascal => (_value) * 1e-3d, + PressureUnit.Millitorr => (_value * 101325 / 760) * 1e-3d, PressureUnit.NewtonPerSquareCentimeter => _value * 1e4, PressureUnit.NewtonPerSquareMeter => _value, PressureUnit.NewtonPerSquareMillimeter => _value * 1e6, @@ -686,6 +697,7 @@ private double GetValueAs(PressureUnit unit) PressureUnit.MillimeterOfMercury => baseUnitValue / 133.322387415, PressureUnit.MillimeterOfWaterColumn => (baseUnitValue / 9.80665e3) / 1e-3d, PressureUnit.Millipascal => (baseUnitValue) / 1e-3d, + PressureUnit.Millitorr => (baseUnitValue * 760 / 101325) / 1e-3d, PressureUnit.NewtonPerSquareCentimeter => baseUnitValue / 1e4, PressureUnit.NewtonPerSquareMeter => baseUnitValue, PressureUnit.NewtonPerSquareMillimeter => baseUnitValue / 1e6, diff --git a/UnitsNet.NanoFramework/GeneratedCode/Units/PressureUnit.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Units/PressureUnit.g.cs index c25981482f..dbcff54072 100644 --- a/UnitsNet.NanoFramework/GeneratedCode/Units/PressureUnit.g.cs +++ b/UnitsNet.NanoFramework/GeneratedCode/Units/PressureUnit.g.cs @@ -94,6 +94,7 @@ public enum PressureUnit MillimeterOfMercury = 32, MillimeterOfWaterColumn = 33, Millipascal = 34, + Millitorr = 52, NewtonPerSquareCentimeter = 35, NewtonPerSquareMeter = 36, NewtonPerSquareMillimeter = 37, diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToPressureExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToPressureExtensionsTest.g.cs index 8dd59fa16d..eccdde9422 100644 --- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToPressureExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToPressureExtensionsTest.g.cs @@ -160,6 +160,10 @@ public void NumberToMillimetersOfWaterColumnTest() => public void NumberToMillipascalsTest() => Assert.Equal(Pressure.FromMillipascals(2), 2.Millipascals()); + [Fact] + public void NumberToMillitorrsTest() => + Assert.Equal(Pressure.FromMillitorrs(2), 2.Millitorrs()); + [Fact] public void NumberToNewtonsPerSquareCentimeterTest() => Assert.Equal(Pressure.FromNewtonsPerSquareCentimeter(2), 2.NewtonsPerSquareCentimeter()); diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToPressureExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToPressureExtensions.g.cs index b2d80585f7..b731ef1138 100644 --- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToPressureExtensions.g.cs +++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToPressureExtensions.g.cs @@ -406,6 +406,17 @@ public static Pressure Millipascals(this T value) => Pressure.FromMillipascals(value.ToDouble(null)); #endif + /// + public static Pressure Millitorrs(this T value) + where T : notnull +#if NET7_0_OR_GREATER + , INumber + => Pressure.FromMillitorrs(double.CreateChecked(value)); +#else + , IConvertible + => Pressure.FromMillitorrs(value.ToDouble(null)); +#endif + /// public static Pressure NewtonsPerSquareCentimeter(this T value) where T : notnull diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/PressureTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/PressureTestsBase.g.cs index d0815e9271..4097863923 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/PressureTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/PressureTestsBase.g.cs @@ -73,6 +73,7 @@ public abstract partial class PressureTestsBase : QuantityTestsBase protected abstract double MillimetersOfMercuryInOnePascal { get; } protected abstract double MillimetersOfWaterColumnInOnePascal { get; } protected abstract double MillipascalsInOnePascal { get; } + protected abstract double MillitorrsInOnePascal { get; } protected abstract double NewtonsPerSquareCentimeterInOnePascal { get; } protected abstract double NewtonsPerSquareMeterInOnePascal { get; } protected abstract double NewtonsPerSquareMillimeterInOnePascal { get; } @@ -122,6 +123,7 @@ public abstract partial class PressureTestsBase : QuantityTestsBase protected virtual double MillimetersOfMercuryTolerance { get { return 1e-5; } } protected virtual double MillimetersOfWaterColumnTolerance { get { return 1e-5; } } protected virtual double MillipascalsTolerance { get { return 1e-5; } } + protected virtual double MillitorrsTolerance { get { return 1e-5; } } protected virtual double NewtonsPerSquareCentimeterTolerance { get { return 1e-5; } } protected virtual double NewtonsPerSquareMeterTolerance { get { return 1e-5; } } protected virtual double NewtonsPerSquareMillimeterTolerance { get { return 1e-5; } } @@ -175,6 +177,7 @@ public abstract partial class PressureTestsBase : QuantityTestsBase PressureUnit.MillimeterOfMercury => (MillimetersOfMercuryInOnePascal, MillimetersOfMercuryTolerance), PressureUnit.MillimeterOfWaterColumn => (MillimetersOfWaterColumnInOnePascal, MillimetersOfWaterColumnTolerance), PressureUnit.Millipascal => (MillipascalsInOnePascal, MillipascalsTolerance), + PressureUnit.Millitorr => (MillitorrsInOnePascal, MillitorrsTolerance), PressureUnit.NewtonPerSquareCentimeter => (NewtonsPerSquareCentimeterInOnePascal, NewtonsPerSquareCentimeterTolerance), PressureUnit.NewtonPerSquareMeter => (NewtonsPerSquareMeterInOnePascal, NewtonsPerSquareMeterTolerance), PressureUnit.NewtonPerSquareMillimeter => (NewtonsPerSquareMillimeterInOnePascal, NewtonsPerSquareMillimeterTolerance), @@ -228,6 +231,7 @@ public abstract partial class PressureTestsBase : QuantityTestsBase new object[] { PressureUnit.MillimeterOfMercury }, new object[] { PressureUnit.MillimeterOfWaterColumn }, new object[] { PressureUnit.Millipascal }, + new object[] { PressureUnit.Millitorr }, new object[] { PressureUnit.NewtonPerSquareCentimeter }, new object[] { PressureUnit.NewtonPerSquareMeter }, new object[] { PressureUnit.NewtonPerSquareMillimeter }, @@ -342,6 +346,7 @@ public void PascalToPressureUnits() AssertEx.EqualTolerance(MillimetersOfMercuryInOnePascal, pascal.MillimetersOfMercury, MillimetersOfMercuryTolerance); AssertEx.EqualTolerance(MillimetersOfWaterColumnInOnePascal, pascal.MillimetersOfWaterColumn, MillimetersOfWaterColumnTolerance); AssertEx.EqualTolerance(MillipascalsInOnePascal, pascal.Millipascals, MillipascalsTolerance); + AssertEx.EqualTolerance(MillitorrsInOnePascal, pascal.Millitorrs, MillitorrsTolerance); AssertEx.EqualTolerance(NewtonsPerSquareCentimeterInOnePascal, pascal.NewtonsPerSquareCentimeter, NewtonsPerSquareCentimeterTolerance); AssertEx.EqualTolerance(NewtonsPerSquareMeterInOnePascal, pascal.NewtonsPerSquareMeter, NewtonsPerSquareMeterTolerance); AssertEx.EqualTolerance(NewtonsPerSquareMillimeterInOnePascal, pascal.NewtonsPerSquareMillimeter, NewtonsPerSquareMillimeterTolerance); @@ -496,57 +501,61 @@ public void From_ValueAndUnit_ReturnsQuantityWithSameValueAndUnit() AssertEx.EqualTolerance(1, quantity33.Millipascals, MillipascalsTolerance); Assert.Equal(PressureUnit.Millipascal, quantity33.Unit); - var quantity34 = Pressure.From(1, PressureUnit.NewtonPerSquareCentimeter); - AssertEx.EqualTolerance(1, quantity34.NewtonsPerSquareCentimeter, NewtonsPerSquareCentimeterTolerance); - Assert.Equal(PressureUnit.NewtonPerSquareCentimeter, quantity34.Unit); + var quantity34 = Pressure.From(1, PressureUnit.Millitorr); + AssertEx.EqualTolerance(1, quantity34.Millitorrs, MillitorrsTolerance); + Assert.Equal(PressureUnit.Millitorr, quantity34.Unit); - var quantity35 = Pressure.From(1, PressureUnit.NewtonPerSquareMeter); - AssertEx.EqualTolerance(1, quantity35.NewtonsPerSquareMeter, NewtonsPerSquareMeterTolerance); - Assert.Equal(PressureUnit.NewtonPerSquareMeter, quantity35.Unit); + var quantity35 = Pressure.From(1, PressureUnit.NewtonPerSquareCentimeter); + AssertEx.EqualTolerance(1, quantity35.NewtonsPerSquareCentimeter, NewtonsPerSquareCentimeterTolerance); + Assert.Equal(PressureUnit.NewtonPerSquareCentimeter, quantity35.Unit); - var quantity36 = Pressure.From(1, PressureUnit.NewtonPerSquareMillimeter); - AssertEx.EqualTolerance(1, quantity36.NewtonsPerSquareMillimeter, NewtonsPerSquareMillimeterTolerance); - Assert.Equal(PressureUnit.NewtonPerSquareMillimeter, quantity36.Unit); + var quantity36 = Pressure.From(1, PressureUnit.NewtonPerSquareMeter); + AssertEx.EqualTolerance(1, quantity36.NewtonsPerSquareMeter, NewtonsPerSquareMeterTolerance); + Assert.Equal(PressureUnit.NewtonPerSquareMeter, quantity36.Unit); - var quantity37 = Pressure.From(1, PressureUnit.Pascal); - AssertEx.EqualTolerance(1, quantity37.Pascals, PascalsTolerance); - Assert.Equal(PressureUnit.Pascal, quantity37.Unit); + var quantity37 = Pressure.From(1, PressureUnit.NewtonPerSquareMillimeter); + AssertEx.EqualTolerance(1, quantity37.NewtonsPerSquareMillimeter, NewtonsPerSquareMillimeterTolerance); + Assert.Equal(PressureUnit.NewtonPerSquareMillimeter, quantity37.Unit); - var quantity38 = Pressure.From(1, PressureUnit.PoundForcePerSquareFoot); - AssertEx.EqualTolerance(1, quantity38.PoundsForcePerSquareFoot, PoundsForcePerSquareFootTolerance); - Assert.Equal(PressureUnit.PoundForcePerSquareFoot, quantity38.Unit); + var quantity38 = Pressure.From(1, PressureUnit.Pascal); + AssertEx.EqualTolerance(1, quantity38.Pascals, PascalsTolerance); + Assert.Equal(PressureUnit.Pascal, quantity38.Unit); - var quantity39 = Pressure.From(1, PressureUnit.PoundForcePerSquareInch); - AssertEx.EqualTolerance(1, quantity39.PoundsForcePerSquareInch, PoundsForcePerSquareInchTolerance); - Assert.Equal(PressureUnit.PoundForcePerSquareInch, quantity39.Unit); + var quantity39 = Pressure.From(1, PressureUnit.PoundForcePerSquareFoot); + AssertEx.EqualTolerance(1, quantity39.PoundsForcePerSquareFoot, PoundsForcePerSquareFootTolerance); + Assert.Equal(PressureUnit.PoundForcePerSquareFoot, quantity39.Unit); - var quantity40 = Pressure.From(1, PressureUnit.PoundForcePerSquareMil); - AssertEx.EqualTolerance(1, quantity40.PoundsForcePerSquareMil, PoundsForcePerSquareMilTolerance); - Assert.Equal(PressureUnit.PoundForcePerSquareMil, quantity40.Unit); + var quantity40 = Pressure.From(1, PressureUnit.PoundForcePerSquareInch); + AssertEx.EqualTolerance(1, quantity40.PoundsForcePerSquareInch, PoundsForcePerSquareInchTolerance); + Assert.Equal(PressureUnit.PoundForcePerSquareInch, quantity40.Unit); - var quantity41 = Pressure.From(1, PressureUnit.PoundPerInchSecondSquared); - AssertEx.EqualTolerance(1, quantity41.PoundsPerInchSecondSquared, PoundsPerInchSecondSquaredTolerance); - Assert.Equal(PressureUnit.PoundPerInchSecondSquared, quantity41.Unit); + var quantity41 = Pressure.From(1, PressureUnit.PoundForcePerSquareMil); + AssertEx.EqualTolerance(1, quantity41.PoundsForcePerSquareMil, PoundsForcePerSquareMilTolerance); + Assert.Equal(PressureUnit.PoundForcePerSquareMil, quantity41.Unit); - var quantity42 = Pressure.From(1, PressureUnit.TechnicalAtmosphere); - AssertEx.EqualTolerance(1, quantity42.TechnicalAtmospheres, TechnicalAtmospheresTolerance); - Assert.Equal(PressureUnit.TechnicalAtmosphere, quantity42.Unit); + var quantity42 = Pressure.From(1, PressureUnit.PoundPerInchSecondSquared); + AssertEx.EqualTolerance(1, quantity42.PoundsPerInchSecondSquared, PoundsPerInchSecondSquaredTolerance); + Assert.Equal(PressureUnit.PoundPerInchSecondSquared, quantity42.Unit); - var quantity43 = Pressure.From(1, PressureUnit.TonneForcePerSquareCentimeter); - AssertEx.EqualTolerance(1, quantity43.TonnesForcePerSquareCentimeter, TonnesForcePerSquareCentimeterTolerance); - Assert.Equal(PressureUnit.TonneForcePerSquareCentimeter, quantity43.Unit); + var quantity43 = Pressure.From(1, PressureUnit.TechnicalAtmosphere); + AssertEx.EqualTolerance(1, quantity43.TechnicalAtmospheres, TechnicalAtmospheresTolerance); + Assert.Equal(PressureUnit.TechnicalAtmosphere, quantity43.Unit); - var quantity44 = Pressure.From(1, PressureUnit.TonneForcePerSquareMeter); - AssertEx.EqualTolerance(1, quantity44.TonnesForcePerSquareMeter, TonnesForcePerSquareMeterTolerance); - Assert.Equal(PressureUnit.TonneForcePerSquareMeter, quantity44.Unit); + var quantity44 = Pressure.From(1, PressureUnit.TonneForcePerSquareCentimeter); + AssertEx.EqualTolerance(1, quantity44.TonnesForcePerSquareCentimeter, TonnesForcePerSquareCentimeterTolerance); + Assert.Equal(PressureUnit.TonneForcePerSquareCentimeter, quantity44.Unit); - var quantity45 = Pressure.From(1, PressureUnit.TonneForcePerSquareMillimeter); - AssertEx.EqualTolerance(1, quantity45.TonnesForcePerSquareMillimeter, TonnesForcePerSquareMillimeterTolerance); - Assert.Equal(PressureUnit.TonneForcePerSquareMillimeter, quantity45.Unit); + var quantity45 = Pressure.From(1, PressureUnit.TonneForcePerSquareMeter); + AssertEx.EqualTolerance(1, quantity45.TonnesForcePerSquareMeter, TonnesForcePerSquareMeterTolerance); + Assert.Equal(PressureUnit.TonneForcePerSquareMeter, quantity45.Unit); - var quantity46 = Pressure.From(1, PressureUnit.Torr); - AssertEx.EqualTolerance(1, quantity46.Torrs, TorrsTolerance); - Assert.Equal(PressureUnit.Torr, quantity46.Unit); + var quantity46 = Pressure.From(1, PressureUnit.TonneForcePerSquareMillimeter); + AssertEx.EqualTolerance(1, quantity46.TonnesForcePerSquareMillimeter, TonnesForcePerSquareMillimeterTolerance); + Assert.Equal(PressureUnit.TonneForcePerSquareMillimeter, quantity46.Unit); + + var quantity47 = Pressure.From(1, PressureUnit.Torr); + AssertEx.EqualTolerance(1, quantity47.Torrs, TorrsTolerance); + Assert.Equal(PressureUnit.Torr, quantity47.Unit); } @@ -606,6 +615,7 @@ public void As() AssertEx.EqualTolerance(MillimetersOfMercuryInOnePascal, pascal.As(PressureUnit.MillimeterOfMercury), MillimetersOfMercuryTolerance); AssertEx.EqualTolerance(MillimetersOfWaterColumnInOnePascal, pascal.As(PressureUnit.MillimeterOfWaterColumn), MillimetersOfWaterColumnTolerance); AssertEx.EqualTolerance(MillipascalsInOnePascal, pascal.As(PressureUnit.Millipascal), MillipascalsTolerance); + AssertEx.EqualTolerance(MillitorrsInOnePascal, pascal.As(PressureUnit.Millitorr), MillitorrsTolerance); AssertEx.EqualTolerance(NewtonsPerSquareCentimeterInOnePascal, pascal.As(PressureUnit.NewtonPerSquareCentimeter), NewtonsPerSquareCentimeterTolerance); AssertEx.EqualTolerance(NewtonsPerSquareMeterInOnePascal, pascal.As(PressureUnit.NewtonPerSquareMeter), NewtonsPerSquareMeterTolerance); AssertEx.EqualTolerance(NewtonsPerSquareMillimeterInOnePascal, pascal.As(PressureUnit.NewtonPerSquareMillimeter), NewtonsPerSquareMillimeterTolerance); @@ -1227,6 +1237,20 @@ public void Parse() Assert.Equal(PressureUnit.Millipascal, parsed.Unit); } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + try + { + var parsed = Pressure.Parse("1 mtorr", CultureInfo.GetCultureInfo("en-US")); + AssertEx.EqualTolerance(1, parsed.Millitorrs, MillitorrsTolerance); + Assert.Equal(PressureUnit.Millitorr, parsed.Unit); + } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + + try + { + var parsed = Pressure.Parse("1 мторр", CultureInfo.GetCultureInfo("ru-RU")); + AssertEx.EqualTolerance(1, parsed.Millitorrs, MillitorrsTolerance); + Assert.Equal(PressureUnit.Millitorr, parsed.Unit); + } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + try { var parsed = Pressure.Parse("1 N/cm²", CultureInfo.GetCultureInfo("en-US")); @@ -1766,6 +1790,18 @@ public void TryParse() Assert.Equal(PressureUnit.MillimeterOfWaterColumn, parsed.Unit); } + { + Assert.True(Pressure.TryParse("1 mtorr", CultureInfo.GetCultureInfo("en-US"), out var parsed)); + AssertEx.EqualTolerance(1, parsed.Millitorrs, MillitorrsTolerance); + Assert.Equal(PressureUnit.Millitorr, parsed.Unit); + } + + { + Assert.True(Pressure.TryParse("1 мторр", CultureInfo.GetCultureInfo("ru-RU"), out var parsed)); + AssertEx.EqualTolerance(1, parsed.Millitorrs, MillitorrsTolerance); + Assert.Equal(PressureUnit.Millitorr, parsed.Unit); + } + { Assert.True(Pressure.TryParse("1 N/cm²", CultureInfo.GetCultureInfo("en-US"), out var parsed)); AssertEx.EqualTolerance(1, parsed.NewtonsPerSquareCentimeter, NewtonsPerSquareCentimeterTolerance); @@ -1959,6 +1995,7 @@ public void TryParse() [InlineData("mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mPa", PressureUnit.Millipascal)] + [InlineData("mtorr", PressureUnit.Millitorr)] [InlineData("N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2030,6 +2067,7 @@ public void ParseUnit_WithUsEnglishCurrentCulture(string abbreviation, PressureU [InlineData("mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mPa", PressureUnit.Millipascal)] + [InlineData("mtorr", PressureUnit.Millitorr)] [InlineData("N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2101,6 +2139,7 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string [InlineData("en-US", "mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mPa", PressureUnit.Millipascal)] + [InlineData("en-US", "mtorr", PressureUnit.Millitorr)] [InlineData("en-US", "N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("en-US", "N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("en-US", "N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2142,6 +2181,7 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string [InlineData("ru-RU", "мбар", PressureUnit.Millibar)] [InlineData("ru-RU", "мм рт.ст.", PressureUnit.MillimeterOfMercury)] [InlineData("ru-RU", "мПа", PressureUnit.Millipascal)] + [InlineData("ru-RU", "мторр", PressureUnit.Millitorr)] [InlineData("ru-RU", "Н/см²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("ru-RU", "Н/м²", PressureUnit.NewtonPerSquareMeter)] [InlineData("ru-RU", "Н/мм²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2204,6 +2244,7 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Pr [InlineData("en-US", "mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mPa", PressureUnit.Millipascal)] + [InlineData("en-US", "mtorr", PressureUnit.Millitorr)] [InlineData("en-US", "N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("en-US", "N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("en-US", "N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2245,6 +2286,7 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Pr [InlineData("ru-RU", "мбар", PressureUnit.Millibar)] [InlineData("ru-RU", "мм рт.ст.", PressureUnit.MillimeterOfMercury)] [InlineData("ru-RU", "мПа", PressureUnit.Millipascal)] + [InlineData("ru-RU", "мторр", PressureUnit.Millitorr)] [InlineData("ru-RU", "Н/см²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("ru-RU", "Н/м²", PressureUnit.NewtonPerSquareMeter)] [InlineData("ru-RU", "Н/мм²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2306,6 +2348,7 @@ public void ParseUnit_WithCulture(string culture, string abbreviation, PressureU [InlineData("mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mPa", PressureUnit.Millipascal)] + [InlineData("mtorr", PressureUnit.Millitorr)] [InlineData("N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2377,6 +2420,7 @@ public void TryParseUnit_WithUsEnglishCurrentCulture(string abbreviation, Pressu [InlineData("mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("mPa", PressureUnit.Millipascal)] + [InlineData("mtorr", PressureUnit.Millitorr)] [InlineData("N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2448,6 +2492,7 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri [InlineData("en-US", "mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mPa", PressureUnit.Millipascal)] + [InlineData("en-US", "mtorr", PressureUnit.Millitorr)] [InlineData("en-US", "N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("en-US", "N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("en-US", "N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2489,6 +2534,7 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri [InlineData("ru-RU", "мбар", PressureUnit.Millibar)] [InlineData("ru-RU", "мм рт.ст.", PressureUnit.MillimeterOfMercury)] [InlineData("ru-RU", "мПа", PressureUnit.Millipascal)] + [InlineData("ru-RU", "мторр", PressureUnit.Millitorr)] [InlineData("ru-RU", "Н/см²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("ru-RU", "Н/м²", PressureUnit.NewtonPerSquareMeter)] [InlineData("ru-RU", "Н/мм²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2551,6 +2597,7 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, [InlineData("en-US", "mm wc", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mm wg", PressureUnit.MillimeterOfWaterColumn)] [InlineData("en-US", "mPa", PressureUnit.Millipascal)] + [InlineData("en-US", "mtorr", PressureUnit.Millitorr)] [InlineData("en-US", "N/cm²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("en-US", "N/m²", PressureUnit.NewtonPerSquareMeter)] [InlineData("en-US", "N/mm²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2592,6 +2639,7 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, [InlineData("ru-RU", "мбар", PressureUnit.Millibar)] [InlineData("ru-RU", "мм рт.ст.", PressureUnit.MillimeterOfMercury)] [InlineData("ru-RU", "мПа", PressureUnit.Millipascal)] + [InlineData("ru-RU", "мторр", PressureUnit.Millitorr)] [InlineData("ru-RU", "Н/см²", PressureUnit.NewtonPerSquareCentimeter)] [InlineData("ru-RU", "Н/м²", PressureUnit.NewtonPerSquareMeter)] [InlineData("ru-RU", "Н/мм²", PressureUnit.NewtonPerSquareMillimeter)] @@ -2705,6 +2753,7 @@ public void ConversionRoundTrip() AssertEx.EqualTolerance(1, Pressure.FromMillimetersOfMercury(pascal.MillimetersOfMercury).Pascals, MillimetersOfMercuryTolerance); AssertEx.EqualTolerance(1, Pressure.FromMillimetersOfWaterColumn(pascal.MillimetersOfWaterColumn).Pascals, MillimetersOfWaterColumnTolerance); AssertEx.EqualTolerance(1, Pressure.FromMillipascals(pascal.Millipascals).Pascals, MillipascalsTolerance); + AssertEx.EqualTolerance(1, Pressure.FromMillitorrs(pascal.Millitorrs).Pascals, MillitorrsTolerance); AssertEx.EqualTolerance(1, Pressure.FromNewtonsPerSquareCentimeter(pascal.NewtonsPerSquareCentimeter).Pascals, NewtonsPerSquareCentimeterTolerance); AssertEx.EqualTolerance(1, Pressure.FromNewtonsPerSquareMeter(pascal.NewtonsPerSquareMeter).Pascals, NewtonsPerSquareMeterTolerance); AssertEx.EqualTolerance(1, Pressure.FromNewtonsPerSquareMillimeter(pascal.NewtonsPerSquareMillimeter).Pascals, NewtonsPerSquareMillimeterTolerance); @@ -2899,6 +2948,7 @@ public void ToString_ReturnsValueAndUnitAbbreviationInCurrentCulture() Assert.Equal("1 mmHg", new Pressure(1, PressureUnit.MillimeterOfMercury).ToString()); Assert.Equal("1 mmH₂O", new Pressure(1, PressureUnit.MillimeterOfWaterColumn).ToString()); Assert.Equal("1 mPa", new Pressure(1, PressureUnit.Millipascal).ToString()); + Assert.Equal("1 mtorr", new Pressure(1, PressureUnit.Millitorr).ToString()); Assert.Equal("1 N/cm²", new Pressure(1, PressureUnit.NewtonPerSquareCentimeter).ToString()); Assert.Equal("1 N/m²", new Pressure(1, PressureUnit.NewtonPerSquareMeter).ToString()); Assert.Equal("1 N/mm²", new Pressure(1, PressureUnit.NewtonPerSquareMillimeter).ToString()); @@ -2954,6 +3004,7 @@ public void ToString_WithSwedishCulture_ReturnsUnitAbbreviationForEnglishCulture Assert.Equal("1 mmHg", new Pressure(1, PressureUnit.MillimeterOfMercury).ToString(swedishCulture)); Assert.Equal("1 mmH₂O", new Pressure(1, PressureUnit.MillimeterOfWaterColumn).ToString(swedishCulture)); Assert.Equal("1 mPa", new Pressure(1, PressureUnit.Millipascal).ToString(swedishCulture)); + Assert.Equal("1 mtorr", new Pressure(1, PressureUnit.Millitorr).ToString(swedishCulture)); Assert.Equal("1 N/cm²", new Pressure(1, PressureUnit.NewtonPerSquareCentimeter).ToString(swedishCulture)); Assert.Equal("1 N/m²", new Pressure(1, PressureUnit.NewtonPerSquareMeter).ToString(swedishCulture)); Assert.Equal("1 N/mm²", new Pressure(1, PressureUnit.NewtonPerSquareMillimeter).ToString(swedishCulture)); diff --git a/UnitsNet/GeneratedCode/Quantities/Pressure.g.cs b/UnitsNet/GeneratedCode/Quantities/Pressure.g.cs index 3b86ec054f..74f3bf45bc 100644 --- a/UnitsNet/GeneratedCode/Quantities/Pressure.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/Pressure.g.cs @@ -162,6 +162,7 @@ public static IEnumerable> GetDefaultMappings() yield return new (PressureUnit.MillimeterOfMercury, "MillimeterOfMercury", "MillimetersOfMercury", BaseUnits.Undefined); yield return new (PressureUnit.MillimeterOfWaterColumn, "MillimeterOfWaterColumn", "MillimetersOfWaterColumn", BaseUnits.Undefined); yield return new (PressureUnit.Millipascal, "Millipascal", "Millipascals", new BaseUnits(length: LengthUnit.Meter, mass: MassUnit.Gram, time: DurationUnit.Second)); + yield return new (PressureUnit.Millitorr, "Millitorr", "Millitorrs", BaseUnits.Undefined); yield return new (PressureUnit.NewtonPerSquareCentimeter, "NewtonPerSquareCentimeter", "NewtonsPerSquareCentimeter", BaseUnits.Undefined); yield return new (PressureUnit.NewtonPerSquareMeter, "NewtonPerSquareMeter", "NewtonsPerSquareMeter", new BaseUnits(length: LengthUnit.Meter, mass: MassUnit.Kilogram, time: DurationUnit.Second)); yield return new (PressureUnit.NewtonPerSquareMillimeter, "NewtonPerSquareMillimeter", "NewtonsPerSquareMillimeter", BaseUnits.Undefined); @@ -453,6 +454,11 @@ public Pressure(double value, UnitSystem unitSystem) /// public double Millipascals => As(PressureUnit.Millipascal); + /// + /// Gets a value of this quantity converted into + /// + public double Millitorrs => As(PressureUnit.Millitorr); + /// /// Gets a value of this quantity converted into /// @@ -563,6 +569,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) unitConverter.SetConversionFunction(PressureUnit.MillimeterOfMercury, PressureUnit.Pascal, quantity => quantity.ToUnit(PressureUnit.Pascal)); unitConverter.SetConversionFunction(PressureUnit.MillimeterOfWaterColumn, PressureUnit.Pascal, quantity => quantity.ToUnit(PressureUnit.Pascal)); unitConverter.SetConversionFunction(PressureUnit.Millipascal, PressureUnit.Pascal, quantity => quantity.ToUnit(PressureUnit.Pascal)); + unitConverter.SetConversionFunction(PressureUnit.Millitorr, PressureUnit.Pascal, quantity => quantity.ToUnit(PressureUnit.Pascal)); unitConverter.SetConversionFunction(PressureUnit.NewtonPerSquareCentimeter, PressureUnit.Pascal, quantity => quantity.ToUnit(PressureUnit.Pascal)); unitConverter.SetConversionFunction(PressureUnit.NewtonPerSquareMeter, PressureUnit.Pascal, quantity => quantity.ToUnit(PressureUnit.Pascal)); unitConverter.SetConversionFunction(PressureUnit.NewtonPerSquareMillimeter, PressureUnit.Pascal, quantity => quantity.ToUnit(PressureUnit.Pascal)); @@ -614,6 +621,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) unitConverter.SetConversionFunction(PressureUnit.Pascal, PressureUnit.MillimeterOfMercury, quantity => quantity.ToUnit(PressureUnit.MillimeterOfMercury)); unitConverter.SetConversionFunction(PressureUnit.Pascal, PressureUnit.MillimeterOfWaterColumn, quantity => quantity.ToUnit(PressureUnit.MillimeterOfWaterColumn)); unitConverter.SetConversionFunction(PressureUnit.Pascal, PressureUnit.Millipascal, quantity => quantity.ToUnit(PressureUnit.Millipascal)); + unitConverter.SetConversionFunction(PressureUnit.Pascal, PressureUnit.Millitorr, quantity => quantity.ToUnit(PressureUnit.Millitorr)); unitConverter.SetConversionFunction(PressureUnit.Pascal, PressureUnit.NewtonPerSquareCentimeter, quantity => quantity.ToUnit(PressureUnit.NewtonPerSquareCentimeter)); unitConverter.SetConversionFunction(PressureUnit.Pascal, PressureUnit.NewtonPerSquareMeter, quantity => quantity.ToUnit(PressureUnit.NewtonPerSquareMeter)); unitConverter.SetConversionFunction(PressureUnit.Pascal, PressureUnit.NewtonPerSquareMillimeter, quantity => quantity.ToUnit(PressureUnit.NewtonPerSquareMillimeter)); @@ -925,6 +933,14 @@ public static Pressure FromMillipascals(double value) return new Pressure(value, PressureUnit.Millipascal); } + /// + /// Creates a from . + /// + public static Pressure FromMillitorrs(double value) + { + return new Pressure(value, PressureUnit.Millitorr); + } + /// /// Creates a from . /// @@ -1593,6 +1609,7 @@ private bool TryToUnit(PressureUnit unit, [NotNullWhen(true)] out Pressure? conv (PressureUnit.MillimeterOfMercury, PressureUnit.Pascal) => new Pressure(_value * 133.322387415, PressureUnit.Pascal), (PressureUnit.MillimeterOfWaterColumn, PressureUnit.Pascal) => new Pressure((_value * 9.80665e3) * 1e-3d, PressureUnit.Pascal), (PressureUnit.Millipascal, PressureUnit.Pascal) => new Pressure((_value) * 1e-3d, PressureUnit.Pascal), + (PressureUnit.Millitorr, PressureUnit.Pascal) => new Pressure((_value * 101325 / 760) * 1e-3d, PressureUnit.Pascal), (PressureUnit.NewtonPerSquareCentimeter, PressureUnit.Pascal) => new Pressure(_value * 1e4, PressureUnit.Pascal), (PressureUnit.NewtonPerSquareMeter, PressureUnit.Pascal) => new Pressure(_value, PressureUnit.Pascal), (PressureUnit.NewtonPerSquareMillimeter, PressureUnit.Pascal) => new Pressure(_value * 1e6, PressureUnit.Pascal), @@ -1641,6 +1658,7 @@ private bool TryToUnit(PressureUnit unit, [NotNullWhen(true)] out Pressure? conv (PressureUnit.Pascal, PressureUnit.MillimeterOfMercury) => new Pressure(_value / 133.322387415, PressureUnit.MillimeterOfMercury), (PressureUnit.Pascal, PressureUnit.MillimeterOfWaterColumn) => new Pressure((_value / 9.80665e3) / 1e-3d, PressureUnit.MillimeterOfWaterColumn), (PressureUnit.Pascal, PressureUnit.Millipascal) => new Pressure((_value) / 1e-3d, PressureUnit.Millipascal), + (PressureUnit.Pascal, PressureUnit.Millitorr) => new Pressure((_value * 760 / 101325) / 1e-3d, PressureUnit.Millitorr), (PressureUnit.Pascal, PressureUnit.NewtonPerSquareCentimeter) => new Pressure(_value / 1e4, PressureUnit.NewtonPerSquareCentimeter), (PressureUnit.Pascal, PressureUnit.NewtonPerSquareMeter) => new Pressure(_value, PressureUnit.NewtonPerSquareMeter), (PressureUnit.Pascal, PressureUnit.NewtonPerSquareMillimeter) => new Pressure(_value / 1e6, PressureUnit.NewtonPerSquareMillimeter), diff --git a/UnitsNet/GeneratedCode/Resources/Pressure.restext b/UnitsNet/GeneratedCode/Resources/Pressure.restext index cce04a6a1f..133dbef717 100644 --- a/UnitsNet/GeneratedCode/Resources/Pressure.restext +++ b/UnitsNet/GeneratedCode/Resources/Pressure.restext @@ -32,6 +32,7 @@ Millibars=mbar MillimetersOfMercury=mmHg MillimetersOfWaterColumn=mmH₂O,mmH2O,mm wc,mm wg Millipascals=mPa +Millitorrs=mtorr NewtonsPerSquareCentimeter=N/cm² NewtonsPerSquareMeter=N/m² NewtonsPerSquareMillimeter=N/mm² diff --git a/UnitsNet/GeneratedCode/Resources/Pressure.ru-RU.restext b/UnitsNet/GeneratedCode/Resources/Pressure.ru-RU.restext index 7e4a13564c..4a13b08a9e 100644 --- a/UnitsNet/GeneratedCode/Resources/Pressure.ru-RU.restext +++ b/UnitsNet/GeneratedCode/Resources/Pressure.ru-RU.restext @@ -22,6 +22,7 @@ Micropascals=мкПа Millibars=мбар MillimetersOfMercury=мм рт.ст. Millipascals=мПа +Millitorrs=мторр NewtonsPerSquareCentimeter=Н/см² NewtonsPerSquareMeter=Н/м² NewtonsPerSquareMillimeter=Н/мм² diff --git a/UnitsNet/GeneratedCode/Units/PressureUnit.g.cs b/UnitsNet/GeneratedCode/Units/PressureUnit.g.cs index c25981482f..dbcff54072 100644 --- a/UnitsNet/GeneratedCode/Units/PressureUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/PressureUnit.g.cs @@ -94,6 +94,7 @@ public enum PressureUnit MillimeterOfMercury = 32, MillimeterOfWaterColumn = 33, Millipascal = 34, + Millitorr = 52, NewtonPerSquareCentimeter = 35, NewtonPerSquareMeter = 36, NewtonPerSquareMillimeter = 37, From 06d77acc5d82cbdf3f143043e23c065dc32e0b7f Mon Sep 17 00:00:00 2001 From: n-tiz <3192885+n-tiz@users.noreply.github.com> Date: Tue, 29 Jul 2025 13:17:14 +0200 Subject: [PATCH 3/3] Unit test implementation for MillitorrsInOnePascal --- UnitsNet.Tests/CustomCode/PressureTests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/UnitsNet.Tests/CustomCode/PressureTests.cs b/UnitsNet.Tests/CustomCode/PressureTests.cs index e1fae4bed1..f536bfa00c 100644 --- a/UnitsNet.Tests/CustomCode/PressureTests.cs +++ b/UnitsNet.Tests/CustomCode/PressureTests.cs @@ -67,6 +67,8 @@ public class PressureTests : PressureTestsBase protected override double TorrsInOnePascal => 7.5006 * 1E-3; + protected override double MillitorrsInOnePascal => 7.5006; + protected override double CentibarsInOnePascal => 1e-3; protected override double DecapascalsInOnePascal => 1e-1;