diff --git a/Common/UnitDefinitions/Energy.json b/Common/UnitDefinitions/Energy.json
index c47de08e31..d914c9ba38 100644
--- a/Common/UnitDefinitions/Energy.json
+++ b/Common/UnitDefinitions/Energy.json
@@ -18,7 +18,7 @@
},
"FromUnitToBaseFunc": "{x}",
"FromBaseToUnitFunc": "{x}",
- "Prefixes": [ "Milli", "Kilo", "Mega", "Giga" ],
+ "Prefixes": [ "Milli", "Kilo", "Mega", "Giga", "Tera", "Peta" ],
"Localization": [
{
"Culture": "en-US",
diff --git a/Common/UnitEnumValues.g.json b/Common/UnitEnumValues.g.json
index 50146a9f47..0bd3ad6406 100644
--- a/Common/UnitEnumValues.g.json
+++ b/Common/UnitEnumValues.g.json
@@ -404,7 +404,9 @@
"ThermImperial": 33,
"ThermUs": 34,
"WattDay": 35,
- "WattHour": 36
+ "WattHour": 36,
+ "Petajoule": 43,
+ "Terajoule": 37
},
"Entropy": {
"CaloriePerKelvin": 1,
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Energy.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Energy.g.cs
index 839d14950d..45e0825101 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Quantities/Energy.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Quantities/Energy.g.cs
@@ -219,11 +219,21 @@ public Energy(double value, EnergyUnit unit)
///
public double Millijoules => As(EnergyUnit.Millijoule);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double Petajoules => As(EnergyUnit.Petajoule);
+
///
/// Gets a value of this quantity converted into
///
public double TeraelectronVolts => As(EnergyUnit.TeraelectronVolt);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double Terajoules => As(EnergyUnit.Terajoule);
+
///
/// Gets a value of this quantity converted into
///
@@ -431,12 +441,24 @@ public Energy(double value, EnergyUnit unit)
/// If value is NaN or Infinity.
public static Energy FromMillijoules(double millijoules) => new Energy(millijoules, EnergyUnit.Millijoule);
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ public static Energy FromPetajoules(double petajoules) => new Energy(petajoules, EnergyUnit.Petajoule);
+
///
/// Creates a from .
///
/// If value is NaN or Infinity.
public static Energy FromTeraelectronVolts(double teraelectronvolts) => new Energy(teraelectronvolts, EnergyUnit.TeraelectronVolt);
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ public static Energy FromTerajoules(double terajoules) => new Energy(terajoules, EnergyUnit.Terajoule);
+
///
/// Creates a from .
///
@@ -547,7 +569,9 @@ private double GetValueInBaseUnit()
EnergyUnit.MegawattDay => (_value * 24 * 3600d) * 1e6d,
EnergyUnit.MegawattHour => (_value * 3600d) * 1e6d,
EnergyUnit.Millijoule => (_value) * 1e-3d,
+ EnergyUnit.Petajoule => (_value) * 1e15d,
EnergyUnit.TeraelectronVolt => (_value * 1.602176565e-19) * 1e12d,
+ EnergyUnit.Terajoule => (_value) * 1e12d,
EnergyUnit.TerawattDay => (_value * 24 * 3600d) * 1e12d,
EnergyUnit.TerawattHour => (_value * 3600d) * 1e12d,
EnergyUnit.ThermEc => _value * 1.05505585262e8,
@@ -596,7 +620,9 @@ private double GetValueAs(EnergyUnit unit)
EnergyUnit.MegawattDay => (baseUnitValue / (24 * 3600d)) / 1e6d,
EnergyUnit.MegawattHour => (baseUnitValue / 3600d) / 1e6d,
EnergyUnit.Millijoule => (baseUnitValue) / 1e-3d,
+ EnergyUnit.Petajoule => (baseUnitValue) / 1e15d,
EnergyUnit.TeraelectronVolt => (baseUnitValue / 1.602176565e-19) / 1e12d,
+ EnergyUnit.Terajoule => (baseUnitValue) / 1e12d,
EnergyUnit.TerawattDay => (baseUnitValue / (24 * 3600d)) / 1e12d,
EnergyUnit.TerawattHour => (baseUnitValue / 3600d) / 1e12d,
EnergyUnit.ThermEc => baseUnitValue / 1.05505585262e8,
diff --git a/UnitsNet.NanoFramework/GeneratedCode/Units/EnergyUnit.g.cs b/UnitsNet.NanoFramework/GeneratedCode/Units/EnergyUnit.g.cs
index 12e8485419..c456440c83 100644
--- a/UnitsNet.NanoFramework/GeneratedCode/Units/EnergyUnit.g.cs
+++ b/UnitsNet.NanoFramework/GeneratedCode/Units/EnergyUnit.g.cs
@@ -54,7 +54,9 @@ public enum EnergyUnit
MegawattDay = 26,
MegawattHour = 27,
Millijoule = 28,
+ Petajoule = 43,
TeraelectronVolt = 29,
+ Terajoule = 37,
TerawattDay = 30,
TerawattHour = 31,
ThermEc = 32,
diff --git a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToEnergyExtensionsTest.g.cs b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToEnergyExtensionsTest.g.cs
index f733f1fed0..f2c630af4a 100644
--- a/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToEnergyExtensionsTest.g.cs
+++ b/UnitsNet.NumberExtensions.Tests/GeneratedCode/NumberToEnergyExtensionsTest.g.cs
@@ -136,10 +136,18 @@ public void NumberToMegawattHoursTest() =>
public void NumberToMillijoulesTest() =>
Assert.Equal(Energy.FromMillijoules(2), 2.Millijoules());
+ [Fact]
+ public void NumberToPetajoulesTest() =>
+ Assert.Equal(Energy.FromPetajoules(2), 2.Petajoules());
+
[Fact]
public void NumberToTeraelectronVoltsTest() =>
Assert.Equal(Energy.FromTeraelectronVolts(2), 2.TeraelectronVolts());
+ [Fact]
+ public void NumberToTerajoulesTest() =>
+ Assert.Equal(Energy.FromTerajoules(2), 2.Terajoules());
+
[Fact]
public void NumberToTerawattDaysTest() =>
Assert.Equal(Energy.FromTerawattDays(2), 2.TerawattDays());
diff --git a/UnitsNet.NumberExtensions/GeneratedCode/NumberToEnergyExtensions.g.cs b/UnitsNet.NumberExtensions/GeneratedCode/NumberToEnergyExtensions.g.cs
index cbe470d1c0..947cf780c2 100644
--- a/UnitsNet.NumberExtensions/GeneratedCode/NumberToEnergyExtensions.g.cs
+++ b/UnitsNet.NumberExtensions/GeneratedCode/NumberToEnergyExtensions.g.cs
@@ -140,10 +140,18 @@ public static Energy MegawattHours(this T value) =>
public static Energy Millijoules(this T value) =>
Energy.FromMillijoules(Convert.ToDouble(value));
+ ///
+ public static Energy Petajoules(this T value) =>
+ Energy.FromPetajoules(Convert.ToDouble(value));
+
///
public static Energy TeraelectronVolts(this T value) =>
Energy.FromTeraelectronVolts(Convert.ToDouble(value));
+ ///
+ public static Energy Terajoules(this T value) =>
+ Energy.FromTerajoules(Convert.ToDouble(value));
+
///
public static Energy TerawattDays(this T value) =>
Energy.FromTerawattDays(Convert.ToDouble(value));
diff --git a/UnitsNet.Tests/CustomCode/EnergyTests.cs b/UnitsNet.Tests/CustomCode/EnergyTests.cs
index b4118b4eeb..35dd6595f9 100644
--- a/UnitsNet.Tests/CustomCode/EnergyTests.cs
+++ b/UnitsNet.Tests/CustomCode/EnergyTests.cs
@@ -24,6 +24,10 @@ public class EnergyTests : EnergyTestsBase
protected override double MegajoulesInOneJoule => 1E-6;
+ protected override double TerajoulesInOneJoule => 1E-12;
+
+ protected override double PetajoulesInOneJoule => 1E-15;
+
protected override double BritishThermalUnitsInOneJoule => 0.00094781712;
protected override double CaloriesInOneJoule => 0.239005736;
diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/EnergyTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/EnergyTestsBase.g.cs
index ee1fcc6e06..2584167b07 100644
--- a/UnitsNet.Tests/GeneratedCode/TestsBase/EnergyTestsBase.g.cs
+++ b/UnitsNet.Tests/GeneratedCode/TestsBase/EnergyTestsBase.g.cs
@@ -66,7 +66,9 @@ public abstract partial class EnergyTestsBase : QuantityTestsBase
protected abstract double MegawattDaysInOneJoule { get; }
protected abstract double MegawattHoursInOneJoule { get; }
protected abstract double MillijoulesInOneJoule { get; }
+ protected abstract double PetajoulesInOneJoule { get; }
protected abstract double TeraelectronVoltsInOneJoule { get; }
+ protected abstract double TerajoulesInOneJoule { get; }
protected abstract double TerawattDaysInOneJoule { get; }
protected abstract double TerawattHoursInOneJoule { get; }
protected abstract double ThermsEcInOneJoule { get; }
@@ -104,7 +106,9 @@ public abstract partial class EnergyTestsBase : QuantityTestsBase
protected virtual double MegawattDaysTolerance { get { return 1e-5; } }
protected virtual double MegawattHoursTolerance { get { return 1e-5; } }
protected virtual double MillijoulesTolerance { get { return 1e-5; } }
+ protected virtual double PetajoulesTolerance { get { return 1e-5; } }
protected virtual double TeraelectronVoltsTolerance { get { return 1e-5; } }
+ protected virtual double TerajoulesTolerance { get { return 1e-5; } }
protected virtual double TerawattDaysTolerance { get { return 1e-5; } }
protected virtual double TerawattHoursTolerance { get { return 1e-5; } }
protected virtual double ThermsEcTolerance { get { return 1e-5; } }
@@ -146,7 +150,9 @@ public abstract partial class EnergyTestsBase : QuantityTestsBase
EnergyUnit.MegawattDay => (MegawattDaysInOneJoule, MegawattDaysTolerance),
EnergyUnit.MegawattHour => (MegawattHoursInOneJoule, MegawattHoursTolerance),
EnergyUnit.Millijoule => (MillijoulesInOneJoule, MillijoulesTolerance),
+ EnergyUnit.Petajoule => (PetajoulesInOneJoule, PetajoulesTolerance),
EnergyUnit.TeraelectronVolt => (TeraelectronVoltsInOneJoule, TeraelectronVoltsTolerance),
+ EnergyUnit.Terajoule => (TerajoulesInOneJoule, TerajoulesTolerance),
EnergyUnit.TerawattDay => (TerawattDaysInOneJoule, TerawattDaysTolerance),
EnergyUnit.TerawattHour => (TerawattHoursInOneJoule, TerawattHoursTolerance),
EnergyUnit.ThermEc => (ThermsEcInOneJoule, ThermsEcTolerance),
@@ -188,7 +194,9 @@ public abstract partial class EnergyTestsBase : QuantityTestsBase
new object[] { EnergyUnit.MegawattDay },
new object[] { EnergyUnit.MegawattHour },
new object[] { EnergyUnit.Millijoule },
+ new object[] { EnergyUnit.Petajoule },
new object[] { EnergyUnit.TeraelectronVolt },
+ new object[] { EnergyUnit.Terajoule },
new object[] { EnergyUnit.TerawattDay },
new object[] { EnergyUnit.TerawattHour },
new object[] { EnergyUnit.ThermEc },
@@ -298,7 +306,9 @@ public void JouleToEnergyUnits()
AssertEx.EqualTolerance(MegawattDaysInOneJoule, joule.MegawattDays, MegawattDaysTolerance);
AssertEx.EqualTolerance(MegawattHoursInOneJoule, joule.MegawattHours, MegawattHoursTolerance);
AssertEx.EqualTolerance(MillijoulesInOneJoule, joule.Millijoules, MillijoulesTolerance);
+ AssertEx.EqualTolerance(PetajoulesInOneJoule, joule.Petajoules, PetajoulesTolerance);
AssertEx.EqualTolerance(TeraelectronVoltsInOneJoule, joule.TeraelectronVolts, TeraelectronVoltsTolerance);
+ AssertEx.EqualTolerance(TerajoulesInOneJoule, joule.Terajoules, TerajoulesTolerance);
AssertEx.EqualTolerance(TerawattDaysInOneJoule, joule.TerawattDays, TerawattDaysTolerance);
AssertEx.EqualTolerance(TerawattHoursInOneJoule, joule.TerawattHours, TerawattHoursTolerance);
AssertEx.EqualTolerance(ThermsEcInOneJoule, joule.ThermsEc, ThermsEcTolerance);
@@ -423,37 +433,45 @@ public void From_ValueAndUnit_ReturnsQuantityWithSameValueAndUnit()
AssertEx.EqualTolerance(1, quantity27.Millijoules, MillijoulesTolerance);
Assert.Equal(EnergyUnit.Millijoule, quantity27.Unit);
- var quantity28 = Energy.From(1, EnergyUnit.TeraelectronVolt);
- AssertEx.EqualTolerance(1, quantity28.TeraelectronVolts, TeraelectronVoltsTolerance);
- Assert.Equal(EnergyUnit.TeraelectronVolt, quantity28.Unit);
+ var quantity28 = Energy.From(1, EnergyUnit.Petajoule);
+ AssertEx.EqualTolerance(1, quantity28.Petajoules, PetajoulesTolerance);
+ Assert.Equal(EnergyUnit.Petajoule, quantity28.Unit);
- var quantity29 = Energy.From(1, EnergyUnit.TerawattDay);
- AssertEx.EqualTolerance(1, quantity29.TerawattDays, TerawattDaysTolerance);
- Assert.Equal(EnergyUnit.TerawattDay, quantity29.Unit);
+ var quantity29 = Energy.From(1, EnergyUnit.TeraelectronVolt);
+ AssertEx.EqualTolerance(1, quantity29.TeraelectronVolts, TeraelectronVoltsTolerance);
+ Assert.Equal(EnergyUnit.TeraelectronVolt, quantity29.Unit);
- var quantity30 = Energy.From(1, EnergyUnit.TerawattHour);
- AssertEx.EqualTolerance(1, quantity30.TerawattHours, TerawattHoursTolerance);
- Assert.Equal(EnergyUnit.TerawattHour, quantity30.Unit);
+ var quantity30 = Energy.From(1, EnergyUnit.Terajoule);
+ AssertEx.EqualTolerance(1, quantity30.Terajoules, TerajoulesTolerance);
+ Assert.Equal(EnergyUnit.Terajoule, quantity30.Unit);
- var quantity31 = Energy.From(1, EnergyUnit.ThermEc);
- AssertEx.EqualTolerance(1, quantity31.ThermsEc, ThermsEcTolerance);
- Assert.Equal(EnergyUnit.ThermEc, quantity31.Unit);
+ var quantity31 = Energy.From(1, EnergyUnit.TerawattDay);
+ AssertEx.EqualTolerance(1, quantity31.TerawattDays, TerawattDaysTolerance);
+ Assert.Equal(EnergyUnit.TerawattDay, quantity31.Unit);
- var quantity32 = Energy.From(1, EnergyUnit.ThermImperial);
- AssertEx.EqualTolerance(1, quantity32.ThermsImperial, ThermsImperialTolerance);
- Assert.Equal(EnergyUnit.ThermImperial, quantity32.Unit);
+ var quantity32 = Energy.From(1, EnergyUnit.TerawattHour);
+ AssertEx.EqualTolerance(1, quantity32.TerawattHours, TerawattHoursTolerance);
+ Assert.Equal(EnergyUnit.TerawattHour, quantity32.Unit);
- var quantity33 = Energy.From(1, EnergyUnit.ThermUs);
- AssertEx.EqualTolerance(1, quantity33.ThermsUs, ThermsUsTolerance);
- Assert.Equal(EnergyUnit.ThermUs, quantity33.Unit);
+ var quantity33 = Energy.From(1, EnergyUnit.ThermEc);
+ AssertEx.EqualTolerance(1, quantity33.ThermsEc, ThermsEcTolerance);
+ Assert.Equal(EnergyUnit.ThermEc, quantity33.Unit);
- var quantity34 = Energy.From(1, EnergyUnit.WattDay);
- AssertEx.EqualTolerance(1, quantity34.WattDays, WattDaysTolerance);
- Assert.Equal(EnergyUnit.WattDay, quantity34.Unit);
+ var quantity34 = Energy.From(1, EnergyUnit.ThermImperial);
+ AssertEx.EqualTolerance(1, quantity34.ThermsImperial, ThermsImperialTolerance);
+ Assert.Equal(EnergyUnit.ThermImperial, quantity34.Unit);
- var quantity35 = Energy.From(1, EnergyUnit.WattHour);
- AssertEx.EqualTolerance(1, quantity35.WattHours, WattHoursTolerance);
- Assert.Equal(EnergyUnit.WattHour, quantity35.Unit);
+ var quantity35 = Energy.From(1, EnergyUnit.ThermUs);
+ AssertEx.EqualTolerance(1, quantity35.ThermsUs, ThermsUsTolerance);
+ Assert.Equal(EnergyUnit.ThermUs, quantity35.Unit);
+
+ var quantity36 = Energy.From(1, EnergyUnit.WattDay);
+ AssertEx.EqualTolerance(1, quantity36.WattDays, WattDaysTolerance);
+ Assert.Equal(EnergyUnit.WattDay, quantity36.Unit);
+
+ var quantity37 = Energy.From(1, EnergyUnit.WattHour);
+ AssertEx.EqualTolerance(1, quantity37.WattHours, WattHoursTolerance);
+ Assert.Equal(EnergyUnit.WattHour, quantity37.Unit);
}
@@ -502,7 +520,9 @@ public void As()
AssertEx.EqualTolerance(MegawattDaysInOneJoule, joule.As(EnergyUnit.MegawattDay), MegawattDaysTolerance);
AssertEx.EqualTolerance(MegawattHoursInOneJoule, joule.As(EnergyUnit.MegawattHour), MegawattHoursTolerance);
AssertEx.EqualTolerance(MillijoulesInOneJoule, joule.As(EnergyUnit.Millijoule), MillijoulesTolerance);
+ AssertEx.EqualTolerance(PetajoulesInOneJoule, joule.As(EnergyUnit.Petajoule), PetajoulesTolerance);
AssertEx.EqualTolerance(TeraelectronVoltsInOneJoule, joule.As(EnergyUnit.TeraelectronVolt), TeraelectronVoltsTolerance);
+ AssertEx.EqualTolerance(TerajoulesInOneJoule, joule.As(EnergyUnit.Terajoule), TerajoulesTolerance);
AssertEx.EqualTolerance(TerawattDaysInOneJoule, joule.As(EnergyUnit.TerawattDay), TerawattDaysTolerance);
AssertEx.EqualTolerance(TerawattHoursInOneJoule, joule.As(EnergyUnit.TerawattHour), TerawattHoursTolerance);
AssertEx.EqualTolerance(ThermsEcInOneJoule, joule.As(EnergyUnit.ThermEc), ThermsEcTolerance);
@@ -819,6 +839,13 @@ public void Parse()
Assert.Equal(EnergyUnit.Millijoule, parsed.Unit);
} catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+ try
+ {
+ var parsed = Energy.Parse("1 PJ", CultureInfo.GetCultureInfo("en-US"));
+ AssertEx.EqualTolerance(1, parsed.Petajoules, PetajoulesTolerance);
+ Assert.Equal(EnergyUnit.Petajoule, parsed.Unit);
+ } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+
try
{
var parsed = Energy.Parse("1 TeV", CultureInfo.GetCultureInfo("en-US"));
@@ -833,6 +860,13 @@ public void Parse()
Assert.Equal(EnergyUnit.TeraelectronVolt, parsed.Unit);
} catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+ try
+ {
+ var parsed = Energy.Parse("1 TJ", CultureInfo.GetCultureInfo("en-US"));
+ AssertEx.EqualTolerance(1, parsed.Terajoules, TerajoulesTolerance);
+ Assert.Equal(EnergyUnit.Terajoule, parsed.Unit);
+ } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+
try
{
var parsed = Energy.Parse("1 TWd", CultureInfo.GetCultureInfo("en-US"));
@@ -1170,6 +1204,12 @@ public void TryParse()
Assert.Equal(EnergyUnit.MegawattHour, parsed.Unit);
}
+ {
+ Assert.True(Energy.TryParse("1 PJ", CultureInfo.GetCultureInfo("en-US"), out var parsed));
+ AssertEx.EqualTolerance(1, parsed.Petajoules, PetajoulesTolerance);
+ Assert.Equal(EnergyUnit.Petajoule, parsed.Unit);
+ }
+
{
Assert.True(Energy.TryParse("1 TeV", CultureInfo.GetCultureInfo("en-US"), out var parsed));
AssertEx.EqualTolerance(1, parsed.TeraelectronVolts, TeraelectronVoltsTolerance);
@@ -1182,6 +1222,12 @@ public void TryParse()
Assert.Equal(EnergyUnit.TeraelectronVolt, parsed.Unit);
}
+ {
+ Assert.True(Energy.TryParse("1 TJ", CultureInfo.GetCultureInfo("en-US"), out var parsed));
+ AssertEx.EqualTolerance(1, parsed.Terajoules, TerajoulesTolerance);
+ Assert.Equal(EnergyUnit.Terajoule, parsed.Unit);
+ }
+
{
Assert.True(Energy.TryParse("1 TWd", CultureInfo.GetCultureInfo("en-US"), out var parsed));
AssertEx.EqualTolerance(1, parsed.TerawattDays, TerawattDaysTolerance);
@@ -1517,6 +1563,12 @@ public void ParseUnit()
Assert.Equal(EnergyUnit.Millijoule, parsedUnit);
} catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+ try
+ {
+ var parsedUnit = Energy.ParseUnit("PJ", CultureInfo.GetCultureInfo("en-US"));
+ Assert.Equal(EnergyUnit.Petajoule, parsedUnit);
+ } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+
try
{
var parsedUnit = Energy.ParseUnit("TeV", CultureInfo.GetCultureInfo("en-US"));
@@ -1529,6 +1581,12 @@ public void ParseUnit()
Assert.Equal(EnergyUnit.TeraelectronVolt, parsedUnit);
} catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+ try
+ {
+ var parsedUnit = Energy.ParseUnit("TJ", CultureInfo.GetCultureInfo("en-US"));
+ Assert.Equal(EnergyUnit.Terajoule, parsedUnit);
+ } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ }
+
try
{
var parsedUnit = Energy.ParseUnit("TWd", CultureInfo.GetCultureInfo("en-US"));
@@ -1813,6 +1871,11 @@ public void TryParseUnit()
Assert.Equal(EnergyUnit.MegawattHour, parsedUnit);
}
+ {
+ Assert.True(Energy.TryParseUnit("PJ", CultureInfo.GetCultureInfo("en-US"), out var parsedUnit));
+ Assert.Equal(EnergyUnit.Petajoule, parsedUnit);
+ }
+
{
Assert.True(Energy.TryParseUnit("TeV", CultureInfo.GetCultureInfo("en-US"), out var parsedUnit));
Assert.Equal(EnergyUnit.TeraelectronVolt, parsedUnit);
@@ -1823,6 +1886,11 @@ public void TryParseUnit()
Assert.Equal(EnergyUnit.TeraelectronVolt, parsedUnit);
}
+ {
+ Assert.True(Energy.TryParseUnit("TJ", CultureInfo.GetCultureInfo("en-US"), out var parsedUnit));
+ Assert.Equal(EnergyUnit.Terajoule, parsedUnit);
+ }
+
{
Assert.True(Energy.TryParseUnit("TWd", CultureInfo.GetCultureInfo("en-US"), out var parsedUnit));
Assert.Equal(EnergyUnit.TerawattDay, parsedUnit);
@@ -1973,7 +2041,9 @@ public void ConversionRoundTrip()
AssertEx.EqualTolerance(1, Energy.FromMegawattDays(joule.MegawattDays).Joules, MegawattDaysTolerance);
AssertEx.EqualTolerance(1, Energy.FromMegawattHours(joule.MegawattHours).Joules, MegawattHoursTolerance);
AssertEx.EqualTolerance(1, Energy.FromMillijoules(joule.Millijoules).Joules, MillijoulesTolerance);
+ AssertEx.EqualTolerance(1, Energy.FromPetajoules(joule.Petajoules).Joules, PetajoulesTolerance);
AssertEx.EqualTolerance(1, Energy.FromTeraelectronVolts(joule.TeraelectronVolts).Joules, TeraelectronVoltsTolerance);
+ AssertEx.EqualTolerance(1, Energy.FromTerajoules(joule.Terajoules).Joules, TerajoulesTolerance);
AssertEx.EqualTolerance(1, Energy.FromTerawattDays(joule.TerawattDays).Joules, TerawattDaysTolerance);
AssertEx.EqualTolerance(1, Energy.FromTerawattHours(joule.TerawattHours).Joules, TerawattHoursTolerance);
AssertEx.EqualTolerance(1, Energy.FromThermsEc(joule.ThermsEc).Joules, ThermsEcTolerance);
@@ -2167,7 +2237,9 @@ public void ToString_ReturnsValueAndUnitAbbreviationInCurrentCulture()
Assert.Equal("1 MWd", new Energy(1, EnergyUnit.MegawattDay).ToString());
Assert.Equal("1 MWh", new Energy(1, EnergyUnit.MegawattHour).ToString());
Assert.Equal("1 mJ", new Energy(1, EnergyUnit.Millijoule).ToString());
+ Assert.Equal("1 PJ", new Energy(1, EnergyUnit.Petajoule).ToString());
Assert.Equal("1 TeV", new Energy(1, EnergyUnit.TeraelectronVolt).ToString());
+ Assert.Equal("1 TJ", new Energy(1, EnergyUnit.Terajoule).ToString());
Assert.Equal("1 TWd", new Energy(1, EnergyUnit.TerawattDay).ToString());
Assert.Equal("1 TWh", new Energy(1, EnergyUnit.TerawattHour).ToString());
Assert.Equal("1 th (E.C.)", new Energy(1, EnergyUnit.ThermEc).ToString());
@@ -2216,7 +2288,9 @@ public void ToString_WithSwedishCulture_ReturnsUnitAbbreviationForEnglishCulture
Assert.Equal("1 MWd", new Energy(1, EnergyUnit.MegawattDay).ToString(swedishCulture));
Assert.Equal("1 MWh", new Energy(1, EnergyUnit.MegawattHour).ToString(swedishCulture));
Assert.Equal("1 mJ", new Energy(1, EnergyUnit.Millijoule).ToString(swedishCulture));
+ Assert.Equal("1 PJ", new Energy(1, EnergyUnit.Petajoule).ToString(swedishCulture));
Assert.Equal("1 TeV", new Energy(1, EnergyUnit.TeraelectronVolt).ToString(swedishCulture));
+ Assert.Equal("1 TJ", new Energy(1, EnergyUnit.Terajoule).ToString(swedishCulture));
Assert.Equal("1 TWd", new Energy(1, EnergyUnit.TerawattDay).ToString(swedishCulture));
Assert.Equal("1 TWh", new Energy(1, EnergyUnit.TerawattHour).ToString(swedishCulture));
Assert.Equal("1 th (E.C.)", new Energy(1, EnergyUnit.ThermEc).ToString(swedishCulture));
diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Energy.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Energy.g.cs
index 4d0172bcd3..c39a0f6701 100644
--- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Energy.g.cs
+++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Energy.g.cs
@@ -303,11 +303,21 @@ private Energy(double value, EnergyUnit unit)
///
public double Millijoules => As(EnergyUnit.Millijoule);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double Petajoules => As(EnergyUnit.Petajoule);
+
///
/// Gets a value of this quantity converted into
///
public double TeraelectronVolts => As(EnergyUnit.TeraelectronVolt);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double Terajoules => As(EnergyUnit.Terajoule);
+
///
/// Gets a value of this quantity converted into
///
@@ -390,8 +400,10 @@ internal static void MapGeneratedLocalizations(UnitAbbreviationsCache unitAbbrev
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.MegawattHour, new CultureInfo("en-US"), false, true, new string[]{"MWh"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.MegawattHour, new CultureInfo("ru-RU"), false, true, new string[]{"МВт/ч"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.Millijoule, new CultureInfo("en-US"), false, true, new string[]{"mJ"});
+ unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.Petajoule, new CultureInfo("en-US"), false, true, new string[]{"PJ"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TeraelectronVolt, new CultureInfo("en-US"), false, true, new string[]{"TeV"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TeraelectronVolt, new CultureInfo("ru-RU"), false, true, new string[]{"ТэВ"});
+ unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.Terajoule, new CultureInfo("en-US"), false, true, new string[]{"TJ"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TerawattDay, new CultureInfo("en-US"), false, true, new string[]{"TWd"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TerawattDay, new CultureInfo("ru-RU"), false, true, new string[]{"ТВт/д"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TerawattHour, new CultureInfo("en-US"), false, true, new string[]{"TWh"});
@@ -742,6 +754,17 @@ public static Energy FromMillijoules(double millijoules)
return new Energy(value, EnergyUnit.Millijoule);
}
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ [Windows.Foundation.Metadata.DefaultOverload]
+ public static Energy FromPetajoules(double petajoules)
+ {
+ double value = (double) petajoules;
+ return new Energy(value, EnergyUnit.Petajoule);
+ }
+
///
/// Creates a from .
///
@@ -753,6 +776,17 @@ public static Energy FromTeraelectronVolts(double teraelectronvolts)
return new Energy(value, EnergyUnit.TeraelectronVolt);
}
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ [Windows.Foundation.Metadata.DefaultOverload]
+ public static Energy FromTerajoules(double terajoules)
+ {
+ double value = (double) terajoules;
+ return new Energy(value, EnergyUnit.Terajoule);
+ }
+
///
/// Creates a from .
///
@@ -1148,7 +1182,9 @@ private double AsBaseUnit()
case EnergyUnit.MegawattDay: return (_value * 24 * 3600d) * 1e6d;
case EnergyUnit.MegawattHour: return (_value * 3600d) * 1e6d;
case EnergyUnit.Millijoule: return (_value) * 1e-3d;
+ case EnergyUnit.Petajoule: return (_value) * 1e15d;
case EnergyUnit.TeraelectronVolt: return (_value * 1.602176565e-19) * 1e12d;
+ case EnergyUnit.Terajoule: return (_value) * 1e12d;
case EnergyUnit.TerawattDay: return (_value * 24 * 3600d) * 1e12d;
case EnergyUnit.TerawattHour: return (_value * 3600d) * 1e12d;
case EnergyUnit.ThermEc: return _value * 1.05505585262e8;
@@ -1198,7 +1234,9 @@ private double AsBaseNumericType(EnergyUnit unit)
case EnergyUnit.MegawattDay: return (baseUnitValue / (24 * 3600d)) / 1e6d;
case EnergyUnit.MegawattHour: return (baseUnitValue / 3600d) / 1e6d;
case EnergyUnit.Millijoule: return (baseUnitValue) / 1e-3d;
+ case EnergyUnit.Petajoule: return (baseUnitValue) / 1e15d;
case EnergyUnit.TeraelectronVolt: return (baseUnitValue / 1.602176565e-19) / 1e12d;
+ case EnergyUnit.Terajoule: return (baseUnitValue) / 1e12d;
case EnergyUnit.TerawattDay: return (baseUnitValue / (24 * 3600d)) / 1e12d;
case EnergyUnit.TerawattHour: return (baseUnitValue / 3600d) / 1e12d;
case EnergyUnit.ThermEc: return baseUnitValue / 1.05505585262e8;
diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/EnergyUnit.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/EnergyUnit.g.cs
index f0fb9bb49d..4b75a4e096 100644
--- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/EnergyUnit.g.cs
+++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/EnergyUnit.g.cs
@@ -54,7 +54,9 @@ public enum EnergyUnit
MegawattDay,
MegawattHour,
Millijoule,
+ Petajoule,
TeraelectronVolt,
+ Terajoule,
TerawattDay,
TerawattHour,
ThermEc,
diff --git a/UnitsNet/GeneratedCode/Quantities/Energy.g.cs b/UnitsNet/GeneratedCode/Quantities/Energy.g.cs
index f57d1e32e5..c7a6d020cb 100644
--- a/UnitsNet/GeneratedCode/Quantities/Energy.g.cs
+++ b/UnitsNet/GeneratedCode/Quantities/Energy.g.cs
@@ -90,7 +90,9 @@ static Energy()
new UnitInfo(EnergyUnit.MegawattDay, "MegawattDays", BaseUnits.Undefined),
new UnitInfo(EnergyUnit.MegawattHour, "MegawattHours", BaseUnits.Undefined),
new UnitInfo(EnergyUnit.Millijoule, "Millijoules", BaseUnits.Undefined),
+ new UnitInfo(EnergyUnit.Petajoule, "Petajoules", BaseUnits.Undefined),
new UnitInfo(EnergyUnit.TeraelectronVolt, "TeraelectronVolts", BaseUnits.Undefined),
+ new UnitInfo(EnergyUnit.Terajoule, "Terajoules", BaseUnits.Undefined),
new UnitInfo(EnergyUnit.TerawattDay, "TerawattDays", BaseUnits.Undefined),
new UnitInfo(EnergyUnit.TerawattHour, "TerawattHours", BaseUnits.Undefined),
new UnitInfo(EnergyUnit.ThermEc, "ThermsEc", BaseUnits.Undefined),
@@ -362,11 +364,21 @@ public Energy(double value, UnitSystem unitSystem)
///
public double Millijoules => As(EnergyUnit.Millijoule);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double Petajoules => As(EnergyUnit.Petajoule);
+
///
/// Gets a value of this quantity converted into
///
public double TeraelectronVolts => As(EnergyUnit.TeraelectronVolt);
+ ///
+ /// Gets a value of this quantity converted into
+ ///
+ public double Terajoules => As(EnergyUnit.Terajoule);
+
///
/// Gets a value of this quantity converted into
///
@@ -440,7 +452,9 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter)
unitConverter.SetConversionFunction(EnergyUnit.MegawattDay, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
unitConverter.SetConversionFunction(EnergyUnit.MegawattHour, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
unitConverter.SetConversionFunction(EnergyUnit.Millijoule, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
+ unitConverter.SetConversionFunction(EnergyUnit.Petajoule, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
unitConverter.SetConversionFunction(EnergyUnit.TeraelectronVolt, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
+ unitConverter.SetConversionFunction(EnergyUnit.Terajoule, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
unitConverter.SetConversionFunction(EnergyUnit.TerawattDay, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
unitConverter.SetConversionFunction(EnergyUnit.TerawattHour, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
unitConverter.SetConversionFunction(EnergyUnit.ThermEc, EnergyUnit.Joule, quantity => quantity.ToUnit(EnergyUnit.Joule));
@@ -480,7 +494,9 @@ internal static void RegisterDefaultConversions(UnitConverter unitConverter)
unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.MegawattDay, quantity => quantity.ToUnit(EnergyUnit.MegawattDay));
unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.MegawattHour, quantity => quantity.ToUnit(EnergyUnit.MegawattHour));
unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.Millijoule, quantity => quantity.ToUnit(EnergyUnit.Millijoule));
+ unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.Petajoule, quantity => quantity.ToUnit(EnergyUnit.Petajoule));
unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.TeraelectronVolt, quantity => quantity.ToUnit(EnergyUnit.TeraelectronVolt));
+ unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.Terajoule, quantity => quantity.ToUnit(EnergyUnit.Terajoule));
unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.TerawattDay, quantity => quantity.ToUnit(EnergyUnit.TerawattDay));
unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.TerawattHour, quantity => quantity.ToUnit(EnergyUnit.TerawattHour));
unitConverter.SetConversionFunction(EnergyUnit.Joule, EnergyUnit.ThermEc, quantity => quantity.ToUnit(EnergyUnit.ThermEc));
@@ -533,8 +549,10 @@ internal static void MapGeneratedLocalizations(UnitAbbreviationsCache unitAbbrev
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.MegawattHour, new CultureInfo("en-US"), false, true, new string[]{"MWh"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.MegawattHour, new CultureInfo("ru-RU"), false, true, new string[]{"МВт/ч"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.Millijoule, new CultureInfo("en-US"), false, true, new string[]{"mJ"});
+ unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.Petajoule, new CultureInfo("en-US"), false, true, new string[]{"PJ"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TeraelectronVolt, new CultureInfo("en-US"), false, true, new string[]{"TeV"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TeraelectronVolt, new CultureInfo("ru-RU"), false, true, new string[]{"ТэВ"});
+ unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.Terajoule, new CultureInfo("en-US"), false, true, new string[]{"TJ"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TerawattDay, new CultureInfo("en-US"), false, true, new string[]{"TWd"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TerawattDay, new CultureInfo("ru-RU"), false, true, new string[]{"ТВт/д"});
unitAbbreviationsCache.PerformAbbreviationMapping(EnergyUnit.TerawattHour, new CultureInfo("en-US"), false, true, new string[]{"TWh"});
@@ -856,6 +874,16 @@ public static Energy FromMillijoules(QuantityValue millijoules)
return new Energy(value, EnergyUnit.Millijoule);
}
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ public static Energy FromPetajoules(QuantityValue petajoules)
+ {
+ double value = (double) petajoules;
+ return new Energy(value, EnergyUnit.Petajoule);
+ }
+
///
/// Creates a from .
///
@@ -866,6 +894,16 @@ public static Energy FromTeraelectronVolts(QuantityValue teraelectronvolts)
return new Energy(value, EnergyUnit.TeraelectronVolt);
}
+ ///
+ /// Creates a from .
+ ///
+ /// If value is NaN or Infinity.
+ public static Energy FromTerajoules(QuantityValue terajoules)
+ {
+ double value = (double) terajoules;
+ return new Energy(value, EnergyUnit.Terajoule);
+ }
+
///
/// Creates a from .
///
@@ -1397,7 +1435,9 @@ private bool TryToUnit(EnergyUnit unit, out Energy? converted)
(EnergyUnit.MegawattDay, EnergyUnit.Joule) => new Energy((_value * 24 * 3600d) * 1e6d, EnergyUnit.Joule),
(EnergyUnit.MegawattHour, EnergyUnit.Joule) => new Energy((_value * 3600d) * 1e6d, EnergyUnit.Joule),
(EnergyUnit.Millijoule, EnergyUnit.Joule) => new Energy((_value) * 1e-3d, EnergyUnit.Joule),
+ (EnergyUnit.Petajoule, EnergyUnit.Joule) => new Energy((_value) * 1e15d, EnergyUnit.Joule),
(EnergyUnit.TeraelectronVolt, EnergyUnit.Joule) => new Energy((_value * 1.602176565e-19) * 1e12d, EnergyUnit.Joule),
+ (EnergyUnit.Terajoule, EnergyUnit.Joule) => new Energy((_value) * 1e12d, EnergyUnit.Joule),
(EnergyUnit.TerawattDay, EnergyUnit.Joule) => new Energy((_value * 24 * 3600d) * 1e12d, EnergyUnit.Joule),
(EnergyUnit.TerawattHour, EnergyUnit.Joule) => new Energy((_value * 3600d) * 1e12d, EnergyUnit.Joule),
(EnergyUnit.ThermEc, EnergyUnit.Joule) => new Energy(_value * 1.05505585262e8, EnergyUnit.Joule),
@@ -1434,7 +1474,9 @@ private bool TryToUnit(EnergyUnit unit, out Energy? converted)
(EnergyUnit.Joule, EnergyUnit.MegawattDay) => new Energy((_value / (24 * 3600d)) / 1e6d, EnergyUnit.MegawattDay),
(EnergyUnit.Joule, EnergyUnit.MegawattHour) => new Energy((_value / 3600d) / 1e6d, EnergyUnit.MegawattHour),
(EnergyUnit.Joule, EnergyUnit.Millijoule) => new Energy((_value) / 1e-3d, EnergyUnit.Millijoule),
+ (EnergyUnit.Joule, EnergyUnit.Petajoule) => new Energy((_value) / 1e15d, EnergyUnit.Petajoule),
(EnergyUnit.Joule, EnergyUnit.TeraelectronVolt) => new Energy((_value / 1.602176565e-19) / 1e12d, EnergyUnit.TeraelectronVolt),
+ (EnergyUnit.Joule, EnergyUnit.Terajoule) => new Energy((_value) / 1e12d, EnergyUnit.Terajoule),
(EnergyUnit.Joule, EnergyUnit.TerawattDay) => new Energy((_value / (24 * 3600d)) / 1e12d, EnergyUnit.TerawattDay),
(EnergyUnit.Joule, EnergyUnit.TerawattHour) => new Energy((_value / 3600d) / 1e12d, EnergyUnit.TerawattHour),
(EnergyUnit.Joule, EnergyUnit.ThermEc) => new Energy(_value / 1.05505585262e8, EnergyUnit.ThermEc),
diff --git a/UnitsNet/GeneratedCode/Units/EnergyUnit.g.cs b/UnitsNet/GeneratedCode/Units/EnergyUnit.g.cs
index 12e8485419..c456440c83 100644
--- a/UnitsNet/GeneratedCode/Units/EnergyUnit.g.cs
+++ b/UnitsNet/GeneratedCode/Units/EnergyUnit.g.cs
@@ -54,7 +54,9 @@ public enum EnergyUnit
MegawattDay = 26,
MegawattHour = 27,
Millijoule = 28,
+ Petajoule = 43,
TeraelectronVolt = 29,
+ Terajoule = 37,
TerawattDay = 30,
TerawattHour = 31,
ThermEc = 32,