From df0fd58b9c06a0e1217d92c06472c547ff4fb3e9 Mon Sep 17 00:00:00 2001 From: akasolace Date: Tue, 25 Oct 2022 22:09:56 +0200 Subject: [PATCH] fixes 1142 --- Common/UnitDefinitions/Energy.json | 2 +- Common/UnitEnumValues.g.json | 4 +- .../GeneratedCode/Quantities/Energy.g.cs | 26 ++++ .../GeneratedCode/Units/EnergyUnit.g.cs | 2 + .../NumberToEnergyExtensionsTest.g.cs | 8 ++ .../NumberToEnergyExtensions.g.cs | 8 ++ UnitsNet.Tests/CustomCode/EnergyTests.cs | 4 + .../TestsBase/EnergyTestsBase.g.cs | 122 ++++++++++++++---- .../GeneratedCode/Quantities/Energy.g.cs | 38 ++++++ .../GeneratedCode/Units/EnergyUnit.g.cs | 2 + UnitsNet/GeneratedCode/Quantities/Energy.g.cs | 42 ++++++ UnitsNet/GeneratedCode/Units/EnergyUnit.g.cs | 2 + 12 files changed, 234 insertions(+), 26 deletions(-) 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,