Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions UnitsNet.Tests/CustomCode/TemperatureChangeRateTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,7 @@ public class TemperatureChangeRateTests : TemperatureChangeRateTestsBase
protected override double MicrodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond => 1E6;

protected override double NanodegreesCelsiusPerSecondInOneDegreeCelsiusPerSecond => 1E9;

protected override double DegreesCelsiusPerMinuteInOneDegreeCelsiusPerSecond => 60;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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; }
Expand All @@ -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; } }
Expand All @@ -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);
Expand All @@ -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);
Expand All @@ -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);
Expand All @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public enum TemperatureChangeRateUnit
CentidegreeCelsiusPerSecond,
DecadegreeCelsiusPerSecond,
DecidegreeCelsiusPerSecond,
DegreeCelsiusPerMinute,
DegreeCelsiusPerSecond,
HectodegreeCelsiusPerSecond,
KilodegreeCelsiusPerSecond,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,40 @@ public static class NumberToTemperatureChangeRateExtensions

#endregion

#region DegreeCelsiusPerMinute

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double)"/>
public static TemperatureChangeRate DegreesCelsiusPerMinute(this int value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double?)"/>
public static TemperatureChangeRate? DegreesCelsiusPerMinute(this int? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double)"/>
public static TemperatureChangeRate DegreesCelsiusPerMinute(this long value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double?)"/>
public static TemperatureChangeRate? DegreesCelsiusPerMinute(this long? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double)"/>
public static TemperatureChangeRate DegreesCelsiusPerMinute(this double value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double?)"/>
public static TemperatureChangeRate? DegreesCelsiusPerMinute(this double? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double)"/>
public static TemperatureChangeRate DegreesCelsiusPerMinute(this float value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double?)"/>
public static TemperatureChangeRate? DegreesCelsiusPerMinute(this float? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value);

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double)"/>
public static TemperatureChangeRate DegreesCelsiusPerMinute(this decimal value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(Convert.ToDouble(value));

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerMinute(double?)"/>
public static TemperatureChangeRate? DegreesCelsiusPerMinute(this decimal? value) => TemperatureChangeRate.FromDegreesCelsiusPerMinute(value == null ? (double?)null : Convert.ToDouble(value.Value));

#endregion

#region DegreeCelsiusPerSecond

/// <inheritdoc cref="TemperatureChangeRate.FromDegreesCelsiusPerSecond(double)"/>
Expand Down
37 changes: 37 additions & 0 deletions UnitsNet/GeneratedCode/UnitClasses/TemperatureChangeRate.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,14 @@ public double DecidegreesCelsiusPerSecond
get { return (_degreesCelsiusPerSecond) / 1e-1d; }
}

/// <summary>
/// Get TemperatureChangeRate in DegreesCelsiusPerMinute.
/// </summary>
public double DegreesCelsiusPerMinute
{
get { return _degreesCelsiusPerSecond*60; }
}

/// <summary>
/// Get TemperatureChangeRate in DegreesCelsiusPerSecond.
/// </summary>
Expand Down Expand Up @@ -234,6 +242,14 @@ public static TemperatureChangeRate FromDecidegreesCelsiusPerSecond(double decid
return new TemperatureChangeRate((decidegreescelsiuspersecond) * 1e-1d);
}

/// <summary>
/// Get TemperatureChangeRate from DegreesCelsiusPerMinute.
/// </summary>
public static TemperatureChangeRate FromDegreesCelsiusPerMinute(double degreescelsiusperminute)
{
return new TemperatureChangeRate(degreescelsiusperminute/60);
}

/// <summary>
/// Get TemperatureChangeRate from DegreesCelsiusPerSecond.
/// </summary>
Expand Down Expand Up @@ -329,6 +345,21 @@ public static TemperatureChangeRate FromNanodegreesCelsiusPerSecond(double nanod
}
}

/// <summary>
/// Get nullable TemperatureChangeRate from nullable DegreesCelsiusPerMinute.
/// </summary>
public static TemperatureChangeRate? FromDegreesCelsiusPerMinute(double? degreescelsiusperminute)
{
if (degreescelsiusperminute.HasValue)
{
return FromDegreesCelsiusPerMinute(degreescelsiusperminute.Value);
}
else
{
return null;
}
}

/// <summary>
/// Get nullable TemperatureChangeRate from nullable DegreesCelsiusPerSecond.
/// </summary>
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
5 changes: 5 additions & 0 deletions UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2543,6 +2543,11 @@ private static readonly ReadOnlyCollection<UnitLocalization> 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[]
{
Expand Down
12 changes: 12 additions & 0 deletions UnitsNet/UnitDefinitions/TemperatureChangeRate.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,18 @@
"Abbreviations": [ "°C/s" ]
}
]
},
{
"SingularName": "DegreeCelsiusPerMinute",
"PluralName": "DegreesCelsiusPerMinute",
"FromUnitToBaseFunc": "x/60",
"FromBaseToUnitFunc": "x*60",
"Localization": [
{
"Culture": "en-US",
"Abbreviations": [ "°C/m" ]
}
]
}
]
}