From d04da25e37d2045b0908f936f0abdf50086b2796 Mon Sep 17 00:00:00 2001 From: Laendor Date: Mon, 13 Oct 2025 10:19:18 +0200 Subject: [PATCH] Adaption Volume: Introduced CubicAngrstrom --- Common/UnitDefinitions/Volume.json | 15 ++++++++++++++ Common/UnitEnumValues.g.json | 3 ++- Common/UnitRelations.json | 4 ++-- .../GeneratedCode/Quantities/Volume.g.cs | 12 +++++++++++ .../GeneratedCode/Units/VolumeUnit.g.cs | 1 + .../NumberToVolumeExtensionsTest.g.cs | 4 ++++ .../NumberToVolumeExtensions.g.cs | 8 ++++++++ .../NumberToVolumeExtensionsTest.g.cs | 4 ++++ .../NumberToVolumeExtensions.g.cs | 11 ++++++++++ .../TestsBase/VolumeTestsBase.g.cs | 20 +++++++++++++++++++ UnitsNet/GeneratedCode/Quantities/Volume.g.cs | 18 +++++++++++++++++ .../GeneratedCode/Resources/Volume.restext | 1 + UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs | 1 + 13 files changed, 99 insertions(+), 3 deletions(-) diff --git a/Common/UnitDefinitions/Volume.json b/Common/UnitDefinitions/Volume.json index b744737e5d..dd94ca97ad 100644 --- a/Common/UnitDefinitions/Volume.json +++ b/Common/UnitDefinitions/Volume.json @@ -245,6 +245,21 @@ } ] }, + { + "SingularName": "CubicAngstrom", + "PluralName": "CubicAngstroms", + "BaseUnits": { + "L": "Angstrom" + }, + "FromUnitToBaseFunc": "{x} * 1E-30", + "FromBaseToUnitFunc": "{x} / 1E-30", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "ų" ] + } + ] + }, { "SingularName": "ImperialGallon", "PluralName": "ImperialGallons", diff --git a/Common/UnitEnumValues.g.json b/Common/UnitEnumValues.g.json index 1df92d739e..1a03aba109 100644 --- a/Common/UnitEnumValues.g.json +++ b/Common/UnitEnumValues.g.json @@ -1601,7 +1601,8 @@ "UsTeaspoon": 52, "Nanoliter": 53, "ImperialQuart": 57, - "MetricTablespoon": 63 + "MetricTablespoon": 63, + "CubicAngstrom": 65 }, "VolumeConcentration": { "CentiliterPerLiter": 1, diff --git a/Common/UnitRelations.json b/Common/UnitRelations.json index 2dea22c60a..bded89653c 100644 --- a/Common/UnitRelations.json +++ b/Common/UnitRelations.json @@ -13,8 +13,8 @@ "AreaMomentOfInertia.MeterToTheFourth = Volume.CubicMeter * Length.Meter", "double = SpecificEnergy.JoulePerKilogram * BrakeSpecificFuelConsumption.KilogramPerJoule", "DynamicViscosity.NewtonSecondPerMeterSquared = Density.KilogramPerCubicMeter * KinematicViscosity.SquareMeterPerSecond", - "ElectricCurrent.Ampere = ElectricCurrentGradient.AmperePerSecond * Duration.Second", "ElectricCharge.AmpereHour = ElectricCurrent.Ampere * Duration.Hour", + "ElectricCurrent.Ampere = ElectricCurrentGradient.AmperePerSecond * Duration.Second", "ElectricPotential.Volt = ElectricCurrent.Ampere * ElectricResistance.Ohm", "Energy.Joule = ElectricPotential.Volt * ElectricCharge.Coulomb", "Energy.Joule = EnergyDensity.JoulePerCubicMeter * Volume.CubicMeter", @@ -73,8 +73,8 @@ "SpecificEnergy.JoulePerKilogram = Speed.MeterPerSecond * Speed.MeterPerSecond", "SpecificWeight.NewtonPerCubicMeter = Acceleration.MeterPerSecondSquared * Density.KilogramPerCubicMeter", "Speed.MeterPerSecond = Acceleration.MeterPerSecondSquared * Duration.Second", - "TemperatureDelta.DegreeCelsius = TemperatureGradient.DegreeCelsiusPerKilometer * Length.Kilometer", "TemperatureDelta.DegreeCelsius = TemperatureChangeRate.DegreeCelsiusPerSecond * Duration.Second", + "TemperatureDelta.DegreeCelsius = TemperatureGradient.DegreeCelsiusPerKilometer * Length.Kilometer", "Torque.NewtonMeter = ForcePerLength.NewtonPerMeter * Area.SquareMeter", "Torque.NewtonMeter = Length.Meter * Force.Newton", "Torque.NewtonMeter = RotationalStiffness.NewtonMeterPerRadian * Angle.Radian", diff --git a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Volume.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Volume.g.cs index 11217d2cf9..0ee89a400d 100644 --- a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Volume.g.cs +++ b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Volume.g.cs @@ -98,6 +98,11 @@ public Volume(double value, VolumeUnit unit) /// public double Centiliters => As(VolumeUnit.Centiliter); + /// + /// Gets a value of this quantity converted into + /// + public double CubicAngstroms => As(VolumeUnit.CubicAngstrom); + /// /// Gets a value of this quantity converted into /// @@ -377,6 +382,11 @@ public Volume(double value, VolumeUnit unit) /// public static Volume FromCentiliters(double centiliters) => new Volume(centiliters, VolumeUnit.Centiliter); + /// + /// Creates a from . + /// + public static Volume FromCubicAngstroms(double cubicangstroms) => new Volume(cubicangstroms, VolumeUnit.CubicAngstrom); + /// /// Creates a from . /// @@ -676,6 +686,7 @@ private double GetValueInBaseUnit() VolumeUnit.AuTablespoon => _value * 2e-5, VolumeUnit.BoardFoot => _value * (0.028316846592 / 12), VolumeUnit.Centiliter => (_value / 1e3) * 1e-2d, + VolumeUnit.CubicAngstrom => _value * 1E-30, VolumeUnit.CubicCentimeter => _value / 1e6, VolumeUnit.CubicDecimeter => _value / 1e3, VolumeUnit.CubicFoot => _value * 0.028316846592, @@ -744,6 +755,7 @@ private double GetValueAs(VolumeUnit unit) VolumeUnit.AuTablespoon => baseUnitValue / 2e-5, VolumeUnit.BoardFoot => baseUnitValue / (0.028316846592 / 12), VolumeUnit.Centiliter => (baseUnitValue * 1e3) / 1e-2d, + VolumeUnit.CubicAngstrom => baseUnitValue / 1E-30, VolumeUnit.CubicCentimeter => baseUnitValue * 1e6, VolumeUnit.CubicDecimeter => baseUnitValue * 1e3, VolumeUnit.CubicFoot => baseUnitValue / 0.028316846592, diff --git a/UnitsNet.NanoFramework/GeneratedCode/Units/VolumeUnit.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Units/VolumeUnit.g.cs index c57fe745cb..9b3c5fc538 100644 --- a/UnitsNet.NanoFramework/GeneratedCode/Units/VolumeUnit.g.cs +++ b/UnitsNet.NanoFramework/GeneratedCode/Units/VolumeUnit.g.cs @@ -44,6 +44,7 @@ public enum VolumeUnit /// https://en.wikipedia.org/wiki/Board_foot BoardFoot = 3, Centiliter = 4, + CubicAngstrom = 65, CubicCentimeter = 5, CubicDecimeter = 6, diff --git a/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs b/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs index a7560d2f66..2b335d1a5d 100644 --- a/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.CS14.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs @@ -40,6 +40,10 @@ public void NumberToBoardFeetTest() => public void NumberToCentilitersTest() => Assert.Equal(Volume.FromCentiliters(2), 2.Centiliters); + [Fact] + public void NumberToCubicAngstromsTest() => + Assert.Equal(Volume.FromCubicAngstroms(2), 2.CubicAngstroms); + [Fact] public void NumberToCubicCentimetersTest() => Assert.Equal(Volume.FromCubicCentimeters(2), 2.CubicCentimeters); diff --git a/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToVolumeExtensions.g.cs b/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToVolumeExtensions.g.cs index 4d20b2f1a6..249a30a257 100644 --- a/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToVolumeExtensions.g.cs +++ b/UnitsNet.NumberExtensions.CS14/GeneratedCode/NumberToVolumeExtensions.g.cs @@ -74,6 +74,14 @@ public Volume Centiliters => Volume.FromCentiliters(value.ToDouble(null)); #endif + /// + public Volume CubicAngstroms +#if NET7_0_OR_GREATER + => Volume.FromCubicAngstroms(double.CreateChecked(value)); +#else + => Volume.FromCubicAngstroms(value.ToDouble(null)); +#endif + /// public Volume CubicCentimeters #if NET7_0_OR_GREATER diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs index 7a047c5df7..e83f1dd05c 100644 --- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs +++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToVolumeExtensionsTest.g.cs @@ -40,6 +40,10 @@ public void NumberToBoardFeetTest() => public void NumberToCentilitersTest() => Assert.Equal(Volume.FromCentiliters(2), 2.Centiliters()); + [Fact] + public void NumberToCubicAngstromsTest() => + Assert.Equal(Volume.FromCubicAngstroms(2), 2.CubicAngstroms()); + [Fact] public void NumberToCubicCentimetersTest() => Assert.Equal(Volume.FromCubicCentimeters(2), 2.CubicCentimeters()); diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToVolumeExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToVolumeExtensions.g.cs index 82828124f6..42f9710d5c 100644 --- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToVolumeExtensions.g.cs +++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToVolumeExtensions.g.cs @@ -76,6 +76,17 @@ public static Volume Centiliters(this T value) => Volume.FromCentiliters(value.ToDouble(null)); #endif + /// + public static Volume CubicAngstroms(this T value) + where T : notnull +#if NET7_0_OR_GREATER + , INumber + => Volume.FromCubicAngstroms(double.CreateChecked(value)); +#else + , IConvertible + => Volume.FromCubicAngstroms(value.ToDouble(null)); +#endif + /// public static Volume CubicCentimeters(this T value) where T : notnull diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/VolumeTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/VolumeTestsBase.g.cs index 554bf4995a..762509a550 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/VolumeTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/VolumeTestsBase.g.cs @@ -44,6 +44,7 @@ public abstract partial class VolumeTestsBase : QuantityTestsBase protected abstract double AuTablespoonsInOneCubicMeter { get; } protected abstract double BoardFeetInOneCubicMeter { get; } protected abstract double CentilitersInOneCubicMeter { get; } + protected abstract double CubicAngstromsInOneCubicMeter { get; } protected abstract double CubicCentimetersInOneCubicMeter { get; } protected abstract double CubicDecimetersInOneCubicMeter { get; } protected abstract double CubicFeetInOneCubicMeter { get; } @@ -101,6 +102,7 @@ public abstract partial class VolumeTestsBase : QuantityTestsBase protected virtual double AuTablespoonsTolerance { get { return 1e-5; } } protected virtual double BoardFeetTolerance { get { return 1e-5; } } protected virtual double CentilitersTolerance { get { return 1e-5; } } + protected virtual double CubicAngstromsTolerance { get { return 1e-5; } } protected virtual double CubicCentimetersTolerance { get { return 1e-5; } } protected virtual double CubicDecimetersTolerance { get { return 1e-5; } } protected virtual double CubicFeetTolerance { get { return 1e-5; } } @@ -162,6 +164,7 @@ public abstract partial class VolumeTestsBase : QuantityTestsBase VolumeUnit.AuTablespoon => (AuTablespoonsInOneCubicMeter, AuTablespoonsTolerance), VolumeUnit.BoardFoot => (BoardFeetInOneCubicMeter, BoardFeetTolerance), VolumeUnit.Centiliter => (CentilitersInOneCubicMeter, CentilitersTolerance), + VolumeUnit.CubicAngstrom => (CubicAngstromsInOneCubicMeter, CubicAngstromsTolerance), VolumeUnit.CubicCentimeter => (CubicCentimetersInOneCubicMeter, CubicCentimetersTolerance), VolumeUnit.CubicDecimeter => (CubicDecimetersInOneCubicMeter, CubicDecimetersTolerance), VolumeUnit.CubicFoot => (CubicFeetInOneCubicMeter, CubicFeetTolerance), @@ -223,6 +226,7 @@ public abstract partial class VolumeTestsBase : QuantityTestsBase new object[] { VolumeUnit.AuTablespoon }, new object[] { VolumeUnit.BoardFoot }, new object[] { VolumeUnit.Centiliter }, + new object[] { VolumeUnit.CubicAngstrom }, new object[] { VolumeUnit.CubicCentimeter }, new object[] { VolumeUnit.CubicDecimeter }, new object[] { VolumeUnit.CubicFoot }, @@ -349,6 +353,7 @@ public void CubicMeterToVolumeUnits() AssertEx.EqualTolerance(AuTablespoonsInOneCubicMeter, cubicmeter.AuTablespoons, AuTablespoonsTolerance); AssertEx.EqualTolerance(BoardFeetInOneCubicMeter, cubicmeter.BoardFeet, BoardFeetTolerance); AssertEx.EqualTolerance(CentilitersInOneCubicMeter, cubicmeter.Centiliters, CentilitersTolerance); + AssertEx.EqualTolerance(CubicAngstromsInOneCubicMeter, cubicmeter.CubicAngstroms, CubicAngstromsTolerance); AssertEx.EqualTolerance(CubicCentimetersInOneCubicMeter, cubicmeter.CubicCentimeters, CubicCentimetersTolerance); AssertEx.EqualTolerance(CubicDecimetersInOneCubicMeter, cubicmeter.CubicDecimeters, CubicDecimetersTolerance); AssertEx.EqualTolerance(CubicFeetInOneCubicMeter, cubicmeter.CubicFeet, CubicFeetTolerance); @@ -439,6 +444,7 @@ public void As() AssertEx.EqualTolerance(AuTablespoonsInOneCubicMeter, cubicmeter.As(VolumeUnit.AuTablespoon), AuTablespoonsTolerance); AssertEx.EqualTolerance(BoardFeetInOneCubicMeter, cubicmeter.As(VolumeUnit.BoardFoot), BoardFeetTolerance); AssertEx.EqualTolerance(CentilitersInOneCubicMeter, cubicmeter.As(VolumeUnit.Centiliter), CentilitersTolerance); + AssertEx.EqualTolerance(CubicAngstromsInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicAngstrom), CubicAngstromsTolerance); AssertEx.EqualTolerance(CubicCentimetersInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicCentimeter), CubicCentimetersTolerance); AssertEx.EqualTolerance(CubicDecimetersInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicDecimeter), CubicDecimetersTolerance); AssertEx.EqualTolerance(CubicFeetInOneCubicMeter, cubicmeter.As(VolumeUnit.CubicFoot), CubicFeetTolerance); @@ -564,6 +570,7 @@ public void ToUnit_UnitSystem_ThrowsArgumentExceptionIfNotSupported() [InlineData("en-US", "4.2 board foot", VolumeUnit.BoardFoot, 4.2)] [InlineData("en-US", "4.2 board feet", VolumeUnit.BoardFoot, 4.2)] [InlineData("en-US", "4.2 cl", VolumeUnit.Centiliter, 4.2)] + [InlineData("en-US", "4.2 ų", VolumeUnit.CubicAngstrom, 4.2)] [InlineData("en-US", "4.2 cm³", VolumeUnit.CubicCentimeter, 4.2)] [InlineData("en-US", "4.2 dm³", VolumeUnit.CubicDecimeter, 4.2)] [InlineData("en-US", "4.2 ft³", VolumeUnit.CubicFoot, 4.2)] @@ -689,6 +696,7 @@ public void ParseWithAmbiguousAbbreviation(string culture, string quantityString [InlineData("en-US", "4.2 board foot", VolumeUnit.BoardFoot, 4.2)] [InlineData("en-US", "4.2 board feet", VolumeUnit.BoardFoot, 4.2)] [InlineData("en-US", "4.2 cl", VolumeUnit.Centiliter, 4.2)] + [InlineData("en-US", "4.2 ų", VolumeUnit.CubicAngstrom, 4.2)] [InlineData("en-US", "4.2 cm³", VolumeUnit.CubicCentimeter, 4.2)] [InlineData("en-US", "4.2 dm³", VolumeUnit.CubicDecimeter, 4.2)] [InlineData("en-US", "4.2 ft³", VolumeUnit.CubicFoot, 4.2)] @@ -814,6 +822,7 @@ public void TryParseWithAmbiguousAbbreviation(string culture, string quantityStr [InlineData("board foot", VolumeUnit.BoardFoot)] [InlineData("board feet", VolumeUnit.BoardFoot)] [InlineData("cl", VolumeUnit.Centiliter)] + [InlineData("ų", VolumeUnit.CubicAngstrom)] [InlineData("cm³", VolumeUnit.CubicCentimeter)] [InlineData("dm³", VolumeUnit.CubicDecimeter)] [InlineData("ft³", VolumeUnit.CubicFoot)] @@ -893,6 +902,7 @@ public void ParseUnit_WithUsEnglishCurrentCulture(string abbreviation, VolumeUni [InlineData("board foot", VolumeUnit.BoardFoot)] [InlineData("board feet", VolumeUnit.BoardFoot)] [InlineData("cl", VolumeUnit.Centiliter)] + [InlineData("ų", VolumeUnit.CubicAngstrom)] [InlineData("cm³", VolumeUnit.CubicCentimeter)] [InlineData("dm³", VolumeUnit.CubicDecimeter)] [InlineData("ft³", VolumeUnit.CubicFoot)] @@ -972,6 +982,7 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string [InlineData("en-US", "board foot", VolumeUnit.BoardFoot)] [InlineData("en-US", "board feet", VolumeUnit.BoardFoot)] [InlineData("en-US", "cl", VolumeUnit.Centiliter)] + [InlineData("en-US", "ų", VolumeUnit.CubicAngstrom)] [InlineData("en-US", "cm³", VolumeUnit.CubicCentimeter)] [InlineData("en-US", "dm³", VolumeUnit.CubicDecimeter)] [InlineData("en-US", "ft³", VolumeUnit.CubicFoot)] @@ -1086,6 +1097,7 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Vo [InlineData("en-US", "board foot", VolumeUnit.BoardFoot)] [InlineData("en-US", "board feet", VolumeUnit.BoardFoot)] [InlineData("en-US", "cl", VolumeUnit.Centiliter)] + [InlineData("en-US", "ų", VolumeUnit.CubicAngstrom)] [InlineData("en-US", "cm³", VolumeUnit.CubicCentimeter)] [InlineData("en-US", "dm³", VolumeUnit.CubicDecimeter)] [InlineData("en-US", "ft³", VolumeUnit.CubicFoot)] @@ -1209,6 +1221,7 @@ public void ParseUnitWithAmbiguousAbbreviation(string culture, string abbreviati [InlineData("board foot", VolumeUnit.BoardFoot)] [InlineData("board feet", VolumeUnit.BoardFoot)] [InlineData("cl", VolumeUnit.Centiliter)] + [InlineData("ų", VolumeUnit.CubicAngstrom)] [InlineData("cm³", VolumeUnit.CubicCentimeter)] [InlineData("dm³", VolumeUnit.CubicDecimeter)] [InlineData("ft³", VolumeUnit.CubicFoot)] @@ -1288,6 +1301,7 @@ public void TryParseUnit_WithUsEnglishCurrentCulture(string abbreviation, Volume [InlineData("board foot", VolumeUnit.BoardFoot)] [InlineData("board feet", VolumeUnit.BoardFoot)] [InlineData("cl", VolumeUnit.Centiliter)] + [InlineData("ų", VolumeUnit.CubicAngstrom)] [InlineData("cm³", VolumeUnit.CubicCentimeter)] [InlineData("dm³", VolumeUnit.CubicDecimeter)] [InlineData("ft³", VolumeUnit.CubicFoot)] @@ -1367,6 +1381,7 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri [InlineData("en-US", "board foot", VolumeUnit.BoardFoot)] [InlineData("en-US", "board feet", VolumeUnit.BoardFoot)] [InlineData("en-US", "cl", VolumeUnit.Centiliter)] + [InlineData("en-US", "ų", VolumeUnit.CubicAngstrom)] [InlineData("en-US", "cm³", VolumeUnit.CubicCentimeter)] [InlineData("en-US", "dm³", VolumeUnit.CubicDecimeter)] [InlineData("en-US", "ft³", VolumeUnit.CubicFoot)] @@ -1481,6 +1496,7 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, [InlineData("en-US", "board foot", VolumeUnit.BoardFoot)] [InlineData("en-US", "board feet", VolumeUnit.BoardFoot)] [InlineData("en-US", "cl", VolumeUnit.Centiliter)] + [InlineData("en-US", "ų", VolumeUnit.CubicAngstrom)] [InlineData("en-US", "cm³", VolumeUnit.CubicCentimeter)] [InlineData("en-US", "dm³", VolumeUnit.CubicDecimeter)] [InlineData("en-US", "ft³", VolumeUnit.CubicFoot)] @@ -1600,6 +1616,7 @@ public void TryParseUnitWithAmbiguousAbbreviation(string culture, string abbrevi [InlineData("en-US", VolumeUnit.AuTablespoon, "tablespoon (A.U.)")] [InlineData("en-US", VolumeUnit.BoardFoot, "bf")] [InlineData("en-US", VolumeUnit.Centiliter, "cl")] + [InlineData("en-US", VolumeUnit.CubicAngstrom, "ų")] [InlineData("en-US", VolumeUnit.CubicCentimeter, "cm³")] [InlineData("en-US", VolumeUnit.CubicDecimeter, "dm³")] [InlineData("en-US", VolumeUnit.CubicFoot, "ft³")] @@ -1777,6 +1794,7 @@ public void ConversionRoundTrip() AssertEx.EqualTolerance(1, Volume.FromAuTablespoons(cubicmeter.AuTablespoons).CubicMeters, AuTablespoonsTolerance); AssertEx.EqualTolerance(1, Volume.FromBoardFeet(cubicmeter.BoardFeet).CubicMeters, BoardFeetTolerance); AssertEx.EqualTolerance(1, Volume.FromCentiliters(cubicmeter.Centiliters).CubicMeters, CentilitersTolerance); + AssertEx.EqualTolerance(1, Volume.FromCubicAngstroms(cubicmeter.CubicAngstroms).CubicMeters, CubicAngstromsTolerance); AssertEx.EqualTolerance(1, Volume.FromCubicCentimeters(cubicmeter.CubicCentimeters).CubicMeters, CubicCentimetersTolerance); AssertEx.EqualTolerance(1, Volume.FromCubicDecimeters(cubicmeter.CubicDecimeters).CubicMeters, CubicDecimetersTolerance); AssertEx.EqualTolerance(1, Volume.FromCubicFeet(cubicmeter.CubicFeet).CubicMeters, CubicFeetTolerance); @@ -1988,6 +2006,7 @@ public void ToString_ReturnsValueAndUnitAbbreviationInCurrentCulture() Assert.Equal("1 tablespoon (A.U.)", new Volume(1, VolumeUnit.AuTablespoon).ToString()); Assert.Equal("1 bf", new Volume(1, VolumeUnit.BoardFoot).ToString()); Assert.Equal("1 cl", new Volume(1, VolumeUnit.Centiliter).ToString()); + Assert.Equal("1 ų", new Volume(1, VolumeUnit.CubicAngstrom).ToString()); Assert.Equal("1 cm³", new Volume(1, VolumeUnit.CubicCentimeter).ToString()); Assert.Equal("1 dm³", new Volume(1, VolumeUnit.CubicDecimeter).ToString()); Assert.Equal("1 ft³", new Volume(1, VolumeUnit.CubicFoot).ToString()); @@ -2051,6 +2070,7 @@ public void ToString_WithSwedishCulture_ReturnsUnitAbbreviationForEnglishCulture Assert.Equal("1 tablespoon (A.U.)", new Volume(1, VolumeUnit.AuTablespoon).ToString(swedishCulture)); Assert.Equal("1 bf", new Volume(1, VolumeUnit.BoardFoot).ToString(swedishCulture)); Assert.Equal("1 cl", new Volume(1, VolumeUnit.Centiliter).ToString(swedishCulture)); + Assert.Equal("1 ų", new Volume(1, VolumeUnit.CubicAngstrom).ToString(swedishCulture)); Assert.Equal("1 cm³", new Volume(1, VolumeUnit.CubicCentimeter).ToString(swedishCulture)); Assert.Equal("1 dm³", new Volume(1, VolumeUnit.CubicDecimeter).ToString(swedishCulture)); Assert.Equal("1 ft³", new Volume(1, VolumeUnit.CubicFoot).ToString(swedishCulture)); diff --git a/UnitsNet/GeneratedCode/Quantities/Volume.g.cs b/UnitsNet/GeneratedCode/Quantities/Volume.g.cs index 223437b961..e3364c701d 100644 --- a/UnitsNet/GeneratedCode/Quantities/Volume.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/Volume.g.cs @@ -134,6 +134,7 @@ public static IEnumerable> GetDefaultMappings() yield return new (VolumeUnit.AuTablespoon, "AuTablespoon", "AuTablespoons", BaseUnits.Undefined); yield return new (VolumeUnit.BoardFoot, "BoardFoot", "BoardFeet", BaseUnits.Undefined); yield return new (VolumeUnit.Centiliter, "Centiliter", "Centiliters", BaseUnits.Undefined); + yield return new (VolumeUnit.CubicAngstrom, "CubicAngstrom", "CubicAngstroms", new BaseUnits(length: LengthUnit.Angstrom)); yield return new (VolumeUnit.CubicCentimeter, "CubicCentimeter", "CubicCentimeters", new BaseUnits(length: LengthUnit.Centimeter)); yield return new (VolumeUnit.CubicDecimeter, "CubicDecimeter", "CubicDecimeters", new BaseUnits(length: LengthUnit.Decimeter)); yield return new (VolumeUnit.CubicFoot, "CubicFoot", "CubicFeet", new BaseUnits(length: LengthUnit.Foot)); @@ -310,6 +311,11 @@ public Volume(double value, UnitSystem unitSystem) /// public double Centiliters => As(VolumeUnit.Centiliter); + /// + /// Gets a value of this quantity converted into + /// + public double CubicAngstroms => As(VolumeUnit.CubicAngstrom); + /// /// Gets a value of this quantity converted into /// @@ -580,6 +586,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) unitConverter.SetConversionFunction(VolumeUnit.AuTablespoon, VolumeUnit.CubicMeter, quantity => quantity.ToUnit(VolumeUnit.CubicMeter)); unitConverter.SetConversionFunction(VolumeUnit.BoardFoot, VolumeUnit.CubicMeter, quantity => quantity.ToUnit(VolumeUnit.CubicMeter)); unitConverter.SetConversionFunction(VolumeUnit.Centiliter, VolumeUnit.CubicMeter, quantity => quantity.ToUnit(VolumeUnit.CubicMeter)); + unitConverter.SetConversionFunction(VolumeUnit.CubicAngstrom, VolumeUnit.CubicMeter, quantity => quantity.ToUnit(VolumeUnit.CubicMeter)); unitConverter.SetConversionFunction(VolumeUnit.CubicCentimeter, VolumeUnit.CubicMeter, quantity => quantity.ToUnit(VolumeUnit.CubicMeter)); unitConverter.SetConversionFunction(VolumeUnit.CubicDecimeter, VolumeUnit.CubicMeter, quantity => quantity.ToUnit(VolumeUnit.CubicMeter)); unitConverter.SetConversionFunction(VolumeUnit.CubicFoot, VolumeUnit.CubicMeter, quantity => quantity.ToUnit(VolumeUnit.CubicMeter)); @@ -639,6 +646,7 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter) unitConverter.SetConversionFunction(VolumeUnit.CubicMeter, VolumeUnit.AuTablespoon, quantity => quantity.ToUnit(VolumeUnit.AuTablespoon)); unitConverter.SetConversionFunction(VolumeUnit.CubicMeter, VolumeUnit.BoardFoot, quantity => quantity.ToUnit(VolumeUnit.BoardFoot)); unitConverter.SetConversionFunction(VolumeUnit.CubicMeter, VolumeUnit.Centiliter, quantity => quantity.ToUnit(VolumeUnit.Centiliter)); + unitConverter.SetConversionFunction(VolumeUnit.CubicMeter, VolumeUnit.CubicAngstrom, quantity => quantity.ToUnit(VolumeUnit.CubicAngstrom)); unitConverter.SetConversionFunction(VolumeUnit.CubicMeter, VolumeUnit.CubicCentimeter, quantity => quantity.ToUnit(VolumeUnit.CubicCentimeter)); unitConverter.SetConversionFunction(VolumeUnit.CubicMeter, VolumeUnit.CubicDecimeter, quantity => quantity.ToUnit(VolumeUnit.CubicDecimeter)); unitConverter.SetConversionFunction(VolumeUnit.CubicMeter, VolumeUnit.CubicFoot, quantity => quantity.ToUnit(VolumeUnit.CubicFoot)); @@ -748,6 +756,14 @@ public static Volume FromCentiliters(double value) return new Volume(value, VolumeUnit.Centiliter); } + /// + /// Creates a from . + /// + public static Volume FromCubicAngstroms(double value) + { + return new Volume(value, VolumeUnit.CubicAngstrom); + } + /// /// Creates a from . /// @@ -1635,6 +1651,7 @@ private bool TryToUnit(VolumeUnit unit, [NotNullWhen(true)] out Volume? converte (VolumeUnit.AuTablespoon, VolumeUnit.CubicMeter) => new Volume(_value * 2e-5, VolumeUnit.CubicMeter), (VolumeUnit.BoardFoot, VolumeUnit.CubicMeter) => new Volume(_value * (0.028316846592 / 12), VolumeUnit.CubicMeter), (VolumeUnit.Centiliter, VolumeUnit.CubicMeter) => new Volume((_value / 1e3) * 1e-2d, VolumeUnit.CubicMeter), + (VolumeUnit.CubicAngstrom, VolumeUnit.CubicMeter) => new Volume(_value * 1E-30, VolumeUnit.CubicMeter), (VolumeUnit.CubicCentimeter, VolumeUnit.CubicMeter) => new Volume(_value / 1e6, VolumeUnit.CubicMeter), (VolumeUnit.CubicDecimeter, VolumeUnit.CubicMeter) => new Volume(_value / 1e3, VolumeUnit.CubicMeter), (VolumeUnit.CubicFoot, VolumeUnit.CubicMeter) => new Volume(_value * 0.028316846592, VolumeUnit.CubicMeter), @@ -1691,6 +1708,7 @@ private bool TryToUnit(VolumeUnit unit, [NotNullWhen(true)] out Volume? converte (VolumeUnit.CubicMeter, VolumeUnit.AuTablespoon) => new Volume(_value / 2e-5, VolumeUnit.AuTablespoon), (VolumeUnit.CubicMeter, VolumeUnit.BoardFoot) => new Volume(_value / (0.028316846592 / 12), VolumeUnit.BoardFoot), (VolumeUnit.CubicMeter, VolumeUnit.Centiliter) => new Volume((_value * 1e3) / 1e-2d, VolumeUnit.Centiliter), + (VolumeUnit.CubicMeter, VolumeUnit.CubicAngstrom) => new Volume(_value / 1E-30, VolumeUnit.CubicAngstrom), (VolumeUnit.CubicMeter, VolumeUnit.CubicCentimeter) => new Volume(_value * 1e6, VolumeUnit.CubicCentimeter), (VolumeUnit.CubicMeter, VolumeUnit.CubicDecimeter) => new Volume(_value * 1e3, VolumeUnit.CubicDecimeter), (VolumeUnit.CubicMeter, VolumeUnit.CubicFoot) => new Volume(_value / 0.028316846592, VolumeUnit.CubicFoot), diff --git a/UnitsNet/GeneratedCode/Resources/Volume.restext b/UnitsNet/GeneratedCode/Resources/Volume.restext index 5e5bc9e419..a757c08d38 100644 --- a/UnitsNet/GeneratedCode/Resources/Volume.restext +++ b/UnitsNet/GeneratedCode/Resources/Volume.restext @@ -2,6 +2,7 @@ AcreFeet=ac-ft,acre-foot,acre-feet AuTablespoons=tablespoon (A.U.) BoardFeet=bf,board foot,board feet Centiliters=cl +CubicAngstroms=ų CubicCentimeters=cm³ CubicDecimeters=dm³ CubicFeet=ft³ diff --git a/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs b/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs index c57fe745cb..9b3c5fc538 100644 --- a/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs @@ -44,6 +44,7 @@ public enum VolumeUnit /// https://en.wikipedia.org/wiki/Board_foot BoardFoot = 3, Centiliter = 4, + CubicAngstrom = 65, CubicCentimeter = 5, CubicDecimeter = 6,