From 84701815df7c643b90dc3da6882a37d9d03e6703 Mon Sep 17 00:00:00 2001
From: Jagailo <10468120+Jagailo@users.noreply.github.com>
Date: Fri, 11 Jul 2025 21:28:12 +0300
Subject: [PATCH] Added several new Gray units
---
.../AbsorbedDoseOfIonizingRadiation.json | 2 +-
Common/UnitDefinitions/DoseAreaProduct.json | 26 ++
Common/UnitEnumValues.g.json | 10 +-
.../AbsorbedDoseOfIonizingRadiation.g.cs | 12 +
.../Quantities/DoseAreaProduct.g.cs | 60 +++
.../AbsorbedDoseOfIonizingRadiationUnit.g.cs | 1 +
.../Units/DoseAreaProductUnit.g.cs | 5 +
...DoseOfIonizingRadiationExtensionsTest.g.cs | 4 +
...NumberToDoseAreaProductExtensionsTest.g.cs | 20 +
...rbedDoseOfIonizingRadiationExtensions.g.cs | 11 +
.../NumberToDoseAreaProductExtensions.g.cs | 55 +++
.../AbsorbedDoseOfIonizingRadiationTests.cs | 1 +
.../CustomCode/DoseAreaProductTests.cs | 5 +
...orbedDoseOfIonizingRadiationTestsBase.g.cs | 141 ++++---
.../TestsBase/DoseAreaProductTestsBase.g.cs | 357 +++++++++++++++---
.../AbsorbedDoseOfIonizingRadiation.g.cs | 18 +
.../Quantities/DoseAreaProduct.g.cs | 90 +++++
UnitsNet/GeneratedCode/Quantities/Length.g.cs | 2 +-
.../AbsorbedDoseOfIonizingRadiation.restext | 1 +
...orbedDoseOfIonizingRadiation.ru-RU.restext | 1 +
.../Resources/DoseAreaProduct.restext | 5 +
.../Resources/DoseAreaProduct.ru-RU.restext | 5 +
.../AbsorbedDoseOfIonizingRadiationUnit.g.cs | 1 +
.../Units/DoseAreaProductUnit.g.cs | 5 +
24 files changed, 738 insertions(+), 100 deletions(-)
diff --git a/Common/UnitDefinitions/AbsorbedDoseOfIonizingRadiation.json b/Common/UnitDefinitions/AbsorbedDoseOfIonizingRadiation.json
index c14a2f804a..d805a2eede 100644
--- a/Common/UnitDefinitions/AbsorbedDoseOfIonizingRadiation.json
+++ b/Common/UnitDefinitions/AbsorbedDoseOfIonizingRadiation.json
@@ -19,7 +19,7 @@
"FromBaseToUnitFunc": "{x}",
"XmlDocSummary": "The gray is the unit of ionizing radiation dose in the SI, defined as the absorption of one joule of radiation energy per kilogram of matter.",
"XmlDocRemarks": "https://en.wikipedia.org/wiki/Gray_(unit)",
- "Prefixes": [ "Femto", "Pico", "Nano", "Micro", "Milli", "Centi", "Kilo", "Mega", "Giga", "Tera", "Peta" ],
+ "Prefixes": [ "Femto", "Pico", "Nano", "Micro", "Milli", "Centi", "Deci", "Kilo", "Mega", "Giga", "Tera", "Peta" ],
"Localization": [
{
"Culture": "en-US",
diff --git a/Common/UnitDefinitions/DoseAreaProduct.json b/Common/UnitDefinitions/DoseAreaProduct.json
index 2b43ed96bc..32d5516c96 100644
--- a/Common/UnitDefinitions/DoseAreaProduct.json
+++ b/Common/UnitDefinitions/DoseAreaProduct.json
@@ -115,6 +115,32 @@
]
}
]
+ },
+ {
+ "SingularName": "GraySquareMicrometer",
+ "PluralName": "GraySquareMicrometers",
+ "FromUnitToBaseFunc": "{x} / 1000000000000",
+ "FromBaseToUnitFunc": "{x} * 1000000000000",
+ "Prefixes": [
+ "Micro",
+ "Milli",
+ "Centi",
+ "Deci"
+ ],
+ "Localization": [
+ {
+ "Culture": "en-US",
+ "Abbreviations": [
+ "Gy·μm²"
+ ]
+ },
+ {
+ "Culture": "ru-RU",
+ "Abbreviations": [
+ "Гр·мкм²"
+ ]
+ }
+ ]
}
]
}
\ No newline at end of file
diff --git a/Common/UnitEnumValues.g.json b/Common/UnitEnumValues.g.json
index 8230deab39..22df3c4763 100644
--- a/Common/UnitEnumValues.g.json
+++ b/Common/UnitEnumValues.g.json
@@ -1815,7 +1815,8 @@
"Petagray": 19,
"Picogray": 11,
"Rad": 17,
- "Teragray": 14
+ "Teragray": 14,
+ "Decigray": 26
},
"Molality": {
"MolePerGram": 4,
@@ -1905,7 +1906,12 @@
"MilligraySquareCentimeter": 14,
"MilligraySquareDecimeter": 17,
"MilligraySquareMeter": 11,
- "MilligraySquareMillimeter": 12
+ "MilligraySquareMillimeter": 12,
+ "CentigraySquareMicrometer": 21,
+ "DecigraySquareMicrometer": 25,
+ "GraySquareMicrometer": 26,
+ "MicrograySquareMicrometer": 29,
+ "MilligraySquareMicrometer": 30
},
"ElectricApparentEnergy": {
"KilovoltampereHour": 7,
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Quantities/AbsorbedDoseOfIonizingRadiation.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Quantities/AbsorbedDoseOfIonizingRadiation.g.cs
index 03fba175c3..26a737dfa8 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Quantities/AbsorbedDoseOfIonizingRadiation.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Quantities/AbsorbedDoseOfIonizingRadiation.g.cs
@@ -86,6 +86,11 @@ public AbsorbedDoseOfIonizingRadiation(double value, AbsorbedDoseOfIonizingRadia
///
public double Centigrays => As(AbsorbedDoseOfIonizingRadiationUnit.Centigray);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double Decigrays => As(AbsorbedDoseOfIonizingRadiationUnit.Decigray);
+
///
/// Gets a value of this quantity converted into
///
@@ -170,6 +175,11 @@ public AbsorbedDoseOfIonizingRadiation(double value, AbsorbedDoseOfIonizingRadia
///
public static AbsorbedDoseOfIonizingRadiation FromCentigrays(double centigrays) => new AbsorbedDoseOfIonizingRadiation(centigrays, AbsorbedDoseOfIonizingRadiationUnit.Centigray);
+ ///
+ /// Creates a from .
+ ///
+ public static AbsorbedDoseOfIonizingRadiation FromDecigrays(double decigrays) => new AbsorbedDoseOfIonizingRadiation(decigrays, AbsorbedDoseOfIonizingRadiationUnit.Decigray);
+
///
/// Creates a from .
///
@@ -286,6 +296,7 @@ private double GetValueInBaseUnit()
return Unit switch
{
AbsorbedDoseOfIonizingRadiationUnit.Centigray => (_value) * 1e-2d,
+ AbsorbedDoseOfIonizingRadiationUnit.Decigray => (_value) * 1e-1d,
AbsorbedDoseOfIonizingRadiationUnit.Femtogray => (_value) * 1e-15d,
AbsorbedDoseOfIonizingRadiationUnit.Gigagray => (_value) * 1e9d,
AbsorbedDoseOfIonizingRadiationUnit.Gray => _value,
@@ -315,6 +326,7 @@ private double GetValueAs(AbsorbedDoseOfIonizingRadiationUnit unit)
return unit switch
{
AbsorbedDoseOfIonizingRadiationUnit.Centigray => (baseUnitValue) / 1e-2d,
+ AbsorbedDoseOfIonizingRadiationUnit.Decigray => (baseUnitValue) / 1e-1d,
AbsorbedDoseOfIonizingRadiationUnit.Femtogray => (baseUnitValue) / 1e-15d,
AbsorbedDoseOfIonizingRadiationUnit.Gigagray => (baseUnitValue) / 1e9d,
AbsorbedDoseOfIonizingRadiationUnit.Gray => baseUnitValue,
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Quantities/DoseAreaProduct.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Quantities/DoseAreaProduct.g.cs
index f1d4b881c2..f93cea9361 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Quantities/DoseAreaProduct.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Quantities/DoseAreaProduct.g.cs
@@ -96,6 +96,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public double CentigraySquareMeters => As(DoseAreaProductUnit.CentigraySquareMeter);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double CentigraySquareMicrometers => As(DoseAreaProductUnit.CentigraySquareMicrometer);
+
///
/// Gets a value of this quantity converted into
///
@@ -116,6 +121,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public double DecigraySquareMeters => As(DoseAreaProductUnit.DecigraySquareMeter);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double DecigraySquareMicrometers => As(DoseAreaProductUnit.DecigraySquareMicrometer);
+
///
/// Gets a value of this quantity converted into
///
@@ -136,6 +146,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public double GraySquareMeters => As(DoseAreaProductUnit.GraySquareMeter);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double GraySquareMicrometers => As(DoseAreaProductUnit.GraySquareMicrometer);
+
///
/// Gets a value of this quantity converted into
///
@@ -156,6 +171,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public double MicrograySquareMeters => As(DoseAreaProductUnit.MicrograySquareMeter);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double MicrograySquareMicrometers => As(DoseAreaProductUnit.MicrograySquareMicrometer);
+
///
/// Gets a value of this quantity converted into
///
@@ -176,6 +196,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public double MilligraySquareMeters => As(DoseAreaProductUnit.MilligraySquareMeter);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double MilligraySquareMicrometers => As(DoseAreaProductUnit.MilligraySquareMicrometer);
+
///
/// Gets a value of this quantity converted into
///
@@ -200,6 +225,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public static DoseAreaProduct FromCentigraySquareMeters(double centigraysquaremeters) => new DoseAreaProduct(centigraysquaremeters, DoseAreaProductUnit.CentigraySquareMeter);
+ ///
+ /// Creates a from .
+ ///
+ public static DoseAreaProduct FromCentigraySquareMicrometers(double centigraysquaremicrometers) => new DoseAreaProduct(centigraysquaremicrometers, DoseAreaProductUnit.CentigraySquareMicrometer);
+
///
/// Creates a from .
///
@@ -220,6 +250,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public static DoseAreaProduct FromDecigraySquareMeters(double decigraysquaremeters) => new DoseAreaProduct(decigraysquaremeters, DoseAreaProductUnit.DecigraySquareMeter);
+ ///
+ /// Creates a from .
+ ///
+ public static DoseAreaProduct FromDecigraySquareMicrometers(double decigraysquaremicrometers) => new DoseAreaProduct(decigraysquaremicrometers, DoseAreaProductUnit.DecigraySquareMicrometer);
+
///
/// Creates a from .
///
@@ -240,6 +275,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public static DoseAreaProduct FromGraySquareMeters(double graysquaremeters) => new DoseAreaProduct(graysquaremeters, DoseAreaProductUnit.GraySquareMeter);
+ ///
+ /// Creates a from .
+ ///
+ public static DoseAreaProduct FromGraySquareMicrometers(double graysquaremicrometers) => new DoseAreaProduct(graysquaremicrometers, DoseAreaProductUnit.GraySquareMicrometer);
+
///
/// Creates a from .
///
@@ -260,6 +300,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public static DoseAreaProduct FromMicrograySquareMeters(double micrograysquaremeters) => new DoseAreaProduct(micrograysquaremeters, DoseAreaProductUnit.MicrograySquareMeter);
+ ///
+ /// Creates a from .
+ ///
+ public static DoseAreaProduct FromMicrograySquareMicrometers(double micrograysquaremicrometers) => new DoseAreaProduct(micrograysquaremicrometers, DoseAreaProductUnit.MicrograySquareMicrometer);
+
///
/// Creates a from .
///
@@ -280,6 +325,11 @@ public DoseAreaProduct(double value, DoseAreaProductUnit unit)
///
public static DoseAreaProduct FromMilligraySquareMeters(double milligraysquaremeters) => new DoseAreaProduct(milligraysquaremeters, DoseAreaProductUnit.MilligraySquareMeter);
+ ///
+ /// Creates a from .
+ ///
+ public static DoseAreaProduct FromMilligraySquareMicrometers(double milligraysquaremicrometers) => new DoseAreaProduct(milligraysquaremicrometers, DoseAreaProductUnit.MilligraySquareMicrometer);
+
///
/// Creates a from .
///
@@ -328,22 +378,27 @@ private double GetValueInBaseUnit()
DoseAreaProductUnit.CentigraySquareCentimeter => (_value / 10000) * 1e-2d,
DoseAreaProductUnit.CentigraySquareDecimeter => (_value / 100) * 1e-2d,
DoseAreaProductUnit.CentigraySquareMeter => (_value) * 1e-2d,
+ DoseAreaProductUnit.CentigraySquareMicrometer => (_value / 1000000000000) * 1e-2d,
DoseAreaProductUnit.CentigraySquareMillimeter => (_value / 1000000) * 1e-2d,
DoseAreaProductUnit.DecigraySquareCentimeter => (_value / 10000) * 1e-1d,
DoseAreaProductUnit.DecigraySquareDecimeter => (_value / 100) * 1e-1d,
DoseAreaProductUnit.DecigraySquareMeter => (_value) * 1e-1d,
+ DoseAreaProductUnit.DecigraySquareMicrometer => (_value / 1000000000000) * 1e-1d,
DoseAreaProductUnit.DecigraySquareMillimeter => (_value / 1000000) * 1e-1d,
DoseAreaProductUnit.GraySquareCentimeter => _value / 10000,
DoseAreaProductUnit.GraySquareDecimeter => _value / 100,
DoseAreaProductUnit.GraySquareMeter => _value,
+ DoseAreaProductUnit.GraySquareMicrometer => _value / 1000000000000,
DoseAreaProductUnit.GraySquareMillimeter => _value / 1000000,
DoseAreaProductUnit.MicrograySquareCentimeter => (_value / 10000) * 1e-6d,
DoseAreaProductUnit.MicrograySquareDecimeter => (_value / 100) * 1e-6d,
DoseAreaProductUnit.MicrograySquareMeter => (_value) * 1e-6d,
+ DoseAreaProductUnit.MicrograySquareMicrometer => (_value / 1000000000000) * 1e-6d,
DoseAreaProductUnit.MicrograySquareMillimeter => (_value / 1000000) * 1e-6d,
DoseAreaProductUnit.MilligraySquareCentimeter => (_value / 10000) * 1e-3d,
DoseAreaProductUnit.MilligraySquareDecimeter => (_value / 100) * 1e-3d,
DoseAreaProductUnit.MilligraySquareMeter => (_value) * 1e-3d,
+ DoseAreaProductUnit.MilligraySquareMicrometer => (_value / 1000000000000) * 1e-3d,
DoseAreaProductUnit.MilligraySquareMillimeter => (_value / 1000000) * 1e-3d,
_ => throw new NotImplementedException($"Can not convert {Unit} to base units.")
};
@@ -361,22 +416,27 @@ private double GetValueAs(DoseAreaProductUnit unit)
DoseAreaProductUnit.CentigraySquareCentimeter => (baseUnitValue * 10000) / 1e-2d,
DoseAreaProductUnit.CentigraySquareDecimeter => (baseUnitValue * 100) / 1e-2d,
DoseAreaProductUnit.CentigraySquareMeter => (baseUnitValue) / 1e-2d,
+ DoseAreaProductUnit.CentigraySquareMicrometer => (baseUnitValue * 1000000000000) / 1e-2d,
DoseAreaProductUnit.CentigraySquareMillimeter => (baseUnitValue * 1000000) / 1e-2d,
DoseAreaProductUnit.DecigraySquareCentimeter => (baseUnitValue * 10000) / 1e-1d,
DoseAreaProductUnit.DecigraySquareDecimeter => (baseUnitValue * 100) / 1e-1d,
DoseAreaProductUnit.DecigraySquareMeter => (baseUnitValue) / 1e-1d,
+ DoseAreaProductUnit.DecigraySquareMicrometer => (baseUnitValue * 1000000000000) / 1e-1d,
DoseAreaProductUnit.DecigraySquareMillimeter => (baseUnitValue * 1000000) / 1e-1d,
DoseAreaProductUnit.GraySquareCentimeter => baseUnitValue * 10000,
DoseAreaProductUnit.GraySquareDecimeter => baseUnitValue * 100,
DoseAreaProductUnit.GraySquareMeter => baseUnitValue,
+ DoseAreaProductUnit.GraySquareMicrometer => baseUnitValue * 1000000000000,
DoseAreaProductUnit.GraySquareMillimeter => baseUnitValue * 1000000,
DoseAreaProductUnit.MicrograySquareCentimeter => (baseUnitValue * 10000) / 1e-6d,
DoseAreaProductUnit.MicrograySquareDecimeter => (baseUnitValue * 100) / 1e-6d,
DoseAreaProductUnit.MicrograySquareMeter => (baseUnitValue) / 1e-6d,
+ DoseAreaProductUnit.MicrograySquareMicrometer => (baseUnitValue * 1000000000000) / 1e-6d,
DoseAreaProductUnit.MicrograySquareMillimeter => (baseUnitValue * 1000000) / 1e-6d,
DoseAreaProductUnit.MilligraySquareCentimeter => (baseUnitValue * 10000) / 1e-3d,
DoseAreaProductUnit.MilligraySquareDecimeter => (baseUnitValue * 100) / 1e-3d,
DoseAreaProductUnit.MilligraySquareMeter => (baseUnitValue) / 1e-3d,
+ DoseAreaProductUnit.MilligraySquareMicrometer => (baseUnitValue * 1000000000000) / 1e-3d,
DoseAreaProductUnit.MilligraySquareMillimeter => (baseUnitValue * 1000000) / 1e-3d,
_ => throw new NotImplementedException($"Can not convert {Unit} to {unit}.")
};
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Units/AbsorbedDoseOfIonizingRadiationUnit.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Units/AbsorbedDoseOfIonizingRadiationUnit.g.cs
index c93ee5040a..abaa075252 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Units/AbsorbedDoseOfIonizingRadiationUnit.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Units/AbsorbedDoseOfIonizingRadiationUnit.g.cs
@@ -26,6 +26,7 @@ namespace UnitsNet.Units
public enum AbsorbedDoseOfIonizingRadiationUnit
{
Centigray = 6,
+ Decigray = 26,
Femtogray = 7,
Gigagray = 8,
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Units/DoseAreaProductUnit.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Units/DoseAreaProductUnit.g.cs
index 728491f0d3..958c8cfbf0 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Units/DoseAreaProductUnit.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Units/DoseAreaProductUnit.g.cs
@@ -28,22 +28,27 @@ public enum DoseAreaProductUnit
CentigraySquareCentimeter = 6,
CentigraySquareDecimeter = 3,
CentigraySquareMeter = 7,
+ CentigraySquareMicrometer = 21,
CentigraySquareMillimeter = 2,
DecigraySquareCentimeter = 9,
DecigraySquareDecimeter = 1,
DecigraySquareMeter = 4,
+ DecigraySquareMicrometer = 25,
DecigraySquareMillimeter = 8,
GraySquareCentimeter = 10,
GraySquareDecimeter = 5,
GraySquareMeter = 19,
+ GraySquareMicrometer = 26,
GraySquareMillimeter = 16,
MicrograySquareCentimeter = 13,
MicrograySquareDecimeter = 20,
MicrograySquareMeter = 15,
+ MicrograySquareMicrometer = 29,
MicrograySquareMillimeter = 18,
MilligraySquareCentimeter = 14,
MilligraySquareDecimeter = 17,
MilligraySquareMeter = 11,
+ MilligraySquareMicrometer = 30,
MilligraySquareMillimeter = 12,
}
diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensionsTest.g.cs
index e452487c4d..95898fa808 100644
--- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensionsTest.g.cs
+++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensionsTest.g.cs
@@ -28,6 +28,10 @@ public class NumberToAbsorbedDoseOfIonizingRadiationExtensionsTests
public void NumberToCentigraysTest() =>
Assert.Equal(AbsorbedDoseOfIonizingRadiation.FromCentigrays(2), 2.Centigrays());
+ [Fact]
+ public void NumberToDecigraysTest() =>
+ Assert.Equal(AbsorbedDoseOfIonizingRadiation.FromDecigrays(2), 2.Decigrays());
+
[Fact]
public void NumberToFemtograysTest() =>
Assert.Equal(AbsorbedDoseOfIonizingRadiation.FromFemtograys(2), 2.Femtograys());
diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToDoseAreaProductExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToDoseAreaProductExtensionsTest.g.cs
index 6a4606fb6f..96a414c22c 100644
--- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToDoseAreaProductExtensionsTest.g.cs
+++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToDoseAreaProductExtensionsTest.g.cs
@@ -36,6 +36,10 @@ public void NumberToCentigraySquareDecimetersTest() =>
public void NumberToCentigraySquareMetersTest() =>
Assert.Equal(DoseAreaProduct.FromCentigraySquareMeters(2), 2.CentigraySquareMeters());
+ [Fact]
+ public void NumberToCentigraySquareMicrometersTest() =>
+ Assert.Equal(DoseAreaProduct.FromCentigraySquareMicrometers(2), 2.CentigraySquareMicrometers());
+
[Fact]
public void NumberToCentigraySquareMillimetersTest() =>
Assert.Equal(DoseAreaProduct.FromCentigraySquareMillimeters(2), 2.CentigraySquareMillimeters());
@@ -52,6 +56,10 @@ public void NumberToDecigraySquareDecimetersTest() =>
public void NumberToDecigraySquareMetersTest() =>
Assert.Equal(DoseAreaProduct.FromDecigraySquareMeters(2), 2.DecigraySquareMeters());
+ [Fact]
+ public void NumberToDecigraySquareMicrometersTest() =>
+ Assert.Equal(DoseAreaProduct.FromDecigraySquareMicrometers(2), 2.DecigraySquareMicrometers());
+
[Fact]
public void NumberToDecigraySquareMillimetersTest() =>
Assert.Equal(DoseAreaProduct.FromDecigraySquareMillimeters(2), 2.DecigraySquareMillimeters());
@@ -68,6 +76,10 @@ public void NumberToGraySquareDecimetersTest() =>
public void NumberToGraySquareMetersTest() =>
Assert.Equal(DoseAreaProduct.FromGraySquareMeters(2), 2.GraySquareMeters());
+ [Fact]
+ public void NumberToGraySquareMicrometersTest() =>
+ Assert.Equal(DoseAreaProduct.FromGraySquareMicrometers(2), 2.GraySquareMicrometers());
+
[Fact]
public void NumberToGraySquareMillimetersTest() =>
Assert.Equal(DoseAreaProduct.FromGraySquareMillimeters(2), 2.GraySquareMillimeters());
@@ -84,6 +96,10 @@ public void NumberToMicrograySquareDecimetersTest() =>
public void NumberToMicrograySquareMetersTest() =>
Assert.Equal(DoseAreaProduct.FromMicrograySquareMeters(2), 2.MicrograySquareMeters());
+ [Fact]
+ public void NumberToMicrograySquareMicrometersTest() =>
+ Assert.Equal(DoseAreaProduct.FromMicrograySquareMicrometers(2), 2.MicrograySquareMicrometers());
+
[Fact]
public void NumberToMicrograySquareMillimetersTest() =>
Assert.Equal(DoseAreaProduct.FromMicrograySquareMillimeters(2), 2.MicrograySquareMillimeters());
@@ -100,6 +116,10 @@ public void NumberToMilligraySquareDecimetersTest() =>
public void NumberToMilligraySquareMetersTest() =>
Assert.Equal(DoseAreaProduct.FromMilligraySquareMeters(2), 2.MilligraySquareMeters());
+ [Fact]
+ public void NumberToMilligraySquareMicrometersTest() =>
+ Assert.Equal(DoseAreaProduct.FromMilligraySquareMicrometers(2), 2.MilligraySquareMicrometers());
+
[Fact]
public void NumberToMilligraySquareMillimetersTest() =>
Assert.Equal(DoseAreaProduct.FromMilligraySquareMillimeters(2), 2.MilligraySquareMillimeters());
diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensions.g.cs
index 8b6d6e5653..e6ed3cdc87 100644
--- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensions.g.cs
+++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToAbsorbedDoseOfIonizingRadiationExtensions.g.cs
@@ -43,6 +43,17 @@ public static AbsorbedDoseOfIonizingRadiation Centigrays(this T value)
=> AbsorbedDoseOfIonizingRadiation.FromCentigrays(value.ToDouble(null));
#endif
+ ///
+ public static AbsorbedDoseOfIonizingRadiation Decigrays(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+ => AbsorbedDoseOfIonizingRadiation.FromDecigrays(double.CreateChecked(value));
+#else
+ , IConvertible
+ => AbsorbedDoseOfIonizingRadiation.FromDecigrays(value.ToDouble(null));
+#endif
+
///
public static AbsorbedDoseOfIonizingRadiation Femtograys(this T value)
where T : notnull
diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToDoseAreaProductExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToDoseAreaProductExtensions.g.cs
index 8c3bd4a136..b0a770e93d 100644
--- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToDoseAreaProductExtensions.g.cs
+++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToDoseAreaProductExtensions.g.cs
@@ -65,6 +65,17 @@ public static DoseAreaProduct CentigraySquareMeters(this T value)
=> DoseAreaProduct.FromCentigraySquareMeters(value.ToDouble(null));
#endif
+ ///
+ public static DoseAreaProduct CentigraySquareMicrometers(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+ => DoseAreaProduct.FromCentigraySquareMicrometers(double.CreateChecked(value));
+#else
+ , IConvertible
+ => DoseAreaProduct.FromCentigraySquareMicrometers(value.ToDouble(null));
+#endif
+
///
public static DoseAreaProduct CentigraySquareMillimeters(this T value)
where T : notnull
@@ -109,6 +120,17 @@ public static DoseAreaProduct DecigraySquareMeters(this T value)
=> DoseAreaProduct.FromDecigraySquareMeters(value.ToDouble(null));
#endif
+ ///
+ public static DoseAreaProduct DecigraySquareMicrometers(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+ => DoseAreaProduct.FromDecigraySquareMicrometers(double.CreateChecked(value));
+#else
+ , IConvertible
+ => DoseAreaProduct.FromDecigraySquareMicrometers(value.ToDouble(null));
+#endif
+
///
public static DoseAreaProduct DecigraySquareMillimeters(this T value)
where T : notnull
@@ -153,6 +175,17 @@ public static DoseAreaProduct GraySquareMeters(this T value)
=> DoseAreaProduct.FromGraySquareMeters(value.ToDouble(null));
#endif
+ ///
+ public static DoseAreaProduct GraySquareMicrometers(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+ => DoseAreaProduct.FromGraySquareMicrometers(double.CreateChecked(value));
+#else
+ , IConvertible
+ => DoseAreaProduct.FromGraySquareMicrometers(value.ToDouble(null));
+#endif
+
///
public static DoseAreaProduct GraySquareMillimeters(this T value)
where T : notnull
@@ -197,6 +230,17 @@ public static DoseAreaProduct MicrograySquareMeters(this T value)
=> DoseAreaProduct.FromMicrograySquareMeters(value.ToDouble(null));
#endif
+ ///
+ public static DoseAreaProduct MicrograySquareMicrometers(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+ => DoseAreaProduct.FromMicrograySquareMicrometers(double.CreateChecked(value));
+#else
+ , IConvertible
+ => DoseAreaProduct.FromMicrograySquareMicrometers(value.ToDouble(null));
+#endif
+
///
public static DoseAreaProduct MicrograySquareMillimeters(this T value)
where T : notnull
@@ -241,6 +285,17 @@ public static DoseAreaProduct MilligraySquareMeters(this T value)
=> DoseAreaProduct.FromMilligraySquareMeters(value.ToDouble(null));
#endif
+ ///
+ public static DoseAreaProduct MilligraySquareMicrometers(this T value)
+ where T : notnull
+#if NET7_0_OR_GREATER
+ , INumber
+ => DoseAreaProduct.FromMilligraySquareMicrometers(double.CreateChecked(value));
+#else
+ , IConvertible
+ => DoseAreaProduct.FromMilligraySquareMicrometers(value.ToDouble(null));
+#endif
+
///
public static DoseAreaProduct MilligraySquareMillimeters(this T value)
where T : notnull
diff --git a/UnitsNet.Tests/CustomCode/AbsorbedDoseOfIonizingRadiationTests.cs b/UnitsNet.Tests/CustomCode/AbsorbedDoseOfIonizingRadiationTests.cs
index ae5cd79fe0..f0e5b14ceb 100644
--- a/UnitsNet.Tests/CustomCode/AbsorbedDoseOfIonizingRadiationTests.cs
+++ b/UnitsNet.Tests/CustomCode/AbsorbedDoseOfIonizingRadiationTests.cs
@@ -25,6 +25,7 @@ public class AbsorbedDoseOfIonizingRadiationTests : AbsorbedDoseOfIonizingRadiat
{
// Override properties in base class here
protected override double CentigraysInOneGray => 100;
+ protected override double DecigraysInOneGray => 10;
protected override double FemtograysInOneGray => 1E+15;
protected override double GigagraysInOneGray => 1E-9;
protected override double GraysInOneGray => 1;
diff --git a/UnitsNet.Tests/CustomCode/DoseAreaProductTests.cs b/UnitsNet.Tests/CustomCode/DoseAreaProductTests.cs
index cb531d0181..c0cb0095bf 100644
--- a/UnitsNet.Tests/CustomCode/DoseAreaProductTests.cs
+++ b/UnitsNet.Tests/CustomCode/DoseAreaProductTests.cs
@@ -26,22 +26,27 @@ public class DoseAreaProductTests : DoseAreaProductTestsBase
protected override double CentigraySquareCentimetersInOneGraySquareMeter => 1E+6;
protected override double CentigraySquareDecimetersInOneGraySquareMeter => 1E+4;
protected override double CentigraySquareMetersInOneGraySquareMeter => 100;
+ protected override double CentigraySquareMicrometersInOneGraySquareMeter => 1E+14;
protected override double CentigraySquareMillimetersInOneGraySquareMeter => 1E+8;
protected override double DecigraySquareCentimetersInOneGraySquareMeter => 1E+5;
protected override double DecigraySquareDecimetersInOneGraySquareMeter => 1E+3;
protected override double DecigraySquareMetersInOneGraySquareMeter => 10;
+ protected override double DecigraySquareMicrometersInOneGraySquareMeter => 1E+13;
protected override double DecigraySquareMillimetersInOneGraySquareMeter => 1E+7;
protected override double GraySquareCentimetersInOneGraySquareMeter => 1E+4;
protected override double GraySquareDecimetersInOneGraySquareMeter => 1E+2;
protected override double GraySquareMetersInOneGraySquareMeter => 1;
+ protected override double GraySquareMicrometersInOneGraySquareMeter => 1E+12;
protected override double GraySquareMillimetersInOneGraySquareMeter => 1E+6;
protected override double MicrograySquareCentimetersInOneGraySquareMeter => 1E+10;
protected override double MicrograySquareDecimetersInOneGraySquareMeter => 1E+8;
protected override double MicrograySquareMetersInOneGraySquareMeter => 1E+6;
+ protected override double MicrograySquareMicrometersInOneGraySquareMeter => 1E+18;
protected override double MicrograySquareMillimetersInOneGraySquareMeter => 1E+12;
protected override double MilligraySquareCentimetersInOneGraySquareMeter => 1E+7;
protected override double MilligraySquareDecimetersInOneGraySquareMeter => 1E+5;
protected override double MilligraySquareMetersInOneGraySquareMeter => 1E+3;
+ protected override double MilligraySquareMicrometersInOneGraySquareMeter => 1E+15;
protected override double MilligraySquareMillimetersInOneGraySquareMeter => 1E+9;
}
}
diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/AbsorbedDoseOfIonizingRadiationTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/AbsorbedDoseOfIonizingRadiationTestsBase.g.cs
index 7e984c3ebd..6c0e4e808f 100644
--- a/UnitsNet.Tests/GeneratedCode/TestsBase/AbsorbedDoseOfIonizingRadiationTestsBase.g.cs
+++ b/UnitsNet.Tests/GeneratedCode/TestsBase/AbsorbedDoseOfIonizingRadiationTestsBase.g.cs
@@ -40,6 +40,7 @@ namespace UnitsNet.Tests
public abstract partial class AbsorbedDoseOfIonizingRadiationTestsBase : QuantityTestsBase
{
protected abstract double CentigraysInOneGray { get; }
+ protected abstract double DecigraysInOneGray { get; }
protected abstract double FemtograysInOneGray { get; }
protected abstract double GigagraysInOneGray { get; }
protected abstract double GraysInOneGray { get; }
@@ -58,6 +59,7 @@ public abstract partial class AbsorbedDoseOfIonizingRadiationTestsBase : Quantit
// ReSharper disable VirtualMemberNeverOverriden.Global
protected virtual double CentigraysTolerance { get { return 1e-5; } }
+ protected virtual double DecigraysTolerance { get { return 1e-5; } }
protected virtual double FemtograysTolerance { get { return 1e-5; } }
protected virtual double GigagraysTolerance { get { return 1e-5; } }
protected virtual double GraysTolerance { get { return 1e-5; } }
@@ -80,6 +82,7 @@ public abstract partial class AbsorbedDoseOfIonizingRadiationTestsBase : Quantit
return unit switch
{
AbsorbedDoseOfIonizingRadiationUnit.Centigray => (CentigraysInOneGray, CentigraysTolerance),
+ AbsorbedDoseOfIonizingRadiationUnit.Decigray => (DecigraysInOneGray, DecigraysTolerance),
AbsorbedDoseOfIonizingRadiationUnit.Femtogray => (FemtograysInOneGray, FemtograysTolerance),
AbsorbedDoseOfIonizingRadiationUnit.Gigagray => (GigagraysInOneGray, GigagraysTolerance),
AbsorbedDoseOfIonizingRadiationUnit.Gray => (GraysInOneGray, GraysTolerance),
@@ -102,6 +105,7 @@ public abstract partial class AbsorbedDoseOfIonizingRadiationTestsBase : Quantit
public static IEnumerable