Skip to content

Commit 0738210

Browse files
committed
Merge pull request #147 from rdelhommer/add-MicrolitersPerMinute
Add prefixes to LitersPerMinute, fix abbreviations
2 parents bc5eb72 + fc2ea26 commit 0738210

File tree

6 files changed

+208
-2
lines changed

6 files changed

+208
-2
lines changed

UnitsNet.Tests/CustomCode/FlowTests.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,21 @@ public class FlowTests : FlowTestsBase
3030
protected override double MillionUsGallonsPerDayInOneCubicMeterPerSecond => 22.824465227;
3131

3232
protected override double CubicMetersPerSecondInOneCubicMeterPerSecond => 1;
33-
33+
3434
protected override double UsGallonsPerMinuteInOneCubicMeterPerSecond => 15850.323141489;
3535

3636
protected override double LitersPerMinuteInOneCubicMeterPerSecond => 60000.00000;
37+
38+
protected override double NanolitersPerMinuteInOneCubicMeterPerSecond => 60000000000000.00000;
39+
40+
protected override double MicrolitersPerMinuteInOneCubicMeterPerSecond => 60000000000.00000;
41+
42+
protected override double MillilitersPerMinuteInOneCubicMeterPerSecond => 60000000.00000;
43+
44+
protected override double CentilitersPerMinuteInOneCubicMeterPerSecond => 6000000.00000;
45+
46+
protected override double DecilitersPerMinuteInOneCubicMeterPerSecond => 600000.00000;
47+
48+
protected override double KilolitersPerMinuteInOneCubicMeterPerSecond => 60.00000;
3749
}
3850
}

UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,66 +36,102 @@ namespace UnitsNet.Tests
3636
// ReSharper disable once PartialTypeWithSinglePart
3737
public abstract partial class FlowTestsBase
3838
{
39+
protected abstract double CentilitersPerMinuteInOneCubicMeterPerSecond { get; }
3940
protected abstract double CubicFeetPerSecondInOneCubicMeterPerSecond { get; }
4041
protected abstract double CubicMetersPerHourInOneCubicMeterPerSecond { get; }
4142
protected abstract double CubicMetersPerSecondInOneCubicMeterPerSecond { get; }
43+
protected abstract double DecilitersPerMinuteInOneCubicMeterPerSecond { get; }
44+
protected abstract double KilolitersPerMinuteInOneCubicMeterPerSecond { get; }
4245
protected abstract double LitersPerMinuteInOneCubicMeterPerSecond { get; }
46+
protected abstract double MicrolitersPerMinuteInOneCubicMeterPerSecond { get; }
47+
protected abstract double MillilitersPerMinuteInOneCubicMeterPerSecond { get; }
4348
protected abstract double MillionUsGallonsPerDayInOneCubicMeterPerSecond { get; }
49+
protected abstract double NanolitersPerMinuteInOneCubicMeterPerSecond { get; }
4450
protected abstract double UsGallonsPerMinuteInOneCubicMeterPerSecond { get; }
4551

4652
// ReSharper disable VirtualMemberNeverOverriden.Global
53+
protected virtual double CentilitersPerMinuteTolerance { get { return 1e-5; } }
4754
protected virtual double CubicFeetPerSecondTolerance { get { return 1e-5; } }
4855
protected virtual double CubicMetersPerHourTolerance { get { return 1e-5; } }
4956
protected virtual double CubicMetersPerSecondTolerance { get { return 1e-5; } }
57+
protected virtual double DecilitersPerMinuteTolerance { get { return 1e-5; } }
58+
protected virtual double KilolitersPerMinuteTolerance { get { return 1e-5; } }
5059
protected virtual double LitersPerMinuteTolerance { get { return 1e-5; } }
60+
protected virtual double MicrolitersPerMinuteTolerance { get { return 1e-5; } }
61+
protected virtual double MillilitersPerMinuteTolerance { get { return 1e-5; } }
5162
protected virtual double MillionUsGallonsPerDayTolerance { get { return 1e-5; } }
63+
protected virtual double NanolitersPerMinuteTolerance { get { return 1e-5; } }
5264
protected virtual double UsGallonsPerMinuteTolerance { get { return 1e-5; } }
5365
// ReSharper restore VirtualMemberNeverOverriden.Global
5466

5567
[Test]
5668
public void CubicMeterPerSecondToFlowUnits()
5769
{
5870
Flow cubicmeterpersecond = Flow.FromCubicMetersPerSecond(1);
71+
Assert.AreEqual(CentilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.CentilitersPerMinute, CentilitersPerMinuteTolerance);
5972
Assert.AreEqual(CubicFeetPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.CubicFeetPerSecond, CubicFeetPerSecondTolerance);
6073
Assert.AreEqual(CubicMetersPerHourInOneCubicMeterPerSecond, cubicmeterpersecond.CubicMetersPerHour, CubicMetersPerHourTolerance);
6174
Assert.AreEqual(CubicMetersPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.CubicMetersPerSecond, CubicMetersPerSecondTolerance);
75+
Assert.AreEqual(DecilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.DecilitersPerMinute, DecilitersPerMinuteTolerance);
76+
Assert.AreEqual(KilolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.KilolitersPerMinute, KilolitersPerMinuteTolerance);
6277
Assert.AreEqual(LitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.LitersPerMinute, LitersPerMinuteTolerance);
78+
Assert.AreEqual(MicrolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.MicrolitersPerMinute, MicrolitersPerMinuteTolerance);
79+
Assert.AreEqual(MillilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.MillilitersPerMinute, MillilitersPerMinuteTolerance);
6380
Assert.AreEqual(MillionUsGallonsPerDayInOneCubicMeterPerSecond, cubicmeterpersecond.MillionUsGallonsPerDay, MillionUsGallonsPerDayTolerance);
81+
Assert.AreEqual(NanolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.NanolitersPerMinute, NanolitersPerMinuteTolerance);
6482
Assert.AreEqual(UsGallonsPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.UsGallonsPerMinute, UsGallonsPerMinuteTolerance);
6583
}
6684

6785
[Test]
6886
public void FromValueAndUnit()
6987
{
88+
Assert.AreEqual(1, Flow.From(1, FlowUnit.CentilitersPerMinute).CentilitersPerMinute, CentilitersPerMinuteTolerance);
7089
Assert.AreEqual(1, Flow.From(1, FlowUnit.CubicFootPerSecond).CubicFeetPerSecond, CubicFeetPerSecondTolerance);
7190
Assert.AreEqual(1, Flow.From(1, FlowUnit.CubicMeterPerHour).CubicMetersPerHour, CubicMetersPerHourTolerance);
7291
Assert.AreEqual(1, Flow.From(1, FlowUnit.CubicMeterPerSecond).CubicMetersPerSecond, CubicMetersPerSecondTolerance);
92+
Assert.AreEqual(1, Flow.From(1, FlowUnit.DecilitersPerMinute).DecilitersPerMinute, DecilitersPerMinuteTolerance);
93+
Assert.AreEqual(1, Flow.From(1, FlowUnit.KilolitersPerMinute).KilolitersPerMinute, KilolitersPerMinuteTolerance);
7394
Assert.AreEqual(1, Flow.From(1, FlowUnit.LitersPerMinute).LitersPerMinute, LitersPerMinuteTolerance);
95+
Assert.AreEqual(1, Flow.From(1, FlowUnit.MicrolitersPerMinute).MicrolitersPerMinute, MicrolitersPerMinuteTolerance);
96+
Assert.AreEqual(1, Flow.From(1, FlowUnit.MillilitersPerMinute).MillilitersPerMinute, MillilitersPerMinuteTolerance);
7497
Assert.AreEqual(1, Flow.From(1, FlowUnit.MillionUsGallonsPerDay).MillionUsGallonsPerDay, MillionUsGallonsPerDayTolerance);
98+
Assert.AreEqual(1, Flow.From(1, FlowUnit.NanolitersPerMinute).NanolitersPerMinute, NanolitersPerMinuteTolerance);
7599
Assert.AreEqual(1, Flow.From(1, FlowUnit.UsGallonsPerMinute).UsGallonsPerMinute, UsGallonsPerMinuteTolerance);
76100
}
77101

78102
[Test]
79103
public void As()
80104
{
81105
var cubicmeterpersecond = Flow.FromCubicMetersPerSecond(1);
106+
Assert.AreEqual(CentilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CentilitersPerMinute), CentilitersPerMinuteTolerance);
82107
Assert.AreEqual(CubicFeetPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicFootPerSecond), CubicFeetPerSecondTolerance);
83108
Assert.AreEqual(CubicMetersPerHourInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicMeterPerHour), CubicMetersPerHourTolerance);
84109
Assert.AreEqual(CubicMetersPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicMeterPerSecond), CubicMetersPerSecondTolerance);
110+
Assert.AreEqual(DecilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.DecilitersPerMinute), DecilitersPerMinuteTolerance);
111+
Assert.AreEqual(KilolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.KilolitersPerMinute), KilolitersPerMinuteTolerance);
85112
Assert.AreEqual(LitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.LitersPerMinute), LitersPerMinuteTolerance);
113+
Assert.AreEqual(MicrolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MicrolitersPerMinute), MicrolitersPerMinuteTolerance);
114+
Assert.AreEqual(MillilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MillilitersPerMinute), MillilitersPerMinuteTolerance);
86115
Assert.AreEqual(MillionUsGallonsPerDayInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MillionUsGallonsPerDay), MillionUsGallonsPerDayTolerance);
116+
Assert.AreEqual(NanolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.NanolitersPerMinute), NanolitersPerMinuteTolerance);
87117
Assert.AreEqual(UsGallonsPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.UsGallonsPerMinute), UsGallonsPerMinuteTolerance);
88118
}
89119

90120
[Test]
91121
public void ConversionRoundTrip()
92122
{
93123
Flow cubicmeterpersecond = Flow.FromCubicMetersPerSecond(1);
124+
Assert.AreEqual(1, Flow.FromCentilitersPerMinute(cubicmeterpersecond.CentilitersPerMinute).CubicMetersPerSecond, CentilitersPerMinuteTolerance);
94125
Assert.AreEqual(1, Flow.FromCubicFeetPerSecond(cubicmeterpersecond.CubicFeetPerSecond).CubicMetersPerSecond, CubicFeetPerSecondTolerance);
95126
Assert.AreEqual(1, Flow.FromCubicMetersPerHour(cubicmeterpersecond.CubicMetersPerHour).CubicMetersPerSecond, CubicMetersPerHourTolerance);
96127
Assert.AreEqual(1, Flow.FromCubicMetersPerSecond(cubicmeterpersecond.CubicMetersPerSecond).CubicMetersPerSecond, CubicMetersPerSecondTolerance);
128+
Assert.AreEqual(1, Flow.FromDecilitersPerMinute(cubicmeterpersecond.DecilitersPerMinute).CubicMetersPerSecond, DecilitersPerMinuteTolerance);
129+
Assert.AreEqual(1, Flow.FromKilolitersPerMinute(cubicmeterpersecond.KilolitersPerMinute).CubicMetersPerSecond, KilolitersPerMinuteTolerance);
97130
Assert.AreEqual(1, Flow.FromLitersPerMinute(cubicmeterpersecond.LitersPerMinute).CubicMetersPerSecond, LitersPerMinuteTolerance);
131+
Assert.AreEqual(1, Flow.FromMicrolitersPerMinute(cubicmeterpersecond.MicrolitersPerMinute).CubicMetersPerSecond, MicrolitersPerMinuteTolerance);
132+
Assert.AreEqual(1, Flow.FromMillilitersPerMinute(cubicmeterpersecond.MillilitersPerMinute).CubicMetersPerSecond, MillilitersPerMinuteTolerance);
98133
Assert.AreEqual(1, Flow.FromMillionUsGallonsPerDay(cubicmeterpersecond.MillionUsGallonsPerDay).CubicMetersPerSecond, MillionUsGallonsPerDayTolerance);
134+
Assert.AreEqual(1, Flow.FromNanolitersPerMinute(cubicmeterpersecond.NanolitersPerMinute).CubicMetersPerSecond, NanolitersPerMinuteTolerance);
99135
Assert.AreEqual(1, Flow.FromUsGallonsPerMinute(cubicmeterpersecond.UsGallonsPerMinute).CubicMetersPerSecond, UsGallonsPerMinuteTolerance);
100136
}
101137

UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,17 @@ namespace UnitsNet.Units
2525
public enum FlowUnit
2626
{
2727
Undefined = 0,
28+
CentilitersPerMinute,
2829
CubicFootPerSecond,
2930
CubicMeterPerHour,
3031
CubicMeterPerSecond,
32+
DecilitersPerMinute,
33+
KilolitersPerMinute,
3134
LitersPerMinute,
35+
MicrolitersPerMinute,
36+
MillilitersPerMinute,
3237
MillionUsGallonsPerDay,
38+
NanolitersPerMinute,
3339
UsGallonsPerMinute,
3440
}
3541
}

UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ public static FlowUnit BaseUnit
5454
get { return FlowUnit.CubicMeterPerSecond; }
5555
}
5656

57+
/// <summary>
58+
/// Get Flow in CentilitersPerMinute.
59+
/// </summary>
60+
public double CentilitersPerMinute
61+
{
62+
get { return (_cubicMetersPerSecond*60000.00000) / 1e-2d; }
63+
}
64+
5765
/// <summary>
5866
/// Get Flow in CubicFeetPerSecond.
5967
/// </summary>
@@ -78,6 +86,22 @@ public double CubicMetersPerSecond
7886
get { return _cubicMetersPerSecond; }
7987
}
8088

89+
/// <summary>
90+
/// Get Flow in DecilitersPerMinute.
91+
/// </summary>
92+
public double DecilitersPerMinute
93+
{
94+
get { return (_cubicMetersPerSecond*60000.00000) / 1e-1d; }
95+
}
96+
97+
/// <summary>
98+
/// Get Flow in KilolitersPerMinute.
99+
/// </summary>
100+
public double KilolitersPerMinute
101+
{
102+
get { return (_cubicMetersPerSecond*60000.00000) / 1e3d; }
103+
}
104+
81105
/// <summary>
82106
/// Get Flow in LitersPerMinute.
83107
/// </summary>
@@ -86,6 +110,22 @@ public double LitersPerMinute
86110
get { return _cubicMetersPerSecond*60000.00000; }
87111
}
88112

113+
/// <summary>
114+
/// Get Flow in MicrolitersPerMinute.
115+
/// </summary>
116+
public double MicrolitersPerMinute
117+
{
118+
get { return (_cubicMetersPerSecond*60000.00000) / 1e-6d; }
119+
}
120+
121+
/// <summary>
122+
/// Get Flow in MillilitersPerMinute.
123+
/// </summary>
124+
public double MillilitersPerMinute
125+
{
126+
get { return (_cubicMetersPerSecond*60000.00000) / 1e-3d; }
127+
}
128+
89129
/// <summary>
90130
/// Get Flow in MillionUsGallonsPerDay.
91131
/// </summary>
@@ -94,6 +134,14 @@ public double MillionUsGallonsPerDay
94134
get { return _cubicMetersPerSecond*22.824465227; }
95135
}
96136

137+
/// <summary>
138+
/// Get Flow in NanolitersPerMinute.
139+
/// </summary>
140+
public double NanolitersPerMinute
141+
{
142+
get { return (_cubicMetersPerSecond*60000.00000) / 1e-9d; }
143+
}
144+
97145
/// <summary>
98146
/// Get Flow in UsGallonsPerMinute.
99147
/// </summary>
@@ -111,6 +159,14 @@ public static Flow Zero
111159
get { return new Flow(); }
112160
}
113161

162+
/// <summary>
163+
/// Get Flow from CentilitersPerMinute.
164+
/// </summary>
165+
public static Flow FromCentilitersPerMinute(double centilitersperminute)
166+
{
167+
return new Flow((centilitersperminute/60000.00000) * 1e-2d);
168+
}
169+
114170
/// <summary>
115171
/// Get Flow from CubicFeetPerSecond.
116172
/// </summary>
@@ -135,6 +191,22 @@ public static Flow FromCubicMetersPerSecond(double cubicmeterspersecond)
135191
return new Flow(cubicmeterspersecond);
136192
}
137193

194+
/// <summary>
195+
/// Get Flow from DecilitersPerMinute.
196+
/// </summary>
197+
public static Flow FromDecilitersPerMinute(double decilitersperminute)
198+
{
199+
return new Flow((decilitersperminute/60000.00000) * 1e-1d);
200+
}
201+
202+
/// <summary>
203+
/// Get Flow from KilolitersPerMinute.
204+
/// </summary>
205+
public static Flow FromKilolitersPerMinute(double kilolitersperminute)
206+
{
207+
return new Flow((kilolitersperminute/60000.00000) * 1e3d);
208+
}
209+
138210
/// <summary>
139211
/// Get Flow from LitersPerMinute.
140212
/// </summary>
@@ -143,6 +215,22 @@ public static Flow FromLitersPerMinute(double litersperminute)
143215
return new Flow(litersperminute/60000.00000);
144216
}
145217

218+
/// <summary>
219+
/// Get Flow from MicrolitersPerMinute.
220+
/// </summary>
221+
public static Flow FromMicrolitersPerMinute(double microlitersperminute)
222+
{
223+
return new Flow((microlitersperminute/60000.00000) * 1e-6d);
224+
}
225+
226+
/// <summary>
227+
/// Get Flow from MillilitersPerMinute.
228+
/// </summary>
229+
public static Flow FromMillilitersPerMinute(double millilitersperminute)
230+
{
231+
return new Flow((millilitersperminute/60000.00000) * 1e-3d);
232+
}
233+
146234
/// <summary>
147235
/// Get Flow from MillionUsGallonsPerDay.
148236
/// </summary>
@@ -151,6 +239,14 @@ public static Flow FromMillionUsGallonsPerDay(double millionusgallonsperday)
151239
return new Flow(millionusgallonsperday/22.824465227);
152240
}
153241

242+
/// <summary>
243+
/// Get Flow from NanolitersPerMinute.
244+
/// </summary>
245+
public static Flow FromNanolitersPerMinute(double nanolitersperminute)
246+
{
247+
return new Flow((nanolitersperminute/60000.00000) * 1e-9d);
248+
}
249+
154250
/// <summary>
155251
/// Get Flow from UsGallonsPerMinute.
156252
/// </summary>
@@ -261,16 +357,28 @@ public static Flow From(double value, FlowUnit fromUnit)
261357
{
262358
switch (fromUnit)
263359
{
360+
case FlowUnit.CentilitersPerMinute:
361+
return FromCentilitersPerMinute(value);
264362
case FlowUnit.CubicFootPerSecond:
265363
return FromCubicFeetPerSecond(value);
266364
case FlowUnit.CubicMeterPerHour:
267365
return FromCubicMetersPerHour(value);
268366
case FlowUnit.CubicMeterPerSecond:
269367
return FromCubicMetersPerSecond(value);
368+
case FlowUnit.DecilitersPerMinute:
369+
return FromDecilitersPerMinute(value);
370+
case FlowUnit.KilolitersPerMinute:
371+
return FromKilolitersPerMinute(value);
270372
case FlowUnit.LitersPerMinute:
271373
return FromLitersPerMinute(value);
374+
case FlowUnit.MicrolitersPerMinute:
375+
return FromMicrolitersPerMinute(value);
376+
case FlowUnit.MillilitersPerMinute:
377+
return FromMillilitersPerMinute(value);
272378
case FlowUnit.MillionUsGallonsPerDay:
273379
return FromMillionUsGallonsPerDay(value);
380+
case FlowUnit.NanolitersPerMinute:
381+
return FromNanolitersPerMinute(value);
274382
case FlowUnit.UsGallonsPerMinute:
275383
return FromUsGallonsPerMinute(value);
276384

@@ -438,16 +546,28 @@ public double As(FlowUnit unit)
438546
{
439547
switch (unit)
440548
{
549+
case FlowUnit.CentilitersPerMinute:
550+
return CentilitersPerMinute;
441551
case FlowUnit.CubicFootPerSecond:
442552
return CubicFeetPerSecond;
443553
case FlowUnit.CubicMeterPerHour:
444554
return CubicMetersPerHour;
445555
case FlowUnit.CubicMeterPerSecond:
446556
return CubicMetersPerSecond;
557+
case FlowUnit.DecilitersPerMinute:
558+
return DecilitersPerMinute;
559+
case FlowUnit.KilolitersPerMinute:
560+
return KilolitersPerMinute;
447561
case FlowUnit.LitersPerMinute:
448562
return LitersPerMinute;
563+
case FlowUnit.MicrolitersPerMinute:
564+
return MicrolitersPerMinute;
565+
case FlowUnit.MillilitersPerMinute:
566+
return MillilitersPerMinute;
449567
case FlowUnit.MillionUsGallonsPerDay:
450568
return MillionUsGallonsPerDay;
569+
case FlowUnit.NanolitersPerMinute:
570+
return NanolitersPerMinute;
451571
case FlowUnit.UsGallonsPerMinute:
452572
return UsGallonsPerMinute;
453573

0 commit comments

Comments
 (0)