diff --git a/UnitsNet.Tests/CustomCode/TemperatureChangeRateTests.cs b/UnitsNet.Tests/CustomCode/TemperatureChangeRateTests.cs index 0db244771e..b2692211b8 100644 --- a/UnitsNet.Tests/CustomCode/TemperatureChangeRateTests.cs +++ b/UnitsNet.Tests/CustomCode/TemperatureChangeRateTests.cs @@ -40,5 +40,7 @@ public class TemperatureChangeRateTests : TemperatureChangeRateTestsBase protected override double MicrodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond => 1E6; protected override double NanodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond => 1E9; + + protected override double DegreesCelsiusPerMinuteInOneDegreeCelsiusPerSecond => 60; } } \ No newline at end of file diff --git a/UnitsNet.Tests/GeneratedCode/TemperatureChangeRateTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TemperatureChangeRateTestsBase.g.cs index c45b0cd7ae..a07f8c2aca 100644 --- a/UnitsNet.Tests/GeneratedCode/TemperatureChangeRateTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TemperatureChangeRateTestsBase.g.cs @@ -55,6 +55,7 @@ public abstract partial class TemperatureChangeRateTestsBase protected abstract double CentidegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond { get; } protected abstract double DecadegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond { get; } protected abstract double DecidegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond { get; } + protected abstract double DegreesCelsiusPerMinuteInOneDegreeCelsiusPerSecond { get; } protected abstract double DegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond { get; } protected abstract double HectodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond { get; } protected abstract double KilodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond { get; } @@ -66,6 +67,7 @@ public abstract partial class TemperatureChangeRateTestsBase protected virtual double CentidegreesCelsiusPerSecondTolerance { get { return 1e-5; } } protected virtual double DecadegreesCelsiusPerSecondTolerance { get { return 1e-5; } } protected virtual double DecidegreesCelsiusPerSecondTolerance { get { return 1e-5; } } + protected virtual double DegreesCelsiusPerMinuteTolerance { get { return 1e-5; } } protected virtual double DegreesCelsiusPerSecondTolerance { get { return 1e-5; } } protected virtual double HectodegreesCelsiusPerSecondTolerance { get { return 1e-5; } } protected virtual double KilodegreesCelsiusPerSecondTolerance { get { return 1e-5; } } @@ -81,6 +83,7 @@ public void DegreeCelsiusPerSecondToTemperatureChangeRateUnits() AssertEx.EqualTolerance(CentidegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.CentidegreesCelsiusPerSecond, CentidegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(DecadegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.DecadegreesCelsiusPerSecond, DecadegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(DecidegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.DecidegreesCelsiusPerSecond, DecidegreesCelsiusPerSecondTolerance); + AssertEx.EqualTolerance(DegreesCelsiusPerMinuteInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.DegreesCelsiusPerMinute, DegreesCelsiusPerMinuteTolerance); AssertEx.EqualTolerance(DegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.DegreesCelsiusPerSecond, DegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(HectodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.HectodegreesCelsiusPerSecond, HectodegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(KilodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.KilodegreesCelsiusPerSecond, KilodegreesCelsiusPerSecondTolerance); @@ -95,6 +98,7 @@ public void FromValueAndUnit() AssertEx.EqualTolerance(1, TemperatureChangeRate.From(1, TemperatureChangeRateUnit.CentidegreeCelsiusPerSecond).CentidegreesCelsiusPerSecond, CentidegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.From(1, TemperatureChangeRateUnit.DecadegreeCelsiusPerSecond).DecadegreesCelsiusPerSecond, DecadegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.From(1, TemperatureChangeRateUnit.DecidegreeCelsiusPerSecond).DecidegreesCelsiusPerSecond, DecidegreesCelsiusPerSecondTolerance); + AssertEx.EqualTolerance(1, TemperatureChangeRate.From(1, TemperatureChangeRateUnit.DegreeCelsiusPerMinute).DegreesCelsiusPerMinute, DegreesCelsiusPerMinuteTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.From(1, TemperatureChangeRateUnit.DegreeCelsiusPerSecond).DegreesCelsiusPerSecond, DegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.From(1, TemperatureChangeRateUnit.HectodegreeCelsiusPerSecond).HectodegreesCelsiusPerSecond, HectodegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.From(1, TemperatureChangeRateUnit.KilodegreeCelsiusPerSecond).KilodegreesCelsiusPerSecond, KilodegreesCelsiusPerSecondTolerance); @@ -110,6 +114,7 @@ public void As() AssertEx.EqualTolerance(CentidegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.As(TemperatureChangeRateUnit.CentidegreeCelsiusPerSecond), CentidegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(DecadegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.As(TemperatureChangeRateUnit.DecadegreeCelsiusPerSecond), DecadegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(DecidegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.As(TemperatureChangeRateUnit.DecidegreeCelsiusPerSecond), DecidegreesCelsiusPerSecondTolerance); + AssertEx.EqualTolerance(DegreesCelsiusPerMinuteInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.As(TemperatureChangeRateUnit.DegreeCelsiusPerMinute), DegreesCelsiusPerMinuteTolerance); AssertEx.EqualTolerance(DegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.As(TemperatureChangeRateUnit.DegreeCelsiusPerSecond), DegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(HectodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.As(TemperatureChangeRateUnit.HectodegreeCelsiusPerSecond), HectodegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(KilodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond, degreecelsiuspersecond.As(TemperatureChangeRateUnit.KilodegreeCelsiusPerSecond), KilodegreesCelsiusPerSecondTolerance); @@ -125,6 +130,7 @@ public void ConversionRoundTrip() AssertEx.EqualTolerance(1, TemperatureChangeRate.FromCentidegreesCelsiusPerSecond(degreecelsiuspersecond.CentidegreesCelsiusPerSecond).DegreesCelsiusPerSecond, CentidegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.FromDecadegreesCelsiusPerSecond(degreecelsiuspersecond.DecadegreesCelsiusPerSecond).DegreesCelsiusPerSecond, DecadegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.FromDecidegreesCelsiusPerSecond(degreecelsiuspersecond.DecidegreesCelsiusPerSecond).DegreesCelsiusPerSecond, DecidegreesCelsiusPerSecondTolerance); + AssertEx.EqualTolerance(1, TemperatureChangeRate.FromDegreesCelsiusPerMinute(degreecelsiuspersecond.DegreesCelsiusPerMinute).DegreesCelsiusPerSecond, DegreesCelsiusPerMinuteTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.FromDegreesCelsiusPerSecond(degreecelsiuspersecond.DegreesCelsiusPerSecond).DegreesCelsiusPerSecond, DegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.FromHectodegreesCelsiusPerSecond(degreecelsiuspersecond.HectodegreesCelsiusPerSecond).DegreesCelsiusPerSecond, HectodegreesCelsiusPerSecondTolerance); AssertEx.EqualTolerance(1, TemperatureChangeRate.FromKilodegreesCelsiusPerSecond(degreecelsiuspersecond.KilodegreesCelsiusPerSecond).DegreesCelsiusPerSecond, KilodegreesCelsiusPerSecondTolerance); diff --git a/UnitsNet/GeneratedCode/Enums/TemperatureChangeRateUnit.g.cs b/UnitsNet/GeneratedCode/Enums/TemperatureChangeRateUnit.g.cs index 828cde17c1..610fb2c1cc 100644 --- a/UnitsNet/GeneratedCode/Enums/TemperatureChangeRateUnit.g.cs +++ b/UnitsNet/GeneratedCode/Enums/TemperatureChangeRateUnit.g.cs @@ -45,6 +45,7 @@ public enum TemperatureChangeRateUnit CentidegreeCelsiusPerSecond, DecadegreeCelsiusPerSecond, DecidegreeCelsiusPerSecond, + DegreeCelsiusPerMinute, DegreeCelsiusPerSecond, HectodegreeCelsiusPerSecond, KilodegreeCelsiusPerSecond, diff --git a/UnitsNet/GeneratedCode/Extensions/Number/NumberToTemperatureChangeRateExtensions.g.cs b/UnitsNet/GeneratedCode/Extensions/Number/NumberToTemperatureChangeRateExtensions.g.cs index 8320e1fae8..03c0bf039d 100644 --- a/UnitsNet/GeneratedCode/Extensions/Number/NumberToTemperatureChangeRateExtensions.g.cs +++ b/UnitsNet/GeneratedCode/Extensions/Number/NumberToTemperatureChangeRateExtensions.g.cs @@ -146,6 +146,40 @@ public static class NumberToTemperatureChangeRateExtensions #endregion + #region DegreeCelsiusPerMinute + + /// + public static TemperatureChangeRate DegreesCelsiusPerMinute(this int value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate? DegreesCelsiusPerMinute(this int? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate DegreesCelsiusPerMinute(this long value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate? DegreesCelsiusPerMinute(this long? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate DegreesCelsiusPerMinute(this double value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate? DegreesCelsiusPerMinute(this double? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate DegreesCelsiusPerMinute(this float value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate? DegreesCelsiusPerMinute(this float? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value); + + /// + public static TemperatureChangeRate DegreesCelsiusPerMinute(this decimal value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(Convert.ToDouble(value)); + + /// + public static TemperatureChangeRate? DegreesCelsiusPerMinute(this decimal? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value == null ? (double?)null : Convert.ToDouble(value.Value)); + + #endregion + #region DegreeCelsiusPerSecond /// diff --git a/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs b/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs index 4ef70095fd..235a695a5e 100644 --- a/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs +++ b/UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs @@ -153,6 +153,14 @@ public double DecidegreesCelsiusPerSecond get { return (_degreesCelsiusPerSecond) / 1e-1d; } } + /// + /// Get TemperatureChangeRate in DegreesCelsiusPerMinute. + /// + public double DegreesCelsiusPerMinute + { + get { return _degreesCelsiusPerSecond*60; } + } + /// /// Get TemperatureChangeRate in DegreesCelsiusPerSecond. /// @@ -234,6 +242,14 @@ public static TemperatureChangeRate FromDecidegreesCelsiusPerSecond(double decid return new TemperatureChangeRate((decidegreescelsiuspersecond) * 1e-1d); } + /// + /// Get TemperatureChangeRate from DegreesCelsiusPerMinute. + /// + public static TemperatureChangeRate FromDegreesCelsiusPerMinute(double degreescelsiusperminute) + { + return new TemperatureChangeRate(degreescelsiusperminute/60); + } + /// /// Get TemperatureChangeRate from DegreesCelsiusPerSecond. /// @@ -329,6 +345,21 @@ public static TemperatureChangeRate FromNanodegreesCelsiusPerSecond(double nanod } } + /// + /// Get nullable TemperatureChangeRate from nullable DegreesCelsiusPerMinute. + /// + public static TemperatureChangeRate? FromDegreesCelsiusPerMinute(double? degreescelsiusperminute) + { + if (degreescelsiusperminute.HasValue) + { + return FromDegreesCelsiusPerMinute(degreescelsiusperminute.Value); + } + else + { + return null; + } + } + /// /// Get nullable TemperatureChangeRate from nullable DegreesCelsiusPerSecond. /// @@ -437,6 +468,8 @@ public static TemperatureChangeRate From(double val, TemperatureChangeRateUnit f return FromDecadegreesCelsiusPerSecond(val); case TemperatureChangeRateUnit.DecidegreeCelsiusPerSecond: return FromDecidegreesCelsiusPerSecond(val); + case TemperatureChangeRateUnit.DegreeCelsiusPerMinute: + return FromDegreesCelsiusPerMinute(val); case TemperatureChangeRateUnit.DegreeCelsiusPerSecond: return FromDegreesCelsiusPerSecond(val); case TemperatureChangeRateUnit.HectodegreeCelsiusPerSecond: @@ -477,6 +510,8 @@ public static TemperatureChangeRate From(double val, TemperatureChangeRateUnit f return FromDecadegreesCelsiusPerSecond(value.Value); case TemperatureChangeRateUnit.DecidegreeCelsiusPerSecond: return FromDecidegreesCelsiusPerSecond(value.Value); + case TemperatureChangeRateUnit.DegreeCelsiusPerMinute: + return FromDegreesCelsiusPerMinute(value.Value); case TemperatureChangeRateUnit.DegreeCelsiusPerSecond: return FromDegreesCelsiusPerSecond(value.Value); case TemperatureChangeRateUnit.HectodegreeCelsiusPerSecond: @@ -652,6 +687,8 @@ public double As(TemperatureChangeRateUnit unit) return DecadegreesCelsiusPerSecond; case TemperatureChangeRateUnit.DecidegreeCelsiusPerSecond: return DecidegreesCelsiusPerSecond; + case TemperatureChangeRateUnit.DegreeCelsiusPerMinute: + return DegreesCelsiusPerMinute; case TemperatureChangeRateUnit.DegreeCelsiusPerSecond: return DegreesCelsiusPerSecond; case TemperatureChangeRateUnit.HectodegreeCelsiusPerSecond: diff --git a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs index 9a85995825..b161f4a1c9 100644 --- a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs +++ b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs @@ -2543,6 +2543,11 @@ private static readonly ReadOnlyCollection DefaultLocalization { new AbbreviationsForCulture("en-US", "d°C/s"), }), + new CulturesForEnumValue((int) TemperatureChangeRateUnit.DegreeCelsiusPerMinute, + new[] + { + new AbbreviationsForCulture("en-US", "°C/m"), + }), new CulturesForEnumValue((int) TemperatureChangeRateUnit.DegreeCelsiusPerSecond, new[] { diff --git a/UnitsNet/UnitDefinitions/TemperatureChangeRate.json b/UnitsNet/UnitDefinitions/TemperatureChangeRate.json index 4f96ac4c00..d776922842 100644 --- a/UnitsNet/UnitDefinitions/TemperatureChangeRate.json +++ b/UnitsNet/UnitDefinitions/TemperatureChangeRate.json @@ -15,6 +15,18 @@ "Abbreviations": [ "°C/s" ] } ] + }, + { + "SingularName": "DegreeCelsiusPerMinute", + "PluralName": "DegreesCelsiusPerMinute", + "FromUnitToBaseFunc": "x/60", + "FromBaseToUnitFunc": "x*60", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "°C/m" ] + } + ] } ] } \ No newline at end of file