From 68ed4684769bbc82e1c84d9c970857c4b7263cbe Mon Sep 17 00:00:00 2001 From: Tristan Milnthorp Date: Wed, 26 Jun 2019 11:02:20 -0400 Subject: [PATCH] =?UTF-8?q?Adding=20Btu/ft=C2=B2=C2=B7hr=C2=B7=C2=B0F=20to?= =?UTF-8?q?=20HeatTransferCoefficient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HeatTransferCoefficient.json | 12 ++++++++++++ .../CustomCode/HeatTransferCoefficientTests.cs | 1 + .../HeatTransferCoefficientTestsBase.g.cs | 10 ++++++++++ .../Quantities/HeatTransferCoefficient.g.cs | 17 +++++++++++++++++ .../GeneratedCode/UnitAbbreviationsCache.g.cs | 1 + .../Units/HeatTransferCoefficientUnit.g.cs | 1 + .../Quantities/HeatTransferCoefficient.g.cs | 17 +++++++++++++++++ .../GeneratedCode/UnitAbbreviationsCache.g.cs | 1 + .../Units/HeatTransferCoefficientUnit.g.cs | 1 + 9 files changed, 61 insertions(+) diff --git a/Common/UnitDefinitions/HeatTransferCoefficient.json b/Common/UnitDefinitions/HeatTransferCoefficient.json index 304aa75256..97220b1efa 100644 --- a/Common/UnitDefinitions/HeatTransferCoefficient.json +++ b/Common/UnitDefinitions/HeatTransferCoefficient.json @@ -31,6 +31,18 @@ "Abbreviations": [ "W/m²·°C" ] } ] + }, + { + "SingularName": "BtuPerSquareFootDegreeFahrenheit", + "PluralName": "BtusPerSquareFootDegreeFahrenheit", + "FromUnitToBaseFunc": "x * 5.6782633411134878", + "FromBaseToUnitFunc": "x / 5.6782633411134878", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "Btu/ft²·hr·°F" ] + } + ] } ] } \ No newline at end of file diff --git a/UnitsNet.Tests/CustomCode/HeatTransferCoefficientTests.cs b/UnitsNet.Tests/CustomCode/HeatTransferCoefficientTests.cs index 6f14d667df..7226d95974 100644 --- a/UnitsNet.Tests/CustomCode/HeatTransferCoefficientTests.cs +++ b/UnitsNet.Tests/CustomCode/HeatTransferCoefficientTests.cs @@ -29,5 +29,6 @@ public class HeatTransferCoefficientTests : HeatTransferCoefficientTestsBase { protected override double WattsPerSquareMeterCelsiusInOneWattPerSquareMeterKelvin => 1; protected override double WattsPerSquareMeterKelvinInOneWattPerSquareMeterKelvin => 1; + protected override double BtusPerSquareFootDegreeFahrenheitInOneWattPerSquareMeterKelvin => 1.7611018368230584e-1; } } diff --git a/UnitsNet.Tests/GeneratedCode/HeatTransferCoefficientTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/HeatTransferCoefficientTestsBase.g.cs index 606a6dffc5..7114209e1d 100644 --- a/UnitsNet.Tests/GeneratedCode/HeatTransferCoefficientTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/HeatTransferCoefficientTestsBase.g.cs @@ -34,10 +34,12 @@ namespace UnitsNet.Tests // ReSharper disable once PartialTypeWithSinglePart public abstract partial class HeatTransferCoefficientTestsBase { + protected abstract double BtusPerSquareFootDegreeFahrenheitInOneWattPerSquareMeterKelvin { get; } protected abstract double WattsPerSquareMeterCelsiusInOneWattPerSquareMeterKelvin { get; } protected abstract double WattsPerSquareMeterKelvinInOneWattPerSquareMeterKelvin { get; } // ReSharper disable VirtualMemberNeverOverriden.Global + protected virtual double BtusPerSquareFootDegreeFahrenheitTolerance { get { return 1e-5; } } protected virtual double WattsPerSquareMeterCelsiusTolerance { get { return 1e-5; } } protected virtual double WattsPerSquareMeterKelvinTolerance { get { return 1e-5; } } // ReSharper restore VirtualMemberNeverOverriden.Global @@ -65,6 +67,7 @@ public void Ctor_WithNaNValue_ThrowsArgumentException() public void WattPerSquareMeterKelvinToHeatTransferCoefficientUnits() { HeatTransferCoefficient wattpersquaremeterkelvin = HeatTransferCoefficient.FromWattsPerSquareMeterKelvin(1); + AssertEx.EqualTolerance(BtusPerSquareFootDegreeFahrenheitInOneWattPerSquareMeterKelvin, wattpersquaremeterkelvin.BtusPerSquareFootDegreeFahrenheit, BtusPerSquareFootDegreeFahrenheitTolerance); AssertEx.EqualTolerance(WattsPerSquareMeterCelsiusInOneWattPerSquareMeterKelvin, wattpersquaremeterkelvin.WattsPerSquareMeterCelsius, WattsPerSquareMeterCelsiusTolerance); AssertEx.EqualTolerance(WattsPerSquareMeterKelvinInOneWattPerSquareMeterKelvin, wattpersquaremeterkelvin.WattsPerSquareMeterKelvin, WattsPerSquareMeterKelvinTolerance); } @@ -72,6 +75,7 @@ public void WattPerSquareMeterKelvinToHeatTransferCoefficientUnits() [Fact] public void FromValueAndUnit() { + AssertEx.EqualTolerance(1, HeatTransferCoefficient.From(1, HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit).BtusPerSquareFootDegreeFahrenheit, BtusPerSquareFootDegreeFahrenheitTolerance); AssertEx.EqualTolerance(1, HeatTransferCoefficient.From(1, HeatTransferCoefficientUnit.WattPerSquareMeterCelsius).WattsPerSquareMeterCelsius, WattsPerSquareMeterCelsiusTolerance); AssertEx.EqualTolerance(1, HeatTransferCoefficient.From(1, HeatTransferCoefficientUnit.WattPerSquareMeterKelvin).WattsPerSquareMeterKelvin, WattsPerSquareMeterKelvinTolerance); } @@ -93,6 +97,7 @@ public void FromWattsPerSquareMeterKelvin_WithNanValue_ThrowsArgumentException() public void As() { var wattpersquaremeterkelvin = HeatTransferCoefficient.FromWattsPerSquareMeterKelvin(1); + AssertEx.EqualTolerance(BtusPerSquareFootDegreeFahrenheitInOneWattPerSquareMeterKelvin, wattpersquaremeterkelvin.As(HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit), BtusPerSquareFootDegreeFahrenheitTolerance); AssertEx.EqualTolerance(WattsPerSquareMeterCelsiusInOneWattPerSquareMeterKelvin, wattpersquaremeterkelvin.As(HeatTransferCoefficientUnit.WattPerSquareMeterCelsius), WattsPerSquareMeterCelsiusTolerance); AssertEx.EqualTolerance(WattsPerSquareMeterKelvinInOneWattPerSquareMeterKelvin, wattpersquaremeterkelvin.As(HeatTransferCoefficientUnit.WattPerSquareMeterKelvin), WattsPerSquareMeterKelvinTolerance); } @@ -102,6 +107,10 @@ public void ToUnit() { var wattpersquaremeterkelvin = HeatTransferCoefficient.FromWattsPerSquareMeterKelvin(1); + var btupersquarefootdegreefahrenheitQuantity = wattpersquaremeterkelvin.ToUnit(HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit); + AssertEx.EqualTolerance(BtusPerSquareFootDegreeFahrenheitInOneWattPerSquareMeterKelvin, (double)btupersquarefootdegreefahrenheitQuantity.Value, BtusPerSquareFootDegreeFahrenheitTolerance); + Assert.Equal(HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit, btupersquarefootdegreefahrenheitQuantity.Unit); + var wattpersquaremetercelsiusQuantity = wattpersquaremeterkelvin.ToUnit(HeatTransferCoefficientUnit.WattPerSquareMeterCelsius); AssertEx.EqualTolerance(WattsPerSquareMeterCelsiusInOneWattPerSquareMeterKelvin, (double)wattpersquaremetercelsiusQuantity.Value, WattsPerSquareMeterCelsiusTolerance); Assert.Equal(HeatTransferCoefficientUnit.WattPerSquareMeterCelsius, wattpersquaremetercelsiusQuantity.Unit); @@ -115,6 +124,7 @@ public void ToUnit() public void ConversionRoundTrip() { HeatTransferCoefficient wattpersquaremeterkelvin = HeatTransferCoefficient.FromWattsPerSquareMeterKelvin(1); + AssertEx.EqualTolerance(1, HeatTransferCoefficient.FromBtusPerSquareFootDegreeFahrenheit(wattpersquaremeterkelvin.BtusPerSquareFootDegreeFahrenheit).WattsPerSquareMeterKelvin, BtusPerSquareFootDegreeFahrenheitTolerance); AssertEx.EqualTolerance(1, HeatTransferCoefficient.FromWattsPerSquareMeterCelsius(wattpersquaremeterkelvin.WattsPerSquareMeterCelsius).WattsPerSquareMeterKelvin, WattsPerSquareMeterCelsiusTolerance); AssertEx.EqualTolerance(1, HeatTransferCoefficient.FromWattsPerSquareMeterKelvin(wattpersquaremeterkelvin.WattsPerSquareMeterKelvin).WattsPerSquareMeterKelvin, WattsPerSquareMeterKelvinTolerance); } diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs index b138511740..966f4c6103 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs @@ -155,6 +155,11 @@ private HeatTransferCoefficient(double numericValue, HeatTransferCoefficientUnit #region Conversion Properties + /// + /// Get HeatTransferCoefficient in BtusPerSquareFootDegreeFahrenheit. + /// + public double BtusPerSquareFootDegreeFahrenheit => As(HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit); + /// /// Get HeatTransferCoefficient in WattsPerSquareMeterCelsius. /// @@ -195,6 +200,16 @@ public static string GetAbbreviation(HeatTransferCoefficientUnit unit, [CanBeNul #region Static Factory Methods + /// + /// Get HeatTransferCoefficient from BtusPerSquareFootDegreeFahrenheit. + /// + /// If value is NaN or Infinity. + [Windows.Foundation.Metadata.DefaultOverload] + public static HeatTransferCoefficient FromBtusPerSquareFootDegreeFahrenheit(double btuspersquarefootdegreefahrenheit) + { + double value = (double) btuspersquarefootdegreefahrenheit; + return new HeatTransferCoefficient(value, HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit); + } /// /// Get HeatTransferCoefficient from WattsPerSquareMeterCelsius. /// @@ -506,6 +521,7 @@ private double AsBaseUnit() { switch(Unit) { + case HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit: return _value * 5.6782633411134878; case HeatTransferCoefficientUnit.WattPerSquareMeterCelsius: return _value; case HeatTransferCoefficientUnit.WattPerSquareMeterKelvin: return _value; default: @@ -522,6 +538,7 @@ private double AsBaseNumericType(HeatTransferCoefficientUnit unit) switch(unit) { + case HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit: return baseUnitValue / 5.6782633411134878; case HeatTransferCoefficientUnit.WattPerSquareMeterCelsius: return baseUnitValue; case HeatTransferCoefficientUnit.WattPerSquareMeterKelvin: return baseUnitValue; default: diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs index f992bf3de9..796e75bf72 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs @@ -424,6 +424,7 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("en-US", typeof(HeatFluxUnit), (int)HeatFluxUnit.WattPerSquareFoot, new string[]{"W/ft²"}), ("en-US", typeof(HeatFluxUnit), (int)HeatFluxUnit.WattPerSquareInch, new string[]{"W/in²"}), ("en-US", typeof(HeatFluxUnit), (int)HeatFluxUnit.WattPerSquareMeter, new string[]{"W/m²"}), + ("en-US", typeof(HeatTransferCoefficientUnit), (int)HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit, new string[]{"Btu/ft²·hr·°F"}), ("en-US", typeof(HeatTransferCoefficientUnit), (int)HeatTransferCoefficientUnit.WattPerSquareMeterCelsius, new string[]{"W/m²·°C"}), ("en-US", typeof(HeatTransferCoefficientUnit), (int)HeatTransferCoefficientUnit.WattPerSquareMeterKelvin, new string[]{"W/m²·K"}), ("en-US", typeof(IlluminanceUnit), (int)IlluminanceUnit.Kilolux, new string[]{"klx"}), diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs index 437975921b..5c01d8e8b5 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs @@ -26,6 +26,7 @@ namespace UnitsNet.Units public enum HeatTransferCoefficientUnit { Undefined = 0, + BtuPerSquareFootDegreeFahrenheit, WattPerSquareMeterCelsius, WattPerSquareMeterKelvin, } diff --git a/UnitsNet/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs b/UnitsNet/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs index e497780405..9920500a3f 100644 --- a/UnitsNet/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs @@ -50,6 +50,7 @@ static HeatTransferCoefficient() Info = new QuantityInfo(QuantityType.HeatTransferCoefficient, new UnitInfo[] { + new UnitInfo(HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit, BaseUnits.Undefined), new UnitInfo(HeatTransferCoefficientUnit.WattPerSquareMeterCelsius, BaseUnits.Undefined), new UnitInfo(HeatTransferCoefficientUnit.WattPerSquareMeterKelvin, BaseUnits.Undefined), }, @@ -164,6 +165,11 @@ public HeatTransferCoefficient(double numericValue, UnitSystem unitSystem) #region Conversion Properties + /// + /// Get HeatTransferCoefficient in BtusPerSquareFootDegreeFahrenheit. + /// + public double BtusPerSquareFootDegreeFahrenheit => As(HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit); + /// /// Get HeatTransferCoefficient in WattsPerSquareMeterCelsius. /// @@ -203,6 +209,15 @@ public static string GetAbbreviation(HeatTransferCoefficientUnit unit, [CanBeNul #region Static Factory Methods + /// + /// Get HeatTransferCoefficient from BtusPerSquareFootDegreeFahrenheit. + /// + /// If value is NaN or Infinity. + public static HeatTransferCoefficient FromBtusPerSquareFootDegreeFahrenheit(QuantityValue btuspersquarefootdegreefahrenheit) + { + double value = (double) btuspersquarefootdegreefahrenheit; + return new HeatTransferCoefficient(value, HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit); + } /// /// Get HeatTransferCoefficient from WattsPerSquareMeterCelsius. /// @@ -650,6 +665,7 @@ private double GetValueInBaseUnit() { switch(Unit) { + case HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit: return _value * 5.6782633411134878; case HeatTransferCoefficientUnit.WattPerSquareMeterCelsius: return _value; case HeatTransferCoefficientUnit.WattPerSquareMeterKelvin: return _value; default: @@ -666,6 +682,7 @@ private double GetValueAs(HeatTransferCoefficientUnit unit) switch(unit) { + case HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit: return baseUnitValue / 5.6782633411134878; case HeatTransferCoefficientUnit.WattPerSquareMeterCelsius: return baseUnitValue; case HeatTransferCoefficientUnit.WattPerSquareMeterKelvin: return baseUnitValue; default: diff --git a/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs b/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs index 5d67b7c0f6..206ecb6690 100644 --- a/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs +++ b/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs @@ -424,6 +424,7 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("en-US", typeof(HeatFluxUnit), (int)HeatFluxUnit.WattPerSquareFoot, new string[]{"W/ft²"}), ("en-US", typeof(HeatFluxUnit), (int)HeatFluxUnit.WattPerSquareInch, new string[]{"W/in²"}), ("en-US", typeof(HeatFluxUnit), (int)HeatFluxUnit.WattPerSquareMeter, new string[]{"W/m²"}), + ("en-US", typeof(HeatTransferCoefficientUnit), (int)HeatTransferCoefficientUnit.BtuPerSquareFootDegreeFahrenheit, new string[]{"Btu/ft²·hr·°F"}), ("en-US", typeof(HeatTransferCoefficientUnit), (int)HeatTransferCoefficientUnit.WattPerSquareMeterCelsius, new string[]{"W/m²·°C"}), ("en-US", typeof(HeatTransferCoefficientUnit), (int)HeatTransferCoefficientUnit.WattPerSquareMeterKelvin, new string[]{"W/m²·K"}), ("en-US", typeof(IlluminanceUnit), (int)IlluminanceUnit.Kilolux, new string[]{"klx"}), diff --git a/UnitsNet/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs b/UnitsNet/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs index 437975921b..5c01d8e8b5 100644 --- a/UnitsNet/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/HeatTransferCoefficientUnit.g.cs @@ -26,6 +26,7 @@ namespace UnitsNet.Units public enum HeatTransferCoefficientUnit { Undefined = 0, + BtuPerSquareFootDegreeFahrenheit, WattPerSquareMeterCelsius, WattPerSquareMeterKelvin, }