Skip to content

Commit 24c9f36

Browse files
author
Erik Ovegard
committed
Added DegreesPerMinute
1 parent bec5d00 commit 24c9f36

File tree

6 files changed

+62
-0
lines changed

6 files changed

+62
-0
lines changed

UnitsNet.Tests/CustomCode/RotationalSpeedTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public class RotationalSpeedTests : RotationalSpeedTestsBase
5050

5151
protected override double NanodegreesPerSecondInOneRadianPerSecond => 57295779513.08232087;
5252

53+
protected override double DegreesPerMinuteInOneRadianPerSecond => 3437.74677;
5354

5455
[Test]
5556
public void DurationTimesRotationalSpeedEqualsAngle()

UnitsNet.Tests/GeneratedCode/RotationalSpeedTestsBase.g.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public abstract partial class RotationalSpeedTestsBase
3838
{
3939
protected abstract double CentiradiansPerSecondInOneRadianPerSecond { get; }
4040
protected abstract double DeciradiansPerSecondInOneRadianPerSecond { get; }
41+
protected abstract double DegreesPerMinuteInOneRadianPerSecond { get; }
4142
protected abstract double DegreesPerSecondInOneRadianPerSecond { get; }
4243
protected abstract double MicrodegreesPerSecondInOneRadianPerSecond { get; }
4344
protected abstract double MicroradiansPerSecondInOneRadianPerSecond { get; }
@@ -52,6 +53,7 @@ public abstract partial class RotationalSpeedTestsBase
5253
// ReSharper disable VirtualMemberNeverOverriden.Global
5354
protected virtual double CentiradiansPerSecondTolerance { get { return 1e-5; } }
5455
protected virtual double DeciradiansPerSecondTolerance { get { return 1e-5; } }
56+
protected virtual double DegreesPerMinuteTolerance { get { return 1e-5; } }
5557
protected virtual double DegreesPerSecondTolerance { get { return 1e-5; } }
5658
protected virtual double MicrodegreesPerSecondTolerance { get { return 1e-5; } }
5759
protected virtual double MicroradiansPerSecondTolerance { get { return 1e-5; } }
@@ -70,6 +72,7 @@ public void RadianPerSecondToRotationalSpeedUnits()
7072
RotationalSpeed radianpersecond = RotationalSpeed.FromRadiansPerSecond(1);
7173
Assert.AreEqual(CentiradiansPerSecondInOneRadianPerSecond, radianpersecond.CentiradiansPerSecond, CentiradiansPerSecondTolerance);
7274
Assert.AreEqual(DeciradiansPerSecondInOneRadianPerSecond, radianpersecond.DeciradiansPerSecond, DeciradiansPerSecondTolerance);
75+
Assert.AreEqual(DegreesPerMinuteInOneRadianPerSecond, radianpersecond.DegreesPerMinute, DegreesPerMinuteTolerance);
7376
Assert.AreEqual(DegreesPerSecondInOneRadianPerSecond, radianpersecond.DegreesPerSecond, DegreesPerSecondTolerance);
7477
Assert.AreEqual(MicrodegreesPerSecondInOneRadianPerSecond, radianpersecond.MicrodegreesPerSecond, MicrodegreesPerSecondTolerance);
7578
Assert.AreEqual(MicroradiansPerSecondInOneRadianPerSecond, radianpersecond.MicroradiansPerSecond, MicroradiansPerSecondTolerance);
@@ -87,6 +90,7 @@ public void FromValueAndUnit()
8790
{
8891
Assert.AreEqual(1, RotationalSpeed.From(1, RotationalSpeedUnit.CentiradianPerSecond).CentiradiansPerSecond, CentiradiansPerSecondTolerance);
8992
Assert.AreEqual(1, RotationalSpeed.From(1, RotationalSpeedUnit.DeciradianPerSecond).DeciradiansPerSecond, DeciradiansPerSecondTolerance);
93+
Assert.AreEqual(1, RotationalSpeed.From(1, RotationalSpeedUnit.DegreePerMinute).DegreesPerMinute, DegreesPerMinuteTolerance);
9094
Assert.AreEqual(1, RotationalSpeed.From(1, RotationalSpeedUnit.DegreePerSecond).DegreesPerSecond, DegreesPerSecondTolerance);
9195
Assert.AreEqual(1, RotationalSpeed.From(1, RotationalSpeedUnit.MicrodegreePerSecond).MicrodegreesPerSecond, MicrodegreesPerSecondTolerance);
9296
Assert.AreEqual(1, RotationalSpeed.From(1, RotationalSpeedUnit.MicroradianPerSecond).MicroradiansPerSecond, MicroradiansPerSecondTolerance);
@@ -105,6 +109,7 @@ public void As()
105109
var radianpersecond = RotationalSpeed.FromRadiansPerSecond(1);
106110
Assert.AreEqual(CentiradiansPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.CentiradianPerSecond), CentiradiansPerSecondTolerance);
107111
Assert.AreEqual(DeciradiansPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.DeciradianPerSecond), DeciradiansPerSecondTolerance);
112+
Assert.AreEqual(DegreesPerMinuteInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.DegreePerMinute), DegreesPerMinuteTolerance);
108113
Assert.AreEqual(DegreesPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.DegreePerSecond), DegreesPerSecondTolerance);
109114
Assert.AreEqual(MicrodegreesPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.MicrodegreePerSecond), MicrodegreesPerSecondTolerance);
110115
Assert.AreEqual(MicroradiansPerSecondInOneRadianPerSecond, radianpersecond.As(RotationalSpeedUnit.MicroradianPerSecond), MicroradiansPerSecondTolerance);
@@ -123,6 +128,7 @@ public void ConversionRoundTrip()
123128
RotationalSpeed radianpersecond = RotationalSpeed.FromRadiansPerSecond(1);
124129
Assert.AreEqual(1, RotationalSpeed.FromCentiradiansPerSecond(radianpersecond.CentiradiansPerSecond).RadiansPerSecond, CentiradiansPerSecondTolerance);
125130
Assert.AreEqual(1, RotationalSpeed.FromDeciradiansPerSecond(radianpersecond.DeciradiansPerSecond).RadiansPerSecond, DeciradiansPerSecondTolerance);
131+
Assert.AreEqual(1, RotationalSpeed.FromDegreesPerMinute(radianpersecond.DegreesPerMinute).RadiansPerSecond, DegreesPerMinuteTolerance);
126132
Assert.AreEqual(1, RotationalSpeed.FromDegreesPerSecond(radianpersecond.DegreesPerSecond).RadiansPerSecond, DegreesPerSecondTolerance);
127133
Assert.AreEqual(1, RotationalSpeed.FromMicrodegreesPerSecond(radianpersecond.MicrodegreesPerSecond).RadiansPerSecond, MicrodegreesPerSecondTolerance);
128134
Assert.AreEqual(1, RotationalSpeed.FromMicroradiansPerSecond(radianpersecond.MicroradiansPerSecond).RadiansPerSecond, MicroradiansPerSecondTolerance);

UnitsNet/GeneratedCode/Enums/RotationalSpeedUnit.g.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public enum RotationalSpeedUnit
2727
Undefined = 0,
2828
CentiradianPerSecond,
2929
DeciradianPerSecond,
30+
DegreePerMinute,
3031
DegreePerSecond,
3132
MicrodegreePerSecond,
3233
MicroradianPerSecond,

UnitsNet/GeneratedCode/UnitClasses/RotationalSpeed.g.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ public double DeciradiansPerSecond
7070
get { return (_radiansPerSecond) / 1e-1d; }
7171
}
7272

73+
/// <summary>
74+
/// Get RotationalSpeed in DegreesPerMinute.
75+
/// </summary>
76+
public double DegreesPerMinute
77+
{
78+
get { return (180*60/Math.PI)*_radiansPerSecond; }
79+
}
80+
7381
/// <summary>
7482
/// Get RotationalSpeed in DegreesPerSecond.
7583
/// </summary>
@@ -175,6 +183,14 @@ public static RotationalSpeed FromDeciradiansPerSecond(double deciradiansperseco
175183
return new RotationalSpeed((deciradianspersecond) * 1e-1d);
176184
}
177185

186+
/// <summary>
187+
/// Get RotationalSpeed from DegreesPerMinute.
188+
/// </summary>
189+
public static RotationalSpeed FromDegreesPerMinute(double degreesperminute)
190+
{
191+
return new RotationalSpeed((Math.PI/(180*60))*degreesperminute);
192+
}
193+
178194
/// <summary>
179195
/// Get RotationalSpeed from DegreesPerSecond.
180196
/// </summary>
@@ -286,6 +302,21 @@ public static RotationalSpeed FromRevolutionsPerSecond(double revolutionsperseco
286302
}
287303
}
288304

305+
/// <summary>
306+
/// Get nullable RotationalSpeed from nullable DegreesPerMinute.
307+
/// </summary>
308+
public static RotationalSpeed? FromDegreesPerMinute(double? degreesperminute)
309+
{
310+
if (degreesperminute.HasValue)
311+
{
312+
return FromDegreesPerMinute(degreesperminute.Value);
313+
}
314+
else
315+
{
316+
return null;
317+
}
318+
}
319+
289320
/// <summary>
290321
/// Get nullable RotationalSpeed from nullable DegreesPerSecond.
291322
/// </summary>
@@ -451,6 +482,8 @@ public static RotationalSpeed From(double value, RotationalSpeedUnit fromUnit)
451482
return FromCentiradiansPerSecond(value);
452483
case RotationalSpeedUnit.DeciradianPerSecond:
453484
return FromDeciradiansPerSecond(value);
485+
case RotationalSpeedUnit.DegreePerMinute:
486+
return FromDegreesPerMinute(value);
454487
case RotationalSpeedUnit.DegreePerSecond:
455488
return FromDegreesPerSecond(value);
456489
case RotationalSpeedUnit.MicrodegreePerSecond:
@@ -495,6 +528,8 @@ public static RotationalSpeed From(double value, RotationalSpeedUnit fromUnit)
495528
return FromCentiradiansPerSecond(value.Value);
496529
case RotationalSpeedUnit.DeciradianPerSecond:
497530
return FromDeciradiansPerSecond(value.Value);
531+
case RotationalSpeedUnit.DegreePerMinute:
532+
return FromDegreesPerMinute(value.Value);
498533
case RotationalSpeedUnit.DegreePerSecond:
499534
return FromDegreesPerSecond(value.Value);
500535
case RotationalSpeedUnit.MicrodegreePerSecond:
@@ -652,6 +687,8 @@ public double As(RotationalSpeedUnit unit)
652687
return CentiradiansPerSecond;
653688
case RotationalSpeedUnit.DeciradianPerSecond:
654689
return DeciradiansPerSecond;
690+
case RotationalSpeedUnit.DegreePerMinute:
691+
return DegreesPerMinute;
655692
case RotationalSpeedUnit.DegreePerSecond:
656693
return DegreesPerSecond;
657694
case RotationalSpeedUnit.MicrodegreePerSecond:

UnitsNet/GeneratedCode/UnitSystem.Default.g.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1556,6 +1556,11 @@ private static readonly ReadOnlyCollection<UnitLocalization> DefaultLocalization
15561556
new AbbreviationsForCulture("en-US", "drad/s"),
15571557
new AbbreviationsForCulture("ru-RU", "dрад/с"),
15581558
}),
1559+
new CulturesForEnumValue((int) RotationalSpeedUnit.DegreePerMinute,
1560+
new[]
1561+
{
1562+
new AbbreviationsForCulture("en-US", "°/min", "deg/min"),
1563+
}),
15591564
new CulturesForEnumValue((int) RotationalSpeedUnit.DegreePerSecond,
15601565
new[]
15611566
{

UnitsNet/Scripts/UnitDefinitions/RotationalSpeed.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,18 @@
3737
}
3838
]
3939
},
40+
{
41+
"SingularName": "DegreePerMinute",
42+
"PluralName": "DegreesPerMinute",
43+
"FromUnitToBaseFunc": "(Math.PI/(180*60))*x",
44+
"FromBaseToUnitFunc": "(180*60/Math.PI)*x",
45+
"Localization": [
46+
{
47+
"Culture": "en-US",
48+
"Abbreviations": [ "°/min", "deg/min" ]
49+
}
50+
]
51+
},
4052
{
4153
"SingularName": "RevolutionPerSecond",
4254
"PluralName": "RevolutionsPerSecond",

0 commit comments

Comments
 (0)