diff --git a/Common/UnitDefinitions/LeakRate.json b/Common/UnitDefinitions/LeakRate.json index eb4f59919b..b87402851d 100644 --- a/Common/UnitDefinitions/LeakRate.json +++ b/Common/UnitDefinitions/LeakRate.json @@ -55,6 +55,20 @@ ] } ] + }, + { + "SingularName": "AtmCubicCentimeterPerSecond", + "PluralName": "AtmCubicCentimetersPerSecond", + "FromUnitToBaseFunc": "{x} / (1e6 / 101325)", + "FromBaseToUnitFunc": "{x} * (1e6 / 101325)", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ + "atm·cm³/s" + ] + } + ] } ] } diff --git a/Common/UnitEnumValues.g.json b/Common/UnitEnumValues.g.json index 2c66699d13..025e39f28b 100644 --- a/Common/UnitEnumValues.g.json +++ b/Common/UnitEnumValues.g.json @@ -1794,7 +1794,8 @@ "MillibarLiterPerSecond": 7, "PascalQubicMeterPerSecond": 1, "TorrLiterPerSecond": 4, - "PascalCubicMeterPerSecond": 2 + "PascalCubicMeterPerSecond": 2, + "AtmCubicCentimeterPerSecond": 10 }, "AbsorbedDoseOfIonizingRadiation": { "Centigray": 6, diff --git a/UnitsNet.NanoFramework/GeneratedCode/Quantities/LeakRate.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Quantities/LeakRate.g.cs index e24fb8af47..56b124583f 100644 --- a/UnitsNet.NanoFramework/GeneratedCode/Quantities/LeakRate.g.cs +++ b/UnitsNet.NanoFramework/GeneratedCode/Quantities/LeakRate.g.cs @@ -81,6 +81,11 @@ public LeakRate(double value, LeakRateUnit unit) public static LeakRate Zero { get; } = new LeakRate(0, BaseUnit); #region Conversion Properties + /// + /// Gets a value of this quantity converted into + /// + public double AtmCubicCentimetersPerSecond => As(LeakRateUnit.AtmCubicCentimeterPerSecond); + /// /// Gets a value of this quantity converted into /// @@ -100,6 +105,11 @@ public LeakRate(double value, LeakRateUnit unit) #region Static Factory Methods + /// + /// Creates a from . + /// + public static LeakRate FromAtmCubicCentimetersPerSecond(double atmcubiccentimeterspersecond) => new LeakRate(atmcubiccentimeterspersecond, LeakRateUnit.AtmCubicCentimeterPerSecond); + /// /// Creates a from . /// @@ -155,6 +165,7 @@ private double GetValueInBaseUnit() { return Unit switch { + LeakRateUnit.AtmCubicCentimeterPerSecond => _value / (1e6 / 101325), LeakRateUnit.MillibarLiterPerSecond => _value / 10, LeakRateUnit.PascalCubicMeterPerSecond => _value, LeakRateUnit.TorrLiterPerSecond => _value / 7.5, @@ -171,6 +182,7 @@ private double GetValueAs(LeakRateUnit unit) return unit switch { + LeakRateUnit.AtmCubicCentimeterPerSecond => baseUnitValue * (1e6 / 101325), LeakRateUnit.MillibarLiterPerSecond => baseUnitValue * 10, LeakRateUnit.PascalCubicMeterPerSecond => baseUnitValue, LeakRateUnit.TorrLiterPerSecond => baseUnitValue * 7.5, diff --git a/UnitsNet.NanoFramework/GeneratedCode/Units/LeakRateUnit.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Units/LeakRateUnit.g.cs index 0ce4af310a..e48896681e 100644 --- a/UnitsNet.NanoFramework/GeneratedCode/Units/LeakRateUnit.g.cs +++ b/UnitsNet.NanoFramework/GeneratedCode/Units/LeakRateUnit.g.cs @@ -25,6 +25,7 @@ namespace UnitsNet.Units public enum LeakRateUnit { + AtmCubicCentimeterPerSecond = 10, MillibarLiterPerSecond = 7, PascalCubicMeterPerSecond = 2, TorrLiterPerSecond = 4, diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToLeakRateExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToLeakRateExtensionsTest.g.cs index 578207750b..9ff744b3c2 100644 --- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToLeakRateExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToLeakRateExtensionsTest.g.cs @@ -24,6 +24,10 @@ namespace UnitsNet.Tests { public class NumberToLeakRateExtensionsTests { + [Fact] + public void NumberToAtmCubicCentimetersPerSecondTest() => + Assert.Equal(LeakRate.FromAtmCubicCentimetersPerSecond(2), 2.AtmCubicCentimetersPerSecond()); + [Fact] public void NumberToMillibarLitersPerSecondTest() => Assert.Equal(LeakRate.FromMillibarLitersPerSecond(2), 2.MillibarLitersPerSecond()); diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToLeakRateExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToLeakRateExtensions.g.cs index 52b3d5affc..97baf4167b 100644 --- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToLeakRateExtensions.g.cs +++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToLeakRateExtensions.g.cs @@ -32,6 +32,17 @@ namespace UnitsNet.NumberExtensions.NumberToLeakRate /// public static class NumberToLeakRateExtensions { + /// + public static LeakRate AtmCubicCentimetersPerSecond(this T value) + where T : notnull +#if NET7_0_OR_GREATER + , INumber + => LeakRate.FromAtmCubicCentimetersPerSecond(double.CreateChecked(value)); +#else + , IConvertible + => LeakRate.FromAtmCubicCentimetersPerSecond(value.ToDouble(null)); +#endif + /// public static LeakRate MillibarLitersPerSecond(this T value) where T : notnull diff --git a/UnitsNet.Tests/CustomCode/LeakRateTests.cs b/UnitsNet.Tests/CustomCode/LeakRateTests.cs index 9b0c81daf7..0e61c09773 100644 --- a/UnitsNet.Tests/CustomCode/LeakRateTests.cs +++ b/UnitsNet.Tests/CustomCode/LeakRateTests.cs @@ -25,6 +25,8 @@ public class LeakRateTests : LeakRateTestsBase { protected override double PascalCubicMetersPerSecondInOnePascalCubicMeterPerSecond => 1; + protected override double AtmCubicCentimetersPerSecondInOnePascalCubicMeterPerSecond => 9.8692326671601; + protected override double MillibarLitersPerSecondInOnePascalCubicMeterPerSecond => 10; protected override double TorrLitersPerSecondInOnePascalCubicMeterPerSecond => 7.5; diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/LeakRateTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/LeakRateTestsBase.g.cs index 27496a473a..452c6c0774 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/LeakRateTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/LeakRateTestsBase.g.cs @@ -39,11 +39,13 @@ namespace UnitsNet.Tests // ReSharper disable once PartialTypeWithSinglePart public abstract partial class LeakRateTestsBase : QuantityTestsBase { + protected abstract double AtmCubicCentimetersPerSecondInOnePascalCubicMeterPerSecond { get; } protected abstract double MillibarLitersPerSecondInOnePascalCubicMeterPerSecond { get; } protected abstract double PascalCubicMetersPerSecondInOnePascalCubicMeterPerSecond { get; } protected abstract double TorrLitersPerSecondInOnePascalCubicMeterPerSecond { get; } // ReSharper disable VirtualMemberNeverOverriden.Global + protected virtual double AtmCubicCentimetersPerSecondTolerance { get { return 1e-5; } } protected virtual double MillibarLitersPerSecondTolerance { get { return 1e-5; } } protected virtual double PascalCubicMetersPerSecondTolerance { get { return 1e-5; } } protected virtual double TorrLitersPerSecondTolerance { get { return 1e-5; } } @@ -53,6 +55,7 @@ public abstract partial class LeakRateTestsBase : QuantityTestsBase { return unit switch { + LeakRateUnit.AtmCubicCentimeterPerSecond => (AtmCubicCentimetersPerSecondInOnePascalCubicMeterPerSecond, AtmCubicCentimetersPerSecondTolerance), LeakRateUnit.MillibarLiterPerSecond => (MillibarLitersPerSecondInOnePascalCubicMeterPerSecond, MillibarLitersPerSecondTolerance), LeakRateUnit.PascalCubicMeterPerSecond => (PascalCubicMetersPerSecondInOnePascalCubicMeterPerSecond, PascalCubicMetersPerSecondTolerance), LeakRateUnit.TorrLiterPerSecond => (TorrLitersPerSecondInOnePascalCubicMeterPerSecond, TorrLitersPerSecondTolerance), @@ -62,6 +65,7 @@ public abstract partial class LeakRateTestsBase : QuantityTestsBase public static IEnumerable UnitTypes = new List { + new object[] { LeakRateUnit.AtmCubicCentimeterPerSecond }, new object[] { LeakRateUnit.MillibarLiterPerSecond }, new object[] { LeakRateUnit.PascalCubicMeterPerSecond }, new object[] { LeakRateUnit.TorrLiterPerSecond }, @@ -132,6 +136,7 @@ public void LeakRate_QuantityInfo_ReturnsQuantityInfoDescribingQuantity() public void PascalCubicMeterPerSecondToLeakRateUnits() { LeakRate pascalcubicmeterpersecond = LeakRate.FromPascalCubicMetersPerSecond(1); + AssertEx.EqualTolerance(AtmCubicCentimetersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.AtmCubicCentimetersPerSecond, AtmCubicCentimetersPerSecondTolerance); AssertEx.EqualTolerance(MillibarLitersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.MillibarLitersPerSecond, MillibarLitersPerSecondTolerance); AssertEx.EqualTolerance(PascalCubicMetersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.PascalCubicMetersPerSecond, PascalCubicMetersPerSecondTolerance); AssertEx.EqualTolerance(TorrLitersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.TorrLitersPerSecond, TorrLitersPerSecondTolerance); @@ -140,17 +145,21 @@ public void PascalCubicMeterPerSecondToLeakRateUnits() [Fact] public void From_ValueAndUnit_ReturnsQuantityWithSameValueAndUnit() { - var quantity00 = LeakRate.From(1, LeakRateUnit.MillibarLiterPerSecond); - AssertEx.EqualTolerance(1, quantity00.MillibarLitersPerSecond, MillibarLitersPerSecondTolerance); - Assert.Equal(LeakRateUnit.MillibarLiterPerSecond, quantity00.Unit); + var quantity00 = LeakRate.From(1, LeakRateUnit.AtmCubicCentimeterPerSecond); + AssertEx.EqualTolerance(1, quantity00.AtmCubicCentimetersPerSecond, AtmCubicCentimetersPerSecondTolerance); + Assert.Equal(LeakRateUnit.AtmCubicCentimeterPerSecond, quantity00.Unit); - var quantity01 = LeakRate.From(1, LeakRateUnit.PascalCubicMeterPerSecond); - AssertEx.EqualTolerance(1, quantity01.PascalCubicMetersPerSecond, PascalCubicMetersPerSecondTolerance); - Assert.Equal(LeakRateUnit.PascalCubicMeterPerSecond, quantity01.Unit); + var quantity01 = LeakRate.From(1, LeakRateUnit.MillibarLiterPerSecond); + AssertEx.EqualTolerance(1, quantity01.MillibarLitersPerSecond, MillibarLitersPerSecondTolerance); + Assert.Equal(LeakRateUnit.MillibarLiterPerSecond, quantity01.Unit); - var quantity02 = LeakRate.From(1, LeakRateUnit.TorrLiterPerSecond); - AssertEx.EqualTolerance(1, quantity02.TorrLitersPerSecond, TorrLitersPerSecondTolerance); - Assert.Equal(LeakRateUnit.TorrLiterPerSecond, quantity02.Unit); + var quantity02 = LeakRate.From(1, LeakRateUnit.PascalCubicMeterPerSecond); + AssertEx.EqualTolerance(1, quantity02.PascalCubicMetersPerSecond, PascalCubicMetersPerSecondTolerance); + Assert.Equal(LeakRateUnit.PascalCubicMeterPerSecond, quantity02.Unit); + + var quantity03 = LeakRate.From(1, LeakRateUnit.TorrLiterPerSecond); + AssertEx.EqualTolerance(1, quantity03.TorrLitersPerSecond, TorrLitersPerSecondTolerance); + Assert.Equal(LeakRateUnit.TorrLiterPerSecond, quantity03.Unit); } @@ -176,6 +185,7 @@ public void FromPascalCubicMetersPerSecond_WithNanValue_DoNotThrowsArgumentExcep public void As() { var pascalcubicmeterpersecond = LeakRate.FromPascalCubicMetersPerSecond(1); + AssertEx.EqualTolerance(AtmCubicCentimetersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.As(LeakRateUnit.AtmCubicCentimeterPerSecond), AtmCubicCentimetersPerSecondTolerance); AssertEx.EqualTolerance(MillibarLitersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.As(LeakRateUnit.MillibarLiterPerSecond), MillibarLitersPerSecondTolerance); AssertEx.EqualTolerance(PascalCubicMetersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.As(LeakRateUnit.PascalCubicMeterPerSecond), PascalCubicMetersPerSecondTolerance); AssertEx.EqualTolerance(TorrLitersPerSecondInOnePascalCubicMeterPerSecond, pascalcubicmeterpersecond.As(LeakRateUnit.TorrLiterPerSecond), TorrLitersPerSecondTolerance); @@ -290,6 +300,13 @@ public void ToUnit_UnitSystem_ThrowsArgumentExceptionIfNotSupported() [Fact] public void Parse() { + try + { + var parsed = LeakRate.Parse("1 atm·cm³/s", CultureInfo.GetCultureInfo("en-US")); + AssertEx.EqualTolerance(1, parsed.AtmCubicCentimetersPerSecond, AtmCubicCentimetersPerSecondTolerance); + Assert.Equal(LeakRateUnit.AtmCubicCentimeterPerSecond, parsed.Unit); + } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + try { var parsed = LeakRate.Parse("1 mbar·l/s", CultureInfo.GetCultureInfo("en-US")); @@ -316,6 +333,12 @@ public void Parse() [Fact] public void TryParse() { + { + Assert.True(LeakRate.TryParse("1 atm·cm³/s", CultureInfo.GetCultureInfo("en-US"), out var parsed)); + AssertEx.EqualTolerance(1, parsed.AtmCubicCentimetersPerSecond, AtmCubicCentimetersPerSecondTolerance); + Assert.Equal(LeakRateUnit.AtmCubicCentimeterPerSecond, parsed.Unit); + } + { Assert.True(LeakRate.TryParse("1 mbar·l/s", CultureInfo.GetCultureInfo("en-US"), out var parsed)); AssertEx.EqualTolerance(1, parsed.MillibarLitersPerSecond, MillibarLitersPerSecondTolerance); @@ -337,6 +360,7 @@ public void TryParse() } [Theory] + [InlineData("atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -349,6 +373,7 @@ public void ParseUnit_WithUsEnglishCurrentCulture(string abbreviation, LeakRateU } [Theory] + [InlineData("atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -361,6 +386,7 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string } [Theory] + [InlineData("en-US", "atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("en-US", "mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("en-US", "Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("en-US", "Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -372,6 +398,7 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Le } [Theory] + [InlineData("en-US", "atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("en-US", "mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("en-US", "Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("en-US", "Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -382,6 +409,7 @@ public void ParseUnit_WithCulture(string culture, string abbreviation, LeakRateU } [Theory] + [InlineData("atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -394,6 +422,7 @@ public void TryParseUnit_WithUsEnglishCurrentCulture(string abbreviation, LeakRa } [Theory] + [InlineData("atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -406,6 +435,7 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri } [Theory] + [InlineData("en-US", "atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("en-US", "mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("en-US", "Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("en-US", "Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -417,6 +447,7 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, } [Theory] + [InlineData("en-US", "atm·cm³/s", LeakRateUnit.AtmCubicCentimeterPerSecond)] [InlineData("en-US", "mbar·l/s", LeakRateUnit.MillibarLiterPerSecond)] [InlineData("en-US", "Pa·m³/s", LeakRateUnit.PascalCubicMeterPerSecond)] [InlineData("en-US", "Torr·l/s", LeakRateUnit.TorrLiterPerSecond)] @@ -491,6 +522,7 @@ public void ToUnit_FromIQuantity_ReturnsTheExpectedIQuantity(LeakRateUnit unit) public void ConversionRoundTrip() { LeakRate pascalcubicmeterpersecond = LeakRate.FromPascalCubicMetersPerSecond(1); + AssertEx.EqualTolerance(1, LeakRate.FromAtmCubicCentimetersPerSecond(pascalcubicmeterpersecond.AtmCubicCentimetersPerSecond).PascalCubicMetersPerSecond, AtmCubicCentimetersPerSecondTolerance); AssertEx.EqualTolerance(1, LeakRate.FromMillibarLitersPerSecond(pascalcubicmeterpersecond.MillibarLitersPerSecond).PascalCubicMetersPerSecond, MillibarLitersPerSecondTolerance); AssertEx.EqualTolerance(1, LeakRate.FromPascalCubicMetersPerSecond(pascalcubicmeterpersecond.PascalCubicMetersPerSecond).PascalCubicMetersPerSecond, PascalCubicMetersPerSecondTolerance); AssertEx.EqualTolerance(1, LeakRate.FromTorrLitersPerSecond(pascalcubicmeterpersecond.TorrLitersPerSecond).PascalCubicMetersPerSecond, TorrLitersPerSecondTolerance); @@ -552,8 +584,8 @@ public void CompareToThrowsOnNull() [Theory] [InlineData(1, LeakRateUnit.PascalCubicMeterPerSecond, 1, LeakRateUnit.PascalCubicMeterPerSecond, true)] // Same value and unit. [InlineData(1, LeakRateUnit.PascalCubicMeterPerSecond, 2, LeakRateUnit.PascalCubicMeterPerSecond, false)] // Different value. - [InlineData(2, LeakRateUnit.PascalCubicMeterPerSecond, 1, LeakRateUnit.MillibarLiterPerSecond, false)] // Different value and unit. - [InlineData(1, LeakRateUnit.PascalCubicMeterPerSecond, 1, LeakRateUnit.MillibarLiterPerSecond, false)] // Different unit. + [InlineData(2, LeakRateUnit.PascalCubicMeterPerSecond, 1, LeakRateUnit.AtmCubicCentimeterPerSecond, false)] // Different value and unit. + [InlineData(1, LeakRateUnit.PascalCubicMeterPerSecond, 1, LeakRateUnit.AtmCubicCentimeterPerSecond, false)] // Different unit. public void Equals_ReturnsTrue_IfValueAndUnitAreEqual(double valueA, LeakRateUnit unitA, double valueB, LeakRateUnit unitB, bool expectEqual) { var a = new LeakRate(valueA, unitA); @@ -641,6 +673,7 @@ public void BaseDimensionsShouldNeverBeNull() public void ToString_ReturnsValueAndUnitAbbreviationInCurrentCulture() { using var _ = new CultureScope("en-US"); + Assert.Equal("1 atm·cm³/s", new LeakRate(1, LeakRateUnit.AtmCubicCentimeterPerSecond).ToString()); Assert.Equal("1 mbar·l/s", new LeakRate(1, LeakRateUnit.MillibarLiterPerSecond).ToString()); Assert.Equal("1 Pa·m³/s", new LeakRate(1, LeakRateUnit.PascalCubicMeterPerSecond).ToString()); Assert.Equal("1 Torr·l/s", new LeakRate(1, LeakRateUnit.TorrLiterPerSecond).ToString()); @@ -652,6 +685,7 @@ public void ToString_WithSwedishCulture_ReturnsUnitAbbreviationForEnglishCulture // Chose this culture, because we don't currently have any abbreviations mapped for that culture and we expect the en-US to be used as fallback. var swedishCulture = CultureInfo.GetCultureInfo("sv-SE"); + Assert.Equal("1 atm·cm³/s", new LeakRate(1, LeakRateUnit.AtmCubicCentimeterPerSecond).ToString(swedishCulture)); Assert.Equal("1 mbar·l/s", new LeakRate(1, LeakRateUnit.MillibarLiterPerSecond).ToString(swedishCulture)); Assert.Equal("1 Pa·m³/s", new LeakRate(1, LeakRateUnit.PascalCubicMeterPerSecond).ToString(swedishCulture)); Assert.Equal("1 Torr·l/s", new LeakRate(1, LeakRateUnit.TorrLiterPerSecond).ToString(swedishCulture)); diff --git a/UnitsNet/GeneratedCode/Quantities/LeakRate.g.cs b/UnitsNet/GeneratedCode/Quantities/LeakRate.g.cs index d407928b14..b2471e8268 100644 --- a/UnitsNet/GeneratedCode/Quantities/LeakRate.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/LeakRate.g.cs @@ -119,6 +119,7 @@ public static LeakRateInfo CreateDefault(FuncAn of representing the default unit mappings for LeakRate. public static IEnumerable> GetDefaultMappings() { + yield return new (LeakRateUnit.AtmCubicCentimeterPerSecond, "AtmCubicCentimeterPerSecond", "AtmCubicCentimetersPerSecond", BaseUnits.Undefined); yield return new (LeakRateUnit.MillibarLiterPerSecond, "MillibarLiterPerSecond", "MillibarLitersPerSecond", BaseUnits.Undefined); yield return new (LeakRateUnit.PascalCubicMeterPerSecond, "PascalCubicMeterPerSecond", "PascalCubicMetersPerSecond", new BaseUnits(length: LengthUnit.Meter, mass: MassUnit.Kilogram, time: DurationUnit.Second)); yield return new (LeakRateUnit.TorrLiterPerSecond, "TorrLiterPerSecond", "TorrLitersPerSecond", BaseUnits.Undefined); @@ -230,6 +231,11 @@ public LeakRate(double value, UnitSystem unitSystem) #region Conversion Properties + /// + /// Gets a value of this quantity converted into + /// + public double AtmCubicCentimetersPerSecond => As(LeakRateUnit.AtmCubicCentimeterPerSecond); + /// /// Gets a value of this quantity converted into /// @@ -256,6 +262,7 @@ public LeakRate(double value, UnitSystem unitSystem) internal static void RegisterDefaultConversions(UnitConverter unitConverter) { // Register in unit converter: LeakRateUnit -> BaseUnit + unitConverter.SetConversionFunction(LeakRateUnit.AtmCubicCentimeterPerSecond, LeakRateUnit.PascalCubicMeterPerSecond, quantity => quantity.ToUnit(LeakRateUnit.PascalCubicMeterPerSecond)); unitConverter.SetConversionFunction(LeakRateUnit.MillibarLiterPerSecond, LeakRateUnit.PascalCubicMeterPerSecond, quantity => quantity.ToUnit(LeakRateUnit.PascalCubicMeterPerSecond)); unitConverter.SetConversionFunction(LeakRateUnit.TorrLiterPerSecond, LeakRateUnit.PascalCubicMeterPerSecond, quantity => quantity.ToUnit(LeakRateUnit.PascalCubicMeterPerSecond)); @@ -263,6 +270,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) unitConverter.SetConversionFunction(LeakRateUnit.PascalCubicMeterPerSecond, LeakRateUnit.PascalCubicMeterPerSecond, quantity => quantity); // Register in unit converter: BaseUnit -> LeakRateUnit + unitConverter.SetConversionFunction(LeakRateUnit.PascalCubicMeterPerSecond, LeakRateUnit.AtmCubicCentimeterPerSecond, quantity => quantity.ToUnit(LeakRateUnit.AtmCubicCentimeterPerSecond)); unitConverter.SetConversionFunction(LeakRateUnit.PascalCubicMeterPerSecond, LeakRateUnit.MillibarLiterPerSecond, quantity => quantity.ToUnit(LeakRateUnit.MillibarLiterPerSecond)); unitConverter.SetConversionFunction(LeakRateUnit.PascalCubicMeterPerSecond, LeakRateUnit.TorrLiterPerSecond, quantity => quantity.ToUnit(LeakRateUnit.TorrLiterPerSecond)); } @@ -292,6 +300,14 @@ public static string GetAbbreviation(LeakRateUnit unit, IFormatProvider? provide #region Static Factory Methods + /// + /// Creates a from . + /// + public static LeakRate FromAtmCubicCentimetersPerSecond(double value) + { + return new LeakRate(value, LeakRateUnit.AtmCubicCentimeterPerSecond); + } + /// /// Creates a from . /// @@ -782,10 +798,12 @@ private bool TryToUnit(LeakRateUnit unit, [NotNullWhen(true)] out LeakRate? conv LeakRate? convertedOrNull = (Unit, unit) switch { // LeakRateUnit -> BaseUnit + (LeakRateUnit.AtmCubicCentimeterPerSecond, LeakRateUnit.PascalCubicMeterPerSecond) => new LeakRate(_value / (1e6 / 101325), LeakRateUnit.PascalCubicMeterPerSecond), (LeakRateUnit.MillibarLiterPerSecond, LeakRateUnit.PascalCubicMeterPerSecond) => new LeakRate(_value / 10, LeakRateUnit.PascalCubicMeterPerSecond), (LeakRateUnit.TorrLiterPerSecond, LeakRateUnit.PascalCubicMeterPerSecond) => new LeakRate(_value / 7.5, LeakRateUnit.PascalCubicMeterPerSecond), // BaseUnit -> LeakRateUnit + (LeakRateUnit.PascalCubicMeterPerSecond, LeakRateUnit.AtmCubicCentimeterPerSecond) => new LeakRate(_value * (1e6 / 101325), LeakRateUnit.AtmCubicCentimeterPerSecond), (LeakRateUnit.PascalCubicMeterPerSecond, LeakRateUnit.MillibarLiterPerSecond) => new LeakRate(_value * 10, LeakRateUnit.MillibarLiterPerSecond), (LeakRateUnit.PascalCubicMeterPerSecond, LeakRateUnit.TorrLiterPerSecond) => new LeakRate(_value * 7.5, LeakRateUnit.TorrLiterPerSecond), diff --git a/UnitsNet/GeneratedCode/Resources/LeakRate.restext b/UnitsNet/GeneratedCode/Resources/LeakRate.restext index 168e4fa2f0..e1ce9d29b1 100644 --- a/UnitsNet/GeneratedCode/Resources/LeakRate.restext +++ b/UnitsNet/GeneratedCode/Resources/LeakRate.restext @@ -1,3 +1,4 @@ +AtmCubicCentimetersPerSecond=atm·cm³/s MillibarLitersPerSecond=mbar·l/s PascalCubicMetersPerSecond=Pa·m³/s TorrLitersPerSecond=Torr·l/s diff --git a/UnitsNet/GeneratedCode/Units/LeakRateUnit.g.cs b/UnitsNet/GeneratedCode/Units/LeakRateUnit.g.cs index 0ce4af310a..e48896681e 100644 --- a/UnitsNet/GeneratedCode/Units/LeakRateUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/LeakRateUnit.g.cs @@ -25,6 +25,7 @@ namespace UnitsNet.Units public enum LeakRateUnit { + AtmCubicCentimeterPerSecond = 10, MillibarLiterPerSecond = 7, PascalCubicMeterPerSecond = 2, TorrLiterPerSecond = 4,