Skip to content

Commit 67e0eb1

Browse files
committed
Merge pull request #153 from AgileoAutomation/add-MoreSpeedUnits
Add MeterPerMinute Length units with prefixes
2 parents 5a60ed5 + fd8594b commit 67e0eb1

File tree

6 files changed

+370
-0
lines changed

6 files changed

+370
-0
lines changed

UnitsNet.Tests/CustomCode/SpeedTests.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,20 @@ public class SpeedTests : SpeedTestsBase
5050

5151
protected override double MetersPerHourInOneMeterPerSecond => 3600.0;
5252

53+
protected override double NanometersPerMinutesInOneMeterPerSecond => 60000000000;
54+
55+
protected override double MicrometersPerMinutesInOneMeterPerSecond => 60000000;
56+
57+
protected override double MillimetersPerMinutesInOneMeterPerSecond => 60000;
58+
59+
protected override double CentimetersPerMinutesInOneMeterPerSecond => 6000;
60+
61+
protected override double DecimetersPerMinutesInOneMeterPerSecond => 600;
62+
63+
protected override double MetersPerMinutesInOneMeterPerSecond => 60;
64+
65+
protected override double KilometersPerMinutesInOneMeterPerSecond => 0.06;
66+
5367
[Test]
5468
public void DurationSpeedTimesEqualsLength()
5569
{

UnitsNet.Tests/GeneratedCode/SpeedTestsBase.g.cs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,102 +36,144 @@ namespace UnitsNet.Tests
3636
// ReSharper disable once PartialTypeWithSinglePart
3737
public abstract partial class SpeedTestsBase
3838
{
39+
protected abstract double CentimetersPerMinutesInOneMeterPerSecond { get; }
3940
protected abstract double CentimetersPerSecondInOneMeterPerSecond { get; }
41+
protected abstract double DecimetersPerMinutesInOneMeterPerSecond { get; }
4042
protected abstract double DecimetersPerSecondInOneMeterPerSecond { get; }
4143
protected abstract double FeetPerSecondInOneMeterPerSecond { get; }
4244
protected abstract double KilometersPerHourInOneMeterPerSecond { get; }
45+
protected abstract double KilometersPerMinutesInOneMeterPerSecond { get; }
4346
protected abstract double KilometersPerSecondInOneMeterPerSecond { get; }
4447
protected abstract double KnotsInOneMeterPerSecond { get; }
4548
protected abstract double MetersPerHourInOneMeterPerSecond { get; }
49+
protected abstract double MetersPerMinutesInOneMeterPerSecond { get; }
4650
protected abstract double MetersPerSecondInOneMeterPerSecond { get; }
51+
protected abstract double MicrometersPerMinutesInOneMeterPerSecond { get; }
4752
protected abstract double MicrometersPerSecondInOneMeterPerSecond { get; }
4853
protected abstract double MilesPerHourInOneMeterPerSecond { get; }
54+
protected abstract double MillimetersPerMinutesInOneMeterPerSecond { get; }
4955
protected abstract double MillimetersPerSecondInOneMeterPerSecond { get; }
56+
protected abstract double NanometersPerMinutesInOneMeterPerSecond { get; }
5057
protected abstract double NanometersPerSecondInOneMeterPerSecond { get; }
5158

5259
// ReSharper disable VirtualMemberNeverOverriden.Global
60+
protected virtual double CentimetersPerMinutesTolerance { get { return 1e-5; } }
5361
protected virtual double CentimetersPerSecondTolerance { get { return 1e-5; } }
62+
protected virtual double DecimetersPerMinutesTolerance { get { return 1e-5; } }
5463
protected virtual double DecimetersPerSecondTolerance { get { return 1e-5; } }
5564
protected virtual double FeetPerSecondTolerance { get { return 1e-5; } }
5665
protected virtual double KilometersPerHourTolerance { get { return 1e-5; } }
66+
protected virtual double KilometersPerMinutesTolerance { get { return 1e-5; } }
5767
protected virtual double KilometersPerSecondTolerance { get { return 1e-5; } }
5868
protected virtual double KnotsTolerance { get { return 1e-5; } }
5969
protected virtual double MetersPerHourTolerance { get { return 1e-5; } }
70+
protected virtual double MetersPerMinutesTolerance { get { return 1e-5; } }
6071
protected virtual double MetersPerSecondTolerance { get { return 1e-5; } }
72+
protected virtual double MicrometersPerMinutesTolerance { get { return 1e-5; } }
6173
protected virtual double MicrometersPerSecondTolerance { get { return 1e-5; } }
6274
protected virtual double MilesPerHourTolerance { get { return 1e-5; } }
75+
protected virtual double MillimetersPerMinutesTolerance { get { return 1e-5; } }
6376
protected virtual double MillimetersPerSecondTolerance { get { return 1e-5; } }
77+
protected virtual double NanometersPerMinutesTolerance { get { return 1e-5; } }
6478
protected virtual double NanometersPerSecondTolerance { get { return 1e-5; } }
6579
// ReSharper restore VirtualMemberNeverOverriden.Global
6680

6781
[Test]
6882
public void MeterPerSecondToSpeedUnits()
6983
{
7084
Speed meterpersecond = Speed.FromMetersPerSecond(1);
85+
Assert.AreEqual(CentimetersPerMinutesInOneMeterPerSecond, meterpersecond.CentimetersPerMinutes, CentimetersPerMinutesTolerance);
7186
Assert.AreEqual(CentimetersPerSecondInOneMeterPerSecond, meterpersecond.CentimetersPerSecond, CentimetersPerSecondTolerance);
87+
Assert.AreEqual(DecimetersPerMinutesInOneMeterPerSecond, meterpersecond.DecimetersPerMinutes, DecimetersPerMinutesTolerance);
7288
Assert.AreEqual(DecimetersPerSecondInOneMeterPerSecond, meterpersecond.DecimetersPerSecond, DecimetersPerSecondTolerance);
7389
Assert.AreEqual(FeetPerSecondInOneMeterPerSecond, meterpersecond.FeetPerSecond, FeetPerSecondTolerance);
7490
Assert.AreEqual(KilometersPerHourInOneMeterPerSecond, meterpersecond.KilometersPerHour, KilometersPerHourTolerance);
91+
Assert.AreEqual(KilometersPerMinutesInOneMeterPerSecond, meterpersecond.KilometersPerMinutes, KilometersPerMinutesTolerance);
7592
Assert.AreEqual(KilometersPerSecondInOneMeterPerSecond, meterpersecond.KilometersPerSecond, KilometersPerSecondTolerance);
7693
Assert.AreEqual(KnotsInOneMeterPerSecond, meterpersecond.Knots, KnotsTolerance);
7794
Assert.AreEqual(MetersPerHourInOneMeterPerSecond, meterpersecond.MetersPerHour, MetersPerHourTolerance);
95+
Assert.AreEqual(MetersPerMinutesInOneMeterPerSecond, meterpersecond.MetersPerMinutes, MetersPerMinutesTolerance);
7896
Assert.AreEqual(MetersPerSecondInOneMeterPerSecond, meterpersecond.MetersPerSecond, MetersPerSecondTolerance);
97+
Assert.AreEqual(MicrometersPerMinutesInOneMeterPerSecond, meterpersecond.MicrometersPerMinutes, MicrometersPerMinutesTolerance);
7998
Assert.AreEqual(MicrometersPerSecondInOneMeterPerSecond, meterpersecond.MicrometersPerSecond, MicrometersPerSecondTolerance);
8099
Assert.AreEqual(MilesPerHourInOneMeterPerSecond, meterpersecond.MilesPerHour, MilesPerHourTolerance);
100+
Assert.AreEqual(MillimetersPerMinutesInOneMeterPerSecond, meterpersecond.MillimetersPerMinutes, MillimetersPerMinutesTolerance);
81101
Assert.AreEqual(MillimetersPerSecondInOneMeterPerSecond, meterpersecond.MillimetersPerSecond, MillimetersPerSecondTolerance);
102+
Assert.AreEqual(NanometersPerMinutesInOneMeterPerSecond, meterpersecond.NanometersPerMinutes, NanometersPerMinutesTolerance);
82103
Assert.AreEqual(NanometersPerSecondInOneMeterPerSecond, meterpersecond.NanometersPerSecond, NanometersPerSecondTolerance);
83104
}
84105

85106
[Test]
86107
public void FromValueAndUnit()
87108
{
109+
Assert.AreEqual(1, Speed.From(1, SpeedUnit.CentimeterPerMinute).CentimetersPerMinutes, CentimetersPerMinutesTolerance);
88110
Assert.AreEqual(1, Speed.From(1, SpeedUnit.CentimeterPerSecond).CentimetersPerSecond, CentimetersPerSecondTolerance);
111+
Assert.AreEqual(1, Speed.From(1, SpeedUnit.DecimeterPerMinute).DecimetersPerMinutes, DecimetersPerMinutesTolerance);
89112
Assert.AreEqual(1, Speed.From(1, SpeedUnit.DecimeterPerSecond).DecimetersPerSecond, DecimetersPerSecondTolerance);
90113
Assert.AreEqual(1, Speed.From(1, SpeedUnit.FootPerSecond).FeetPerSecond, FeetPerSecondTolerance);
91114
Assert.AreEqual(1, Speed.From(1, SpeedUnit.KilometerPerHour).KilometersPerHour, KilometersPerHourTolerance);
115+
Assert.AreEqual(1, Speed.From(1, SpeedUnit.KilometerPerMinute).KilometersPerMinutes, KilometersPerMinutesTolerance);
92116
Assert.AreEqual(1, Speed.From(1, SpeedUnit.KilometerPerSecond).KilometersPerSecond, KilometersPerSecondTolerance);
93117
Assert.AreEqual(1, Speed.From(1, SpeedUnit.Knot).Knots, KnotsTolerance);
94118
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MeterPerHour).MetersPerHour, MetersPerHourTolerance);
119+
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MeterPerMinute).MetersPerMinutes, MetersPerMinutesTolerance);
95120
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MeterPerSecond).MetersPerSecond, MetersPerSecondTolerance);
121+
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MicrometerPerMinute).MicrometersPerMinutes, MicrometersPerMinutesTolerance);
96122
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MicrometerPerSecond).MicrometersPerSecond, MicrometersPerSecondTolerance);
97123
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MilePerHour).MilesPerHour, MilesPerHourTolerance);
124+
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MillimeterPerMinute).MillimetersPerMinutes, MillimetersPerMinutesTolerance);
98125
Assert.AreEqual(1, Speed.From(1, SpeedUnit.MillimeterPerSecond).MillimetersPerSecond, MillimetersPerSecondTolerance);
126+
Assert.AreEqual(1, Speed.From(1, SpeedUnit.NanometerPerMinute).NanometersPerMinutes, NanometersPerMinutesTolerance);
99127
Assert.AreEqual(1, Speed.From(1, SpeedUnit.NanometerPerSecond).NanometersPerSecond, NanometersPerSecondTolerance);
100128
}
101129

102130
[Test]
103131
public void As()
104132
{
105133
var meterpersecond = Speed.FromMetersPerSecond(1);
134+
Assert.AreEqual(CentimetersPerMinutesInOneMeterPerSecond, meterpersecond.As(SpeedUnit.CentimeterPerMinute), CentimetersPerMinutesTolerance);
106135
Assert.AreEqual(CentimetersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.CentimeterPerSecond), CentimetersPerSecondTolerance);
136+
Assert.AreEqual(DecimetersPerMinutesInOneMeterPerSecond, meterpersecond.As(SpeedUnit.DecimeterPerMinute), DecimetersPerMinutesTolerance);
107137
Assert.AreEqual(DecimetersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.DecimeterPerSecond), DecimetersPerSecondTolerance);
108138
Assert.AreEqual(FeetPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.FootPerSecond), FeetPerSecondTolerance);
109139
Assert.AreEqual(KilometersPerHourInOneMeterPerSecond, meterpersecond.As(SpeedUnit.KilometerPerHour), KilometersPerHourTolerance);
140+
Assert.AreEqual(KilometersPerMinutesInOneMeterPerSecond, meterpersecond.As(SpeedUnit.KilometerPerMinute), KilometersPerMinutesTolerance);
110141
Assert.AreEqual(KilometersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.KilometerPerSecond), KilometersPerSecondTolerance);
111142
Assert.AreEqual(KnotsInOneMeterPerSecond, meterpersecond.As(SpeedUnit.Knot), KnotsTolerance);
112143
Assert.AreEqual(MetersPerHourInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MeterPerHour), MetersPerHourTolerance);
144+
Assert.AreEqual(MetersPerMinutesInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MeterPerMinute), MetersPerMinutesTolerance);
113145
Assert.AreEqual(MetersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MeterPerSecond), MetersPerSecondTolerance);
146+
Assert.AreEqual(MicrometersPerMinutesInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MicrometerPerMinute), MicrometersPerMinutesTolerance);
114147
Assert.AreEqual(MicrometersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MicrometerPerSecond), MicrometersPerSecondTolerance);
115148
Assert.AreEqual(MilesPerHourInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MilePerHour), MilesPerHourTolerance);
149+
Assert.AreEqual(MillimetersPerMinutesInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MillimeterPerMinute), MillimetersPerMinutesTolerance);
116150
Assert.AreEqual(MillimetersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.MillimeterPerSecond), MillimetersPerSecondTolerance);
151+
Assert.AreEqual(NanometersPerMinutesInOneMeterPerSecond, meterpersecond.As(SpeedUnit.NanometerPerMinute), NanometersPerMinutesTolerance);
117152
Assert.AreEqual(NanometersPerSecondInOneMeterPerSecond, meterpersecond.As(SpeedUnit.NanometerPerSecond), NanometersPerSecondTolerance);
118153
}
119154

120155
[Test]
121156
public void ConversionRoundTrip()
122157
{
123158
Speed meterpersecond = Speed.FromMetersPerSecond(1);
159+
Assert.AreEqual(1, Speed.FromCentimetersPerMinutes(meterpersecond.CentimetersPerMinutes).MetersPerSecond, CentimetersPerMinutesTolerance);
124160
Assert.AreEqual(1, Speed.FromCentimetersPerSecond(meterpersecond.CentimetersPerSecond).MetersPerSecond, CentimetersPerSecondTolerance);
161+
Assert.AreEqual(1, Speed.FromDecimetersPerMinutes(meterpersecond.DecimetersPerMinutes).MetersPerSecond, DecimetersPerMinutesTolerance);
125162
Assert.AreEqual(1, Speed.FromDecimetersPerSecond(meterpersecond.DecimetersPerSecond).MetersPerSecond, DecimetersPerSecondTolerance);
126163
Assert.AreEqual(1, Speed.FromFeetPerSecond(meterpersecond.FeetPerSecond).MetersPerSecond, FeetPerSecondTolerance);
127164
Assert.AreEqual(1, Speed.FromKilometersPerHour(meterpersecond.KilometersPerHour).MetersPerSecond, KilometersPerHourTolerance);
165+
Assert.AreEqual(1, Speed.FromKilometersPerMinutes(meterpersecond.KilometersPerMinutes).MetersPerSecond, KilometersPerMinutesTolerance);
128166
Assert.AreEqual(1, Speed.FromKilometersPerSecond(meterpersecond.KilometersPerSecond).MetersPerSecond, KilometersPerSecondTolerance);
129167
Assert.AreEqual(1, Speed.FromKnots(meterpersecond.Knots).MetersPerSecond, KnotsTolerance);
130168
Assert.AreEqual(1, Speed.FromMetersPerHour(meterpersecond.MetersPerHour).MetersPerSecond, MetersPerHourTolerance);
169+
Assert.AreEqual(1, Speed.FromMetersPerMinutes(meterpersecond.MetersPerMinutes).MetersPerSecond, MetersPerMinutesTolerance);
131170
Assert.AreEqual(1, Speed.FromMetersPerSecond(meterpersecond.MetersPerSecond).MetersPerSecond, MetersPerSecondTolerance);
171+
Assert.AreEqual(1, Speed.FromMicrometersPerMinutes(meterpersecond.MicrometersPerMinutes).MetersPerSecond, MicrometersPerMinutesTolerance);
132172
Assert.AreEqual(1, Speed.FromMicrometersPerSecond(meterpersecond.MicrometersPerSecond).MetersPerSecond, MicrometersPerSecondTolerance);
133173
Assert.AreEqual(1, Speed.FromMilesPerHour(meterpersecond.MilesPerHour).MetersPerSecond, MilesPerHourTolerance);
174+
Assert.AreEqual(1, Speed.FromMillimetersPerMinutes(meterpersecond.MillimetersPerMinutes).MetersPerSecond, MillimetersPerMinutesTolerance);
134175
Assert.AreEqual(1, Speed.FromMillimetersPerSecond(meterpersecond.MillimetersPerSecond).MetersPerSecond, MillimetersPerSecondTolerance);
176+
Assert.AreEqual(1, Speed.FromNanometersPerMinutes(meterpersecond.NanometersPerMinutes).MetersPerSecond, NanometersPerMinutesTolerance);
135177
Assert.AreEqual(1, Speed.FromNanometersPerSecond(meterpersecond.NanometersPerSecond).MetersPerSecond, NanometersPerSecondTolerance);
136178
}
137179

UnitsNet/GeneratedCode/Enums/SpeedUnit.g.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,24 @@ namespace UnitsNet.Units
2525
public enum SpeedUnit
2626
{
2727
Undefined = 0,
28+
CentimeterPerMinute,
2829
CentimeterPerSecond,
30+
DecimeterPerMinute,
2931
DecimeterPerSecond,
3032
FootPerSecond,
3133
KilometerPerHour,
34+
KilometerPerMinute,
3235
KilometerPerSecond,
3336
Knot,
3437
MeterPerHour,
38+
MeterPerMinute,
3539
MeterPerSecond,
40+
MicrometerPerMinute,
3641
MicrometerPerSecond,
3742
MilePerHour,
43+
MillimeterPerMinute,
3844
MillimeterPerSecond,
45+
NanometerPerMinute,
3946
NanometerPerSecond,
4047
}
4148
}

0 commit comments

Comments
 (0)