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
14 changes: 13 additions & 1 deletion UnitsNet.Tests/CustomCode/FlowTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,21 @@ public class FlowTests : FlowTestsBase
protected override double MillionUsGallonsPerDayInOneCubicMeterPerSecond => 22.824465227;

protected override double CubicMetersPerSecondInOneCubicMeterPerSecond => 1;

protected override double UsGallonsPerMinuteInOneCubicMeterPerSecond => 15850.323141489;

protected override double LitersPerMinuteInOneCubicMeterPerSecond => 60000.00000;

protected override double NanolitersPerMinuteInOneCubicMeterPerSecond => 60000000000000.00000;

protected override double MicrolitersPerMinuteInOneCubicMeterPerSecond => 60000000000.00000;

protected override double MillilitersPerMinuteInOneCubicMeterPerSecond => 60000000.00000;

protected override double CentilitersPerMinuteInOneCubicMeterPerSecond => 6000000.00000;

protected override double DecilitersPerMinuteInOneCubicMeterPerSecond => 600000.00000;

protected override double KilolitersPerMinuteInOneCubicMeterPerSecond => 60.00000;
}
}
36 changes: 36 additions & 0 deletions UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,66 +36,102 @@ namespace UnitsNet.Tests
// ReSharper disable once PartialTypeWithSinglePart
public abstract partial class FlowTestsBase
{
protected abstract double CentilitersPerMinuteInOneCubicMeterPerSecond { get; }
protected abstract double CubicFeetPerSecondInOneCubicMeterPerSecond { get; }
protected abstract double CubicMetersPerHourInOneCubicMeterPerSecond { get; }
protected abstract double CubicMetersPerSecondInOneCubicMeterPerSecond { get; }
protected abstract double DecilitersPerMinuteInOneCubicMeterPerSecond { get; }
protected abstract double KilolitersPerMinuteInOneCubicMeterPerSecond { get; }
protected abstract double LitersPerMinuteInOneCubicMeterPerSecond { get; }
protected abstract double MicrolitersPerMinuteInOneCubicMeterPerSecond { get; }
protected abstract double MillilitersPerMinuteInOneCubicMeterPerSecond { get; }
protected abstract double MillionUsGallonsPerDayInOneCubicMeterPerSecond { get; }
protected abstract double NanolitersPerMinuteInOneCubicMeterPerSecond { get; }
protected abstract double UsGallonsPerMinuteInOneCubicMeterPerSecond { get; }

// ReSharper disable VirtualMemberNeverOverriden.Global
protected virtual double CentilitersPerMinuteTolerance { get { return 1e-5; } }
protected virtual double CubicFeetPerSecondTolerance { get { return 1e-5; } }
protected virtual double CubicMetersPerHourTolerance { get { return 1e-5; } }
protected virtual double CubicMetersPerSecondTolerance { get { return 1e-5; } }
protected virtual double DecilitersPerMinuteTolerance { get { return 1e-5; } }
protected virtual double KilolitersPerMinuteTolerance { get { return 1e-5; } }
protected virtual double LitersPerMinuteTolerance { get { return 1e-5; } }
protected virtual double MicrolitersPerMinuteTolerance { get { return 1e-5; } }
protected virtual double MillilitersPerMinuteTolerance { get { return 1e-5; } }
protected virtual double MillionUsGallonsPerDayTolerance { get { return 1e-5; } }
protected virtual double NanolitersPerMinuteTolerance { get { return 1e-5; } }
protected virtual double UsGallonsPerMinuteTolerance { get { return 1e-5; } }
// ReSharper restore VirtualMemberNeverOverriden.Global

[Test]
public void CubicMeterPerSecondToFlowUnits()
{
Flow cubicmeterpersecond = Flow.FromCubicMetersPerSecond(1);
Assert.AreEqual(CentilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.CentilitersPerMinute, CentilitersPerMinuteTolerance);
Assert.AreEqual(CubicFeetPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.CubicFeetPerSecond, CubicFeetPerSecondTolerance);
Assert.AreEqual(CubicMetersPerHourInOneCubicMeterPerSecond, cubicmeterpersecond.CubicMetersPerHour, CubicMetersPerHourTolerance);
Assert.AreEqual(CubicMetersPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.CubicMetersPerSecond, CubicMetersPerSecondTolerance);
Assert.AreEqual(DecilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.DecilitersPerMinute, DecilitersPerMinuteTolerance);
Assert.AreEqual(KilolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.KilolitersPerMinute, KilolitersPerMinuteTolerance);
Assert.AreEqual(LitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.LitersPerMinute, LitersPerMinuteTolerance);
Assert.AreEqual(MicrolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.MicrolitersPerMinute, MicrolitersPerMinuteTolerance);
Assert.AreEqual(MillilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.MillilitersPerMinute, MillilitersPerMinuteTolerance);
Assert.AreEqual(MillionUsGallonsPerDayInOneCubicMeterPerSecond, cubicmeterpersecond.MillionUsGallonsPerDay, MillionUsGallonsPerDayTolerance);
Assert.AreEqual(NanolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.NanolitersPerMinute, NanolitersPerMinuteTolerance);
Assert.AreEqual(UsGallonsPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.UsGallonsPerMinute, UsGallonsPerMinuteTolerance);
}

[Test]
public void FromValueAndUnit()
{
Assert.AreEqual(1, Flow.From(1, FlowUnit.CentilitersPerMinute).CentilitersPerMinute, CentilitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.CubicFootPerSecond).CubicFeetPerSecond, CubicFeetPerSecondTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.CubicMeterPerHour).CubicMetersPerHour, CubicMetersPerHourTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.CubicMeterPerSecond).CubicMetersPerSecond, CubicMetersPerSecondTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.DecilitersPerMinute).DecilitersPerMinute, DecilitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.KilolitersPerMinute).KilolitersPerMinute, KilolitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.LitersPerMinute).LitersPerMinute, LitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.MicrolitersPerMinute).MicrolitersPerMinute, MicrolitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.MillilitersPerMinute).MillilitersPerMinute, MillilitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.MillionUsGallonsPerDay).MillionUsGallonsPerDay, MillionUsGallonsPerDayTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.NanolitersPerMinute).NanolitersPerMinute, NanolitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.From(1, FlowUnit.UsGallonsPerMinute).UsGallonsPerMinute, UsGallonsPerMinuteTolerance);
}

[Test]
public void As()
{
var cubicmeterpersecond = Flow.FromCubicMetersPerSecond(1);
Assert.AreEqual(CentilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CentilitersPerMinute), CentilitersPerMinuteTolerance);
Assert.AreEqual(CubicFeetPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicFootPerSecond), CubicFeetPerSecondTolerance);
Assert.AreEqual(CubicMetersPerHourInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicMeterPerHour), CubicMetersPerHourTolerance);
Assert.AreEqual(CubicMetersPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicMeterPerSecond), CubicMetersPerSecondTolerance);
Assert.AreEqual(DecilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.DecilitersPerMinute), DecilitersPerMinuteTolerance);
Assert.AreEqual(KilolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.KilolitersPerMinute), KilolitersPerMinuteTolerance);
Assert.AreEqual(LitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.LitersPerMinute), LitersPerMinuteTolerance);
Assert.AreEqual(MicrolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MicrolitersPerMinute), MicrolitersPerMinuteTolerance);
Assert.AreEqual(MillilitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MillilitersPerMinute), MillilitersPerMinuteTolerance);
Assert.AreEqual(MillionUsGallonsPerDayInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MillionUsGallonsPerDay), MillionUsGallonsPerDayTolerance);
Assert.AreEqual(NanolitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.NanolitersPerMinute), NanolitersPerMinuteTolerance);
Assert.AreEqual(UsGallonsPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.UsGallonsPerMinute), UsGallonsPerMinuteTolerance);
}

[Test]
public void ConversionRoundTrip()
{
Flow cubicmeterpersecond = Flow.FromCubicMetersPerSecond(1);
Assert.AreEqual(1, Flow.FromCentilitersPerMinute(cubicmeterpersecond.CentilitersPerMinute).CubicMetersPerSecond, CentilitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.FromCubicFeetPerSecond(cubicmeterpersecond.CubicFeetPerSecond).CubicMetersPerSecond, CubicFeetPerSecondTolerance);
Assert.AreEqual(1, Flow.FromCubicMetersPerHour(cubicmeterpersecond.CubicMetersPerHour).CubicMetersPerSecond, CubicMetersPerHourTolerance);
Assert.AreEqual(1, Flow.FromCubicMetersPerSecond(cubicmeterpersecond.CubicMetersPerSecond).CubicMetersPerSecond, CubicMetersPerSecondTolerance);
Assert.AreEqual(1, Flow.FromDecilitersPerMinute(cubicmeterpersecond.DecilitersPerMinute).CubicMetersPerSecond, DecilitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.FromKilolitersPerMinute(cubicmeterpersecond.KilolitersPerMinute).CubicMetersPerSecond, KilolitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.FromLitersPerMinute(cubicmeterpersecond.LitersPerMinute).CubicMetersPerSecond, LitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.FromMicrolitersPerMinute(cubicmeterpersecond.MicrolitersPerMinute).CubicMetersPerSecond, MicrolitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.FromMillilitersPerMinute(cubicmeterpersecond.MillilitersPerMinute).CubicMetersPerSecond, MillilitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.FromMillionUsGallonsPerDay(cubicmeterpersecond.MillionUsGallonsPerDay).CubicMetersPerSecond, MillionUsGallonsPerDayTolerance);
Assert.AreEqual(1, Flow.FromNanolitersPerMinute(cubicmeterpersecond.NanolitersPerMinute).CubicMetersPerSecond, NanolitersPerMinuteTolerance);
Assert.AreEqual(1, Flow.FromUsGallonsPerMinute(cubicmeterpersecond.UsGallonsPerMinute).CubicMetersPerSecond, UsGallonsPerMinuteTolerance);
}

Expand Down
6 changes: 6 additions & 0 deletions UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,17 @@ namespace UnitsNet.Units
public enum FlowUnit
{
Undefined = 0,
CentilitersPerMinute,
CubicFootPerSecond,
CubicMeterPerHour,
CubicMeterPerSecond,
DecilitersPerMinute,
KilolitersPerMinute,
LitersPerMinute,
MicrolitersPerMinute,
MillilitersPerMinute,
MillionUsGallonsPerDay,
NanolitersPerMinute,
UsGallonsPerMinute,
}
}
120 changes: 120 additions & 0 deletions UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ public static FlowUnit BaseUnit
get { return FlowUnit.CubicMeterPerSecond; }
}

/// <summary>
/// Get Flow in CentilitersPerMinute.
/// </summary>
public double CentilitersPerMinute
{
get { return (_cubicMetersPerSecond*60000.00000) / 1e-2d; }
}

/// <summary>
/// Get Flow in CubicFeetPerSecond.
/// </summary>
Expand All @@ -78,6 +86,22 @@ public double CubicMetersPerSecond
get { return _cubicMetersPerSecond; }
}

/// <summary>
/// Get Flow in DecilitersPerMinute.
/// </summary>
public double DecilitersPerMinute
{
get { return (_cubicMetersPerSecond*60000.00000) / 1e-1d; }
}

/// <summary>
/// Get Flow in KilolitersPerMinute.
/// </summary>
public double KilolitersPerMinute
{
get { return (_cubicMetersPerSecond*60000.00000) / 1e3d; }
}

/// <summary>
/// Get Flow in LitersPerMinute.
/// </summary>
Expand All @@ -86,6 +110,22 @@ public double LitersPerMinute
get { return _cubicMetersPerSecond*60000.00000; }
}

/// <summary>
/// Get Flow in MicrolitersPerMinute.
/// </summary>
public double MicrolitersPerMinute
{
get { return (_cubicMetersPerSecond*60000.00000) / 1e-6d; }
}

/// <summary>
/// Get Flow in MillilitersPerMinute.
/// </summary>
public double MillilitersPerMinute
{
get { return (_cubicMetersPerSecond*60000.00000) / 1e-3d; }
}

/// <summary>
/// Get Flow in MillionUsGallonsPerDay.
/// </summary>
Expand All @@ -94,6 +134,14 @@ public double MillionUsGallonsPerDay
get { return _cubicMetersPerSecond*22.824465227; }
}

/// <summary>
/// Get Flow in NanolitersPerMinute.
/// </summary>
public double NanolitersPerMinute
{
get { return (_cubicMetersPerSecond*60000.00000) / 1e-9d; }
}

/// <summary>
/// Get Flow in UsGallonsPerMinute.
/// </summary>
Expand All @@ -111,6 +159,14 @@ public static Flow Zero
get { return new Flow(); }
}

/// <summary>
/// Get Flow from CentilitersPerMinute.
/// </summary>
public static Flow FromCentilitersPerMinute(double centilitersperminute)
{
return new Flow((centilitersperminute/60000.00000) * 1e-2d);
}

/// <summary>
/// Get Flow from CubicFeetPerSecond.
/// </summary>
Expand All @@ -135,6 +191,22 @@ public static Flow FromCubicMetersPerSecond(double cubicmeterspersecond)
return new Flow(cubicmeterspersecond);
}

/// <summary>
/// Get Flow from DecilitersPerMinute.
/// </summary>
public static Flow FromDecilitersPerMinute(double decilitersperminute)
{
return new Flow((decilitersperminute/60000.00000) * 1e-1d);
}

/// <summary>
/// Get Flow from KilolitersPerMinute.
/// </summary>
public static Flow FromKilolitersPerMinute(double kilolitersperminute)
{
return new Flow((kilolitersperminute/60000.00000) * 1e3d);
}

/// <summary>
/// Get Flow from LitersPerMinute.
/// </summary>
Expand All @@ -143,6 +215,22 @@ public static Flow FromLitersPerMinute(double litersperminute)
return new Flow(litersperminute/60000.00000);
}

/// <summary>
/// Get Flow from MicrolitersPerMinute.
/// </summary>
public static Flow FromMicrolitersPerMinute(double microlitersperminute)
{
return new Flow((microlitersperminute/60000.00000) * 1e-6d);
}

/// <summary>
/// Get Flow from MillilitersPerMinute.
/// </summary>
public static Flow FromMillilitersPerMinute(double millilitersperminute)
{
return new Flow((millilitersperminute/60000.00000) * 1e-3d);
}

/// <summary>
/// Get Flow from MillionUsGallonsPerDay.
/// </summary>
Expand All @@ -151,6 +239,14 @@ public static Flow FromMillionUsGallonsPerDay(double millionusgallonsperday)
return new Flow(millionusgallonsperday/22.824465227);
}

/// <summary>
/// Get Flow from NanolitersPerMinute.
/// </summary>
public static Flow FromNanolitersPerMinute(double nanolitersperminute)
{
return new Flow((nanolitersperminute/60000.00000) * 1e-9d);
}

/// <summary>
/// Get Flow from UsGallonsPerMinute.
/// </summary>
Expand All @@ -170,16 +266,28 @@ public static Flow From(double value, FlowUnit fromUnit)
{
switch (fromUnit)
{
case FlowUnit.CentilitersPerMinute:
return FromCentilitersPerMinute(value);
case FlowUnit.CubicFootPerSecond:
return FromCubicFeetPerSecond(value);
case FlowUnit.CubicMeterPerHour:
return FromCubicMetersPerHour(value);
case FlowUnit.CubicMeterPerSecond:
return FromCubicMetersPerSecond(value);
case FlowUnit.DecilitersPerMinute:
return FromDecilitersPerMinute(value);
case FlowUnit.KilolitersPerMinute:
return FromKilolitersPerMinute(value);
case FlowUnit.LitersPerMinute:
return FromLitersPerMinute(value);
case FlowUnit.MicrolitersPerMinute:
return FromMicrolitersPerMinute(value);
case FlowUnit.MillilitersPerMinute:
return FromMillilitersPerMinute(value);
case FlowUnit.MillionUsGallonsPerDay:
return FromMillionUsGallonsPerDay(value);
case FlowUnit.NanolitersPerMinute:
return FromNanolitersPerMinute(value);
case FlowUnit.UsGallonsPerMinute:
return FromUsGallonsPerMinute(value);

Expand Down Expand Up @@ -315,16 +423,28 @@ public double As(FlowUnit unit)
{
switch (unit)
{
case FlowUnit.CentilitersPerMinute:
return CentilitersPerMinute;
case FlowUnit.CubicFootPerSecond:
return CubicFeetPerSecond;
case FlowUnit.CubicMeterPerHour:
return CubicMetersPerHour;
case FlowUnit.CubicMeterPerSecond:
return CubicMetersPerSecond;
case FlowUnit.DecilitersPerMinute:
return DecilitersPerMinute;
case FlowUnit.KilolitersPerMinute:
return KilolitersPerMinute;
case FlowUnit.LitersPerMinute:
return LitersPerMinute;
case FlowUnit.MicrolitersPerMinute:
return MicrolitersPerMinute;
case FlowUnit.MillilitersPerMinute:
return MillilitersPerMinute;
case FlowUnit.MillionUsGallonsPerDay:
return MillionUsGallonsPerDay;
case FlowUnit.NanolitersPerMinute:
return NanolitersPerMinute;
case FlowUnit.UsGallonsPerMinute:
return UsGallonsPerMinute;

Expand Down
Loading