Skip to content

Commit db104b4

Browse files
committed
Added rpm/s to RotationalAcceleration
1 parent f3fe0ed commit db104b4

File tree

7 files changed

+134
-29
lines changed

7 files changed

+134
-29
lines changed

UnitsNet.Tests/CustomCode/RotationalAccelerationTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,6 @@ public class RotationalAccelerationTests : RotationalAccelerationTestsBase
4848
{
4949
protected override double DegreesPerSecondSquaredInOneRadianPerSecondSquared => 180 / Math.PI;
5050
protected override double RadiansPerSecondSquaredInOneRadianPerSecondSquared => 1;
51+
protected override double RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared => 9.549296586;
5152
}
5253
}

UnitsNet.Tests/GeneratedCode/RotationalAccelerationTestsBase.g.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ public abstract partial class RotationalAccelerationTestsBase
5454
{
5555
protected abstract double DegreesPerSecondSquaredInOneRadianPerSecondSquared { get; }
5656
protected abstract double RadiansPerSecondSquaredInOneRadianPerSecondSquared { get; }
57+
protected abstract double RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared { get; }
5758

5859
// ReSharper disable VirtualMemberNeverOverriden.Global
5960
protected virtual double DegreesPerSecondSquaredTolerance { get { return 1e-5; } }
6061
protected virtual double RadiansPerSecondSquaredTolerance { get { return 1e-5; } }
62+
protected virtual double RevolutionsPerMinutePerSecondTolerance { get { return 1e-5; } }
6163
// ReSharper restore VirtualMemberNeverOverriden.Global
6264

6365
[Fact]
@@ -66,13 +68,15 @@ public void RadianPerSecondSquaredToRotationalAccelerationUnits()
6668
RotationalAcceleration radianpersecondsquared = RotationalAcceleration.FromRadiansPerSecondSquared(1);
6769
AssertEx.EqualTolerance(DegreesPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.DegreesPerSecondSquared, DegreesPerSecondSquaredTolerance);
6870
AssertEx.EqualTolerance(RadiansPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.RadiansPerSecondSquared, RadiansPerSecondSquaredTolerance);
71+
AssertEx.EqualTolerance(RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, radianpersecondsquared.RevolutionsPerMinutePerSecond, RevolutionsPerMinutePerSecondTolerance);
6972
}
7073

7174
[Fact]
7275
public void FromValueAndUnit()
7376
{
7477
AssertEx.EqualTolerance(1, RotationalAcceleration.From(1, RotationalAccelerationUnit.DegreePerSecondSquared).DegreesPerSecondSquared, DegreesPerSecondSquaredTolerance);
7578
AssertEx.EqualTolerance(1, RotationalAcceleration.From(1, RotationalAccelerationUnit.RadianPerSecondSquared).RadiansPerSecondSquared, RadiansPerSecondSquaredTolerance);
79+
AssertEx.EqualTolerance(1, RotationalAcceleration.From(1, RotationalAccelerationUnit.RevolutionPerMinutePerSecond).RevolutionsPerMinutePerSecond, RevolutionsPerMinutePerSecondTolerance);
7680
}
7781

7882
[Fact]
@@ -81,6 +85,7 @@ public void As()
8185
var radianpersecondsquared = RotationalAcceleration.FromRadiansPerSecondSquared(1);
8286
AssertEx.EqualTolerance(DegreesPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.DegreePerSecondSquared), DegreesPerSecondSquaredTolerance);
8387
AssertEx.EqualTolerance(RadiansPerSecondSquaredInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.RadianPerSecondSquared), RadiansPerSecondSquaredTolerance);
88+
AssertEx.EqualTolerance(RevolutionsPerMinutePerSecondInOneRadianPerSecondSquared, radianpersecondsquared.As(RotationalAccelerationUnit.RevolutionPerMinutePerSecond), RevolutionsPerMinutePerSecondTolerance);
8489
}
8590

8691
[Fact]
@@ -89,6 +94,7 @@ public void ConversionRoundTrip()
8994
RotationalAcceleration radianpersecondsquared = RotationalAcceleration.FromRadiansPerSecondSquared(1);
9095
AssertEx.EqualTolerance(1, RotationalAcceleration.FromDegreesPerSecondSquared(radianpersecondsquared.DegreesPerSecondSquared).RadiansPerSecondSquared, DegreesPerSecondSquaredTolerance);
9196
AssertEx.EqualTolerance(1, RotationalAcceleration.FromRadiansPerSecondSquared(radianpersecondsquared.RadiansPerSecondSquared).RadiansPerSecondSquared, RadiansPerSecondSquaredTolerance);
97+
AssertEx.EqualTolerance(1, RotationalAcceleration.FromRevolutionsPerMinutePerSecond(radianpersecondsquared.RevolutionsPerMinutePerSecond).RadiansPerSecondSquared, RevolutionsPerMinutePerSecondTolerance);
9298
}
9399

94100
[Fact]

UnitsNet/GeneratedCode/Extensions/Number/NumberToRotationalAccelerationExtensions.g.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,40 @@ public static class NumberToRotationalAccelerationExtensions
112112

113113
#endregion
114114

115+
#region RevolutionPerMinutePerSecond
116+
117+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double)"/>
118+
public static RotationalAcceleration RevolutionsPerMinutePerSecond(this int value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
119+
120+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double?)"/>
121+
public static RotationalAcceleration? RevolutionsPerMinutePerSecond(this int? value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
122+
123+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double)"/>
124+
public static RotationalAcceleration RevolutionsPerMinutePerSecond(this long value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
125+
126+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double?)"/>
127+
public static RotationalAcceleration? RevolutionsPerMinutePerSecond(this long? value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
128+
129+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double)"/>
130+
public static RotationalAcceleration RevolutionsPerMinutePerSecond(this double value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
131+
132+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double?)"/>
133+
public static RotationalAcceleration? RevolutionsPerMinutePerSecond(this double? value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
134+
135+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double)"/>
136+
public static RotationalAcceleration RevolutionsPerMinutePerSecond(this float value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
137+
138+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double?)"/>
139+
public static RotationalAcceleration? RevolutionsPerMinutePerSecond(this float? value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value);
140+
141+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double)"/>
142+
public static RotationalAcceleration RevolutionsPerMinutePerSecond(this decimal value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(Convert.ToDouble(value));
143+
144+
/// <inheritdoc cref="RotationalAcceleration.FromRevolutionsPerMinutePerSecond(double?)"/>
145+
public static RotationalAcceleration? RevolutionsPerMinutePerSecond(this decimal? value) => RotationalAcceleration.FromRevolutionsPerMinutePerSecond(value == null ? (double?)null : Convert.ToDouble(value.Value));
146+
147+
#endregion
148+
115149
}
116150
}
117151
#endif

UnitsNet/GeneratedCode/Quantities/RotationalAcceleration.g.cs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,14 @@ public double RadiansPerSecondSquared
145145
get { return _radiansPerSecondSquared; }
146146
}
147147

148+
/// <summary>
149+
/// Get RotationalAcceleration in RevolutionsPerMinutePerSecond.
150+
/// </summary>
151+
public double RevolutionsPerMinutePerSecond
152+
{
153+
get { return (60/(2*Math.PI))*_radiansPerSecondSquared; }
154+
}
155+
148156
#endregion
149157

150158
#region Static
@@ -190,6 +198,24 @@ public static RotationalAcceleration FromRadiansPerSecondSquared(QuantityValue r
190198
}
191199
#endif
192200

201+
/// <summary>
202+
/// Get RotationalAcceleration from RevolutionsPerMinutePerSecond.
203+
/// </summary>
204+
#if WINDOWS_UWP
205+
[Windows.Foundation.Metadata.DefaultOverload]
206+
public static RotationalAcceleration FromRevolutionsPerMinutePerSecond(double revolutionsperminutepersecond)
207+
{
208+
double value = (double) revolutionsperminutepersecond;
209+
return new RotationalAcceleration(((2*Math.PI)/60)*value);
210+
}
211+
#else
212+
public static RotationalAcceleration FromRevolutionsPerMinutePerSecond(QuantityValue revolutionsperminutepersecond)
213+
{
214+
double value = (double) revolutionsperminutepersecond;
215+
return new RotationalAcceleration((((2*Math.PI)/60)*value));
216+
}
217+
#endif
218+
193219
// Windows Runtime Component does not support nullable types (double?): https://msdn.microsoft.com/en-us/library/br230301.aspx
194220
#if !WINDOWS_UWP
195221
/// <summary>
@@ -222,6 +248,21 @@ public static RotationalAcceleration FromRadiansPerSecondSquared(QuantityValue r
222248
}
223249
}
224250

251+
/// <summary>
252+
/// Get nullable RotationalAcceleration from nullable RevolutionsPerMinutePerSecond.
253+
/// </summary>
254+
public static RotationalAcceleration? FromRevolutionsPerMinutePerSecond(QuantityValue? revolutionsperminutepersecond)
255+
{
256+
if (revolutionsperminutepersecond.HasValue)
257+
{
258+
return FromRevolutionsPerMinutePerSecond(revolutionsperminutepersecond.Value);
259+
}
260+
else
261+
{
262+
return null;
263+
}
264+
}
265+
225266
#endif
226267

227268
/// <summary>
@@ -244,6 +285,8 @@ public static RotationalAcceleration From(QuantityValue value, RotationalAcceler
244285
return FromDegreesPerSecondSquared(value);
245286
case RotationalAccelerationUnit.RadianPerSecondSquared:
246287
return FromRadiansPerSecondSquared(value);
288+
case RotationalAccelerationUnit.RevolutionPerMinutePerSecond:
289+
return FromRevolutionsPerMinutePerSecond(value);
247290

248291
default:
249292
throw new NotImplementedException("fromUnit: " + fromUnit);
@@ -270,6 +313,8 @@ public static RotationalAcceleration From(QuantityValue value, RotationalAcceler
270313
return FromDegreesPerSecondSquared(value.Value);
271314
case RotationalAccelerationUnit.RadianPerSecondSquared:
272315
return FromRadiansPerSecondSquared(value.Value);
316+
case RotationalAccelerationUnit.RevolutionPerMinutePerSecond:
317+
return FromRevolutionsPerMinutePerSecond(value.Value);
273318

274319
default:
275320
throw new NotImplementedException("fromUnit: " + fromUnit);
@@ -447,6 +492,8 @@ public double As(RotationalAccelerationUnit unit)
447492
return DegreesPerSecondSquared;
448493
case RotationalAccelerationUnit.RadianPerSecondSquared:
449494
return RadiansPerSecondSquared;
495+
case RotationalAccelerationUnit.RevolutionPerMinutePerSecond:
496+
return RevolutionsPerMinutePerSecond;
450497

451498
default:
452499
throw new NotImplementedException("unit: " + unit);

UnitsNet/GeneratedCode/UnitSystem.Default.g.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3048,6 +3048,11 @@ private static readonly ReadOnlyCollection<UnitLocalization> DefaultLocalization
30483048
{
30493049
new AbbreviationsForCulture("en-US", "rad/s²"),
30503050
}),
3051+
new CulturesForEnumValue((int) RotationalAccelerationUnit.RevolutionPerMinutePerSecond,
3052+
new[]
3053+
{
3054+
new AbbreviationsForCulture("en-US", "rpm/s"),
3055+
}),
30513056
}),
30523057
new UnitLocalization(typeof (RotationalSpeedUnit),
30533058
new[]

UnitsNet/GeneratedCode/Units/RotationalAccelerationUnit.g.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,6 @@ public enum RotationalAccelerationUnit
4444
Undefined = 0,
4545
DegreePerSecondSquared,
4646
RadianPerSecondSquared,
47+
RevolutionPerMinutePerSecond,
4748
}
4849
}
Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,43 @@
11
{
2-
"Name": "RotationalAcceleration",
3-
"BaseUnit": "RadianPerSecondSquared",
4-
"XmlDoc": "Angular acceleration is the rate of change of rotational speed.",
5-
"Units":
6-
[
7-
{
8-
"SingularName": "RadianPerSecondSquared",
9-
"PluralName": "RadiansPerSecondSquared",
10-
"FromUnitToBaseFunc": "x",
11-
"FromBaseToUnitFunc": "x",
12-
"Localization": [
13-
{
14-
"Culture": "en-US",
15-
"Abbreviations": [ "rad/s²" ]
16-
}
17-
]
18-
},
19-
{
20-
"SingularName": "DegreePerSecondSquared",
21-
"PluralName": "DegreesPerSecondSquared",
22-
"FromUnitToBaseFunc": "(Math.PI/180)*x",
23-
"FromBaseToUnitFunc": "(180/Math.PI)*x",
24-
"Localization": [
25-
{
26-
"Culture": "en-US",
27-
"Abbreviations": [ "°/s²", "deg/s²" ]
28-
}
29-
]
30-
}
2+
"Name": "RotationalAcceleration",
3+
"BaseUnit": "RadianPerSecondSquared",
4+
"XmlDoc": "Angular acceleration is the rate of change of rotational speed.",
5+
"Units": [
6+
{
7+
"SingularName": "RadianPerSecondSquared",
8+
"PluralName": "RadiansPerSecondSquared",
9+
"FromUnitToBaseFunc": "x",
10+
"FromBaseToUnitFunc": "x",
11+
"Localization": [
12+
{
13+
"Culture": "en-US",
14+
"Abbreviations": [ "rad/s²" ]
15+
}
16+
]
17+
},
18+
{
19+
"SingularName": "DegreePerSecondSquared",
20+
"PluralName": "DegreesPerSecondSquared",
21+
"FromUnitToBaseFunc": "(Math.PI/180)*x",
22+
"FromBaseToUnitFunc": "(180/Math.PI)*x",
23+
"Localization": [
24+
{
25+
"Culture": "en-US",
26+
"Abbreviations": [ "°/s²", "deg/s²" ]
27+
}
28+
]
29+
},
30+
{
31+
"SingularName": "RevolutionPerMinutePerSecond",
32+
"PluralName": "RevolutionsPerMinutePerSecond",
33+
"FromUnitToBaseFunc": "((2*Math.PI)/60)*x",
34+
"FromBaseToUnitFunc": "(60/(2*Math.PI))*x",
35+
"Localization": [
36+
{
37+
"Culture": "en-US",
38+
"Abbreviations": [ "rpm/s" ]
39+
}
40+
]
41+
}
3142
]
3243
}

0 commit comments

Comments
 (0)