diff --git a/Common/UnitDefinitions/Irradiation.json b/Common/UnitDefinitions/Irradiation.json
index 1097c6e3b4..3689cd0db4 100644
--- a/Common/UnitDefinitions/Irradiation.json
+++ b/Common/UnitDefinitions/Irradiation.json
@@ -58,6 +58,19 @@
"Abbreviations": [ "Wh/m²" ]
}
]
+ },
+ {
+ "SingularName": "BtuPerSquareFoot",
+ "PluralName": "BtusPerSquareFoot",
+ "FromUnitToBaseFunc": "{x} * (52752792631d / 4645152d)",
+ "FromBaseToUnitFunc": "{x} / (52752792631d / 4645152d)",
+ "Prefixes": [ "Kilo" ],
+ "Localization": [
+ {
+ "Culture": "en-US",
+ "Abbreviations": [ "Btu/ft²" ]
+ }
+ ]
}
]
}
diff --git a/Common/UnitEnumValues.g.json b/Common/UnitEnumValues.g.json
index 33a2c2cc8c..e400881862 100644
--- a/Common/UnitEnumValues.g.json
+++ b/Common/UnitEnumValues.g.json
@@ -631,7 +631,9 @@
"KilojoulePerSquareMeter": 4,
"KilowattHourPerSquareMeter": 5,
"MillijoulePerSquareCentimeter": 6,
- "WattHourPerSquareMeter": 7
+ "WattHourPerSquareMeter": 7,
+ "BtuPerSquareFoot": 15,
+ "KilobtuPerSquareFoot": 9
},
"Jerk": {
"CentimeterPerSecondCubed": 1,
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Irradiation.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Irradiation.g.cs
index 7e3ddcd7d1..c060bc14a8 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Irradiation.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Irradiation.g.cs
@@ -82,6 +82,11 @@ public Irradiation(double value, IrradiationUnit unit)
public static Irradiation Zero { get; } = new Irradiation(0, BaseUnit);
#region Conversion Properties
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double BtuPerSquareFoot => As(IrradiationUnit.BtuPerSquareFoot);
+
///
/// Gets a value of this quantity converted into
///
@@ -97,6 +102,11 @@ public Irradiation(double value, IrradiationUnit unit)
///
public double JoulesPerSquareMillimeter => As(IrradiationUnit.JoulePerSquareMillimeter);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double KilobtuPerSquareFoot => As(IrradiationUnit.KilobtuPerSquareFoot);
+
///
/// Gets a value of this quantity converted into
///
@@ -121,6 +131,12 @@ public Irradiation(double value, IrradiationUnit unit)
#region Static Factory Methods
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ public static Irradiation FromBtuPerSquareFoot(double btupersquarefoot) => new Irradiation(btupersquarefoot, IrradiationUnit.BtuPerSquareFoot);
+
///
/// Creates a from .
///
@@ -139,6 +155,12 @@ public Irradiation(double value, IrradiationUnit unit)
/// If value is NaN or Infinity.
public static Irradiation FromJoulesPerSquareMillimeter(double joulespersquaremillimeter) => new Irradiation(joulespersquaremillimeter, IrradiationUnit.JoulePerSquareMillimeter);
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ public static Irradiation FromKilobtuPerSquareFoot(double kilobtupersquarefoot) => new Irradiation(kilobtupersquarefoot, IrradiationUnit.KilobtuPerSquareFoot);
+
///
/// Creates a from .
///
@@ -203,9 +225,11 @@ private double GetValueInBaseUnit()
{
return Unit switch
{
+ IrradiationUnit.BtuPerSquareFoot => _value * 11356.5267,
IrradiationUnit.JoulePerSquareCentimeter => _value * 1e4,
IrradiationUnit.JoulePerSquareMeter => _value,
IrradiationUnit.JoulePerSquareMillimeter => _value * 1e6,
+ IrradiationUnit.KilobtuPerSquareFoot => (_value * 11356.5267) * 1e3d,
IrradiationUnit.KilojoulePerSquareMeter => (_value) * 1e3d,
IrradiationUnit.KilowattHourPerSquareMeter => (_value * 3600d) * 1e3d,
IrradiationUnit.MillijoulePerSquareCentimeter => (_value * 1e4) * 1e-3d,
@@ -223,9 +247,11 @@ private double GetValueAs(IrradiationUnit unit)
return unit switch
{
+ IrradiationUnit.BtuPerSquareFoot => baseUnitValue / 11356.5267,
IrradiationUnit.JoulePerSquareCentimeter => baseUnitValue / 1e4,
IrradiationUnit.JoulePerSquareMeter => baseUnitValue,
IrradiationUnit.JoulePerSquareMillimeter => baseUnitValue / 1e6,
+ IrradiationUnit.KilobtuPerSquareFoot => (baseUnitValue / 11356.5267) / 1e3d,
IrradiationUnit.KilojoulePerSquareMeter => (baseUnitValue) / 1e3d,
IrradiationUnit.KilowattHourPerSquareMeter => (baseUnitValue / 3600d) / 1e3d,
IrradiationUnit.MillijoulePerSquareCentimeter => (baseUnitValue / 1e4) / 1e-3d,
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Units/IrradiationUnit.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Units/IrradiationUnit.g.cs
index 449fdf2491..26d131063a 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Units/IrradiationUnit.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Units/IrradiationUnit.g.cs
@@ -25,9 +25,11 @@ namespace UnitsNet.Units
public enum IrradiationUnit
{
+ BtuPerSquareFoot = 15,
JoulePerSquareCentimeter = 1,
JoulePerSquareMeter = 2,
JoulePerSquareMillimeter = 3,
+ KilobtuPerSquareFoot = 9,
KilojoulePerSquareMeter = 4,
KilowattHourPerSquareMeter = 5,
MillijoulePerSquareCentimeter = 6,
diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToIrradiationExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToIrradiationExtensionsTest.g.cs
index 23b0b7a841..5ca8a8b7c4 100644
--- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToIrradiationExtensionsTest.g.cs
+++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToIrradiationExtensionsTest.g.cs
@@ -24,6 +24,10 @@ namespace UnitsNet.Tests
{
public class NumberToIrradiationExtensionsTests
{
+ [Fact]
+ public void NumberToBtuPerSquareFootTest() =>
+ Assert.Equal(Irradiation.FromBtuPerSquareFoot(2), 2.BtuPerSquareFoot());
+
[Fact]
public void NumberToJoulesPerSquareCentimeterTest() =>
Assert.Equal(Irradiation.FromJoulesPerSquareCentimeter(2), 2.JoulesPerSquareCentimeter());
@@ -36,6 +40,10 @@ public void NumberToJoulesPerSquareMeterTest() =>
public void NumberToJoulesPerSquareMillimeterTest() =>
Assert.Equal(Irradiation.FromJoulesPerSquareMillimeter(2), 2.JoulesPerSquareMillimeter());
+ [Fact]
+ public void NumberToKilobtuPerSquareFootTest() =>
+ Assert.Equal(Irradiation.FromKilobtuPerSquareFoot(2), 2.KilobtuPerSquareFoot());
+
[Fact]
public void NumberToKilojoulesPerSquareMeterTest() =>
Assert.Equal(Irradiation.FromKilojoulesPerSquareMeter(2), 2.KilojoulesPerSquareMeter());
diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToIrradiationExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToIrradiationExtensions.g.cs
index 6d9d3433b5..6d264745d7 100644
--- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToIrradiationExtensions.g.cs
+++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToIrradiationExtensions.g.cs
@@ -32,6 +32,14 @@ namespace UnitsNet.NumberExtensions.NumberToIrradiation
///
public static class NumberToIrradiationExtensions
{
+ ///
+ public static Irradiation BtuPerSquareFoot(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+#endif
+ => Irradiation.FromBtuPerSquareFoot(Convert.ToDouble(value));
+
///
public static Irradiation JoulesPerSquareCentimeter(this T value)
where T : notnull
@@ -56,6 +64,14 @@ public static Irradiation JoulesPerSquareMillimeter(this T value)
#endif
=> Irradiation.FromJoulesPerSquareMillimeter(Convert.ToDouble(value));
+ ///
+ public static Irradiation KilobtuPerSquareFoot(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+#endif
+ => Irradiation.FromKilobtuPerSquareFoot(Convert.ToDouble(value));
+
///
public static Irradiation KilojoulesPerSquareMeter(this T value)
where T : notnull
diff --git a/UnitsNet.Tests/CustomCode/IrradiationTests.cs b/UnitsNet.Tests/CustomCode/IrradiationTests.cs
index 91bb9b6e9a..978a0b1364 100644
--- a/UnitsNet.Tests/CustomCode/IrradiationTests.cs
+++ b/UnitsNet.Tests/CustomCode/IrradiationTests.cs
@@ -41,5 +41,9 @@ public class IrradiationTests : IrradiationTestsBase
protected override double WattHoursPerSquareMeterInOneJoulePerSquareMeter => 2.777777777777778e-4;
protected override double KilowattHoursPerSquareMeterInOneJoulePerSquareMeter => 2.777777777777778e-7;
+
+ protected override double BtuPerSquareFootInOneJoulePerSquareMeter => 8.805509170334624e-5;
+
+ protected override double KilobtuPerSquareFootInOneJoulePerSquareMeter => 8.805509170334624e-8;
}
}
diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/IrradiationTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/IrradiationTestsBase.g.cs
index 908b49b1f8..db93eb9b93 100644
--- a/UnitsNet.Tests/GeneratedCode/TestsBase/IrradiationTestsBase.g.cs
+++ b/UnitsNet.Tests/GeneratedCode/TestsBase/IrradiationTestsBase.g.cs
@@ -38,18 +38,22 @@ namespace UnitsNet.Tests
// ReSharper disable once PartialTypeWithSinglePart
public abstract partial class IrradiationTestsBase : QuantityTestsBase
{
+ protected abstract double BtuPerSquareFootInOneJoulePerSquareMeter { get; }
protected abstract double JoulesPerSquareCentimeterInOneJoulePerSquareMeter { get; }
protected abstract double JoulesPerSquareMeterInOneJoulePerSquareMeter { get; }
protected abstract double JoulesPerSquareMillimeterInOneJoulePerSquareMeter { get; }
+ protected abstract double KilobtuPerSquareFootInOneJoulePerSquareMeter { get; }
protected abstract double KilojoulesPerSquareMeterInOneJoulePerSquareMeter { get; }
protected abstract double KilowattHoursPerSquareMeterInOneJoulePerSquareMeter { get; }
protected abstract double MillijoulesPerSquareCentimeterInOneJoulePerSquareMeter { get; }
protected abstract double WattHoursPerSquareMeterInOneJoulePerSquareMeter { get; }
// ReSharper disable VirtualMemberNeverOverriden.Global
+ protected virtual double BtuPerSquareFootTolerance { get { return 1e-5; } }
protected virtual double JoulesPerSquareCentimeterTolerance { get { return 1e-5; } }
protected virtual double JoulesPerSquareMeterTolerance { get { return 1e-5; } }
protected virtual double JoulesPerSquareMillimeterTolerance { get { return 1e-5; } }
+ protected virtual double KilobtuPerSquareFootTolerance { get { return 1e-5; } }
protected virtual double KilojoulesPerSquareMeterTolerance { get { return 1e-5; } }
protected virtual double KilowattHoursPerSquareMeterTolerance { get { return 1e-5; } }
protected virtual double MillijoulesPerSquareCentimeterTolerance { get { return 1e-5; } }
@@ -60,9 +64,11 @@ public abstract partial class IrradiationTestsBase : QuantityTestsBase
{
return unit switch
{
+ IrradiationUnit.BtuPerSquareFoot => (BtuPerSquareFootInOneJoulePerSquareMeter, BtuPerSquareFootTolerance),
IrradiationUnit.JoulePerSquareCentimeter => (JoulesPerSquareCentimeterInOneJoulePerSquareMeter, JoulesPerSquareCentimeterTolerance),
IrradiationUnit.JoulePerSquareMeter => (JoulesPerSquareMeterInOneJoulePerSquareMeter, JoulesPerSquareMeterTolerance),
IrradiationUnit.JoulePerSquareMillimeter => (JoulesPerSquareMillimeterInOneJoulePerSquareMeter, JoulesPerSquareMillimeterTolerance),
+ IrradiationUnit.KilobtuPerSquareFoot => (KilobtuPerSquareFootInOneJoulePerSquareMeter, KilobtuPerSquareFootTolerance),
IrradiationUnit.KilojoulePerSquareMeter => (KilojoulesPerSquareMeterInOneJoulePerSquareMeter, KilojoulesPerSquareMeterTolerance),
IrradiationUnit.KilowattHourPerSquareMeter => (KilowattHoursPerSquareMeterInOneJoulePerSquareMeter, KilowattHoursPerSquareMeterTolerance),
IrradiationUnit.MillijoulePerSquareCentimeter => (MillijoulesPerSquareCentimeterInOneJoulePerSquareMeter, MillijoulesPerSquareCentimeterTolerance),
@@ -73,9 +79,11 @@ public abstract partial class IrradiationTestsBase : QuantityTestsBase
public static IEnumerable