From cfec58b0ba6ee3c403c92ef94f32c72170329ec2 Mon Sep 17 00:00:00 2001 From: rdelhommer Date: Mon, 29 Feb 2016 13:30:09 -0800 Subject: [PATCH 1/3] add micro liters per minute --- UnitsNet.Tests/CustomCode/FlowTests.cs | 2 ++ .../GeneratedCode/FlowTestsBase.g.cs | 6 ++++++ UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs | 1 + UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs | 20 +++++++++++++++++++ .../GeneratedCode/UnitSystem.Default.g.cs | 5 +++++ UnitsNet/Scripts/UnitDefinitions/Flow.json | 12 +++++++++++ 6 files changed, 46 insertions(+) diff --git a/UnitsNet.Tests/CustomCode/FlowTests.cs b/UnitsNet.Tests/CustomCode/FlowTests.cs index 7487dc946b..81e719bb59 100644 --- a/UnitsNet.Tests/CustomCode/FlowTests.cs +++ b/UnitsNet.Tests/CustomCode/FlowTests.cs @@ -34,5 +34,7 @@ public class FlowTests : FlowTestsBase protected override double UsGallonsPerMinuteInOneCubicMeterPerSecond => 15850.323141489; protected override double LitersPerMinuteInOneCubicMeterPerSecond => 60000.00000; + + protected override double MicroLitersPerMinuteInOneCubicMeterPerSecond => 60000000000.00000; } } \ No newline at end of file diff --git a/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs index 8287346863..dc166f7123 100644 --- a/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs @@ -40,6 +40,7 @@ public abstract partial class FlowTestsBase protected abstract double CubicMetersPerHourInOneCubicMeterPerSecond { get; } protected abstract double CubicMetersPerSecondInOneCubicMeterPerSecond { get; } protected abstract double LitersPerMinuteInOneCubicMeterPerSecond { get; } + protected abstract double MicroLitersPerMinuteInOneCubicMeterPerSecond { get; } protected abstract double MillionUsGallonsPerDayInOneCubicMeterPerSecond { get; } protected abstract double UsGallonsPerMinuteInOneCubicMeterPerSecond { get; } @@ -48,6 +49,7 @@ public abstract partial class FlowTestsBase protected virtual double CubicMetersPerHourTolerance { get { return 1e-5; } } protected virtual double CubicMetersPerSecondTolerance { get { return 1e-5; } } protected virtual double LitersPerMinuteTolerance { get { return 1e-5; } } + protected virtual double MicroLitersPerMinuteTolerance { get { return 1e-5; } } protected virtual double MillionUsGallonsPerDayTolerance { get { return 1e-5; } } protected virtual double UsGallonsPerMinuteTolerance { get { return 1e-5; } } // ReSharper restore VirtualMemberNeverOverriden.Global @@ -60,6 +62,7 @@ public void CubicMeterPerSecondToFlowUnits() Assert.AreEqual(CubicMetersPerHourInOneCubicMeterPerSecond, cubicmeterpersecond.CubicMetersPerHour, CubicMetersPerHourTolerance); Assert.AreEqual(CubicMetersPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.CubicMetersPerSecond, CubicMetersPerSecondTolerance); Assert.AreEqual(LitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.LitersPerMinute, LitersPerMinuteTolerance); + Assert.AreEqual(MicroLitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.MicroLitersPerMinute, MicroLitersPerMinuteTolerance); Assert.AreEqual(MillionUsGallonsPerDayInOneCubicMeterPerSecond, cubicmeterpersecond.MillionUsGallonsPerDay, MillionUsGallonsPerDayTolerance); Assert.AreEqual(UsGallonsPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.UsGallonsPerMinute, UsGallonsPerMinuteTolerance); } @@ -71,6 +74,7 @@ public void FromValueAndUnit() 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.LitersPerMinute).LitersPerMinute, LitersPerMinuteTolerance); + Assert.AreEqual(1, Flow.From(1, FlowUnit.MicroLitersPerMinute).MicroLitersPerMinute, MicroLitersPerMinuteTolerance); Assert.AreEqual(1, Flow.From(1, FlowUnit.MillionUsGallonsPerDay).MillionUsGallonsPerDay, MillionUsGallonsPerDayTolerance); Assert.AreEqual(1, Flow.From(1, FlowUnit.UsGallonsPerMinute).UsGallonsPerMinute, UsGallonsPerMinuteTolerance); } @@ -83,6 +87,7 @@ public void As() Assert.AreEqual(CubicMetersPerHourInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicMeterPerHour), CubicMetersPerHourTolerance); Assert.AreEqual(CubicMetersPerSecondInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.CubicMeterPerSecond), CubicMetersPerSecondTolerance); Assert.AreEqual(LitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.LitersPerMinute), LitersPerMinuteTolerance); + Assert.AreEqual(MicroLitersPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MicroLitersPerMinute), MicroLitersPerMinuteTolerance); Assert.AreEqual(MillionUsGallonsPerDayInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.MillionUsGallonsPerDay), MillionUsGallonsPerDayTolerance); Assert.AreEqual(UsGallonsPerMinuteInOneCubicMeterPerSecond, cubicmeterpersecond.As(FlowUnit.UsGallonsPerMinute), UsGallonsPerMinuteTolerance); } @@ -95,6 +100,7 @@ public void ConversionRoundTrip() Assert.AreEqual(1, Flow.FromCubicMetersPerHour(cubicmeterpersecond.CubicMetersPerHour).CubicMetersPerSecond, CubicMetersPerHourTolerance); Assert.AreEqual(1, Flow.FromCubicMetersPerSecond(cubicmeterpersecond.CubicMetersPerSecond).CubicMetersPerSecond, CubicMetersPerSecondTolerance); Assert.AreEqual(1, Flow.FromLitersPerMinute(cubicmeterpersecond.LitersPerMinute).CubicMetersPerSecond, LitersPerMinuteTolerance); + Assert.AreEqual(1, Flow.FromMicroLitersPerMinute(cubicmeterpersecond.MicroLitersPerMinute).CubicMetersPerSecond, MicroLitersPerMinuteTolerance); Assert.AreEqual(1, Flow.FromMillionUsGallonsPerDay(cubicmeterpersecond.MillionUsGallonsPerDay).CubicMetersPerSecond, MillionUsGallonsPerDayTolerance); Assert.AreEqual(1, Flow.FromUsGallonsPerMinute(cubicmeterpersecond.UsGallonsPerMinute).CubicMetersPerSecond, UsGallonsPerMinuteTolerance); } diff --git a/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs b/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs index b146a4a812..00e6221619 100644 --- a/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs +++ b/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs @@ -29,6 +29,7 @@ public enum FlowUnit CubicMeterPerHour, CubicMeterPerSecond, LitersPerMinute, + MicroLitersPerMinute, MillionUsGallonsPerDay, UsGallonsPerMinute, } diff --git a/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs index c174e41f5f..142d78b8e2 100644 --- a/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs +++ b/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs @@ -86,6 +86,14 @@ public double LitersPerMinute get { return _cubicMetersPerSecond*60000.00000; } } + /// + /// Get Flow in MicroLitersPerMinute. + /// + public double MicroLitersPerMinute + { + get { return _cubicMetersPerSecond*60000000000.00000; } + } + /// /// Get Flow in MillionUsGallonsPerDay. /// @@ -143,6 +151,14 @@ public static Flow FromLitersPerMinute(double litersperminute) return new Flow(litersperminute/60000.00000); } + /// + /// Get Flow from MicroLitersPerMinute. + /// + public static Flow FromMicroLitersPerMinute(double microlitersperminute) + { + return new Flow(microlitersperminute/60000000000.00000); + } + /// /// Get Flow from MillionUsGallonsPerDay. /// @@ -178,6 +194,8 @@ public static Flow From(double value, FlowUnit fromUnit) return FromCubicMetersPerSecond(value); case FlowUnit.LitersPerMinute: return FromLitersPerMinute(value); + case FlowUnit.MicroLitersPerMinute: + return FromMicroLitersPerMinute(value); case FlowUnit.MillionUsGallonsPerDay: return FromMillionUsGallonsPerDay(value); case FlowUnit.UsGallonsPerMinute: @@ -323,6 +341,8 @@ public double As(FlowUnit unit) return CubicMetersPerSecond; case FlowUnit.LitersPerMinute: return LitersPerMinute; + case FlowUnit.MicroLitersPerMinute: + return MicroLitersPerMinute; case FlowUnit.MillionUsGallonsPerDay: return MillionUsGallonsPerDay; case FlowUnit.UsGallonsPerMinute: diff --git a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs index 3f26b776fa..3704283ff6 100644 --- a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs +++ b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs @@ -565,6 +565,11 @@ private static readonly ReadOnlyCollection DefaultLocalization { new AbbreviationsForCulture("en-US", "LPM"), }), + new CulturesForEnumValue((int) FlowUnit.MicroLitersPerMinute, + new[] + { + new AbbreviationsForCulture("en-US", "μLPM"), + }), new CulturesForEnumValue((int) FlowUnit.MillionUsGallonsPerDay, new[] { diff --git a/UnitsNet/Scripts/UnitDefinitions/Flow.json b/UnitsNet/Scripts/UnitDefinitions/Flow.json index be34971356..5b345d468e 100644 --- a/UnitsNet/Scripts/UnitDefinitions/Flow.json +++ b/UnitsNet/Scripts/UnitDefinitions/Flow.json @@ -70,6 +70,18 @@ "Abbreviations": [ "LPM" ] } ] + }, + { + "SingularName": "MicroLitersPerMinute", + "PluralName": "MicroLitersPerMinute", + "FromUnitToBaseFunc": "x/60000000000.00000", + "FromBaseToUnitFunc": "x*60000000000.00000", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "μLPM" ] + } + ] }, { "SingularName": "UsGallonsPerMinute", From 61a0d9a1d3bbf1ceb217c45e51c08578b3a02169 Mon Sep 17 00:00:00 2001 From: rdelhommer Date: Mon, 29 Feb 2016 15:25:14 -0800 Subject: [PATCH 2/3] add units using prefix method instead. also added other commonly used prefixes --- UnitsNet.Tests/CustomCode/FlowTests.cs | 14 +- .../GeneratedCode/FlowTestsBase.g.cs | 42 +++++- UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs | 7 +- UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs | 120 ++++++++++++++++-- .../GeneratedCode/UnitSystem.Default.g.cs | 27 +++- UnitsNet/Scripts/UnitDefinitions/Flow.json | 16 +-- 6 files changed, 193 insertions(+), 33 deletions(-) diff --git a/UnitsNet.Tests/CustomCode/FlowTests.cs b/UnitsNet.Tests/CustomCode/FlowTests.cs index 81e719bb59..de7424e14e 100644 --- a/UnitsNet.Tests/CustomCode/FlowTests.cs +++ b/UnitsNet.Tests/CustomCode/FlowTests.cs @@ -30,11 +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 MicroLitersPerMinuteInOneCubicMeterPerSecond => 60000000000.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; } } \ No newline at end of file diff --git a/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs index dc166f7123..3963b8e3a4 100644 --- a/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/FlowTestsBase.g.cs @@ -36,21 +36,31 @@ 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 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 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 @@ -58,24 +68,34 @@ public abstract partial class FlowTestsBase 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(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.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); } @@ -83,12 +103,17 @@ public void FromValueAndUnit() 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(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); } @@ -96,12 +121,17 @@ public void As() 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.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); } diff --git a/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs b/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs index 00e6221619..4fb0a545c7 100644 --- a/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs +++ b/UnitsNet/GeneratedCode/Enums/FlowUnit.g.cs @@ -25,12 +25,17 @@ namespace UnitsNet.Units public enum FlowUnit { Undefined = 0, + CentilitersPerMinute, CubicFootPerSecond, CubicMeterPerHour, CubicMeterPerSecond, + DecilitersPerMinute, + KilolitersPerMinute, LitersPerMinute, - MicroLitersPerMinute, + MicrolitersPerMinute, + MillilitersPerMinute, MillionUsGallonsPerDay, + NanolitersPerMinute, UsGallonsPerMinute, } } diff --git a/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs index 142d78b8e2..c85b943c5f 100644 --- a/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs +++ b/UnitsNet/GeneratedCode/UnitClasses/Flow.g.cs @@ -54,6 +54,14 @@ public static FlowUnit BaseUnit get { return FlowUnit.CubicMeterPerSecond; } } + /// + /// Get Flow in CentilitersPerMinute. + /// + public double CentilitersPerMinute + { + get { return (_cubicMetersPerSecond*60000.00000) / 1e-2d; } + } + /// /// Get Flow in CubicFeetPerSecond. /// @@ -78,6 +86,22 @@ public double CubicMetersPerSecond get { return _cubicMetersPerSecond; } } + /// + /// Get Flow in DecilitersPerMinute. + /// + public double DecilitersPerMinute + { + get { return (_cubicMetersPerSecond*60000.00000) / 1e-1d; } + } + + /// + /// Get Flow in KilolitersPerMinute. + /// + public double KilolitersPerMinute + { + get { return (_cubicMetersPerSecond*60000.00000) / 1e3d; } + } + /// /// Get Flow in LitersPerMinute. /// @@ -87,11 +111,19 @@ public double LitersPerMinute } /// - /// Get Flow in MicroLitersPerMinute. + /// Get Flow in MicrolitersPerMinute. + /// + public double MicrolitersPerMinute + { + get { return (_cubicMetersPerSecond*60000.00000) / 1e-6d; } + } + + /// + /// Get Flow in MillilitersPerMinute. /// - public double MicroLitersPerMinute + public double MillilitersPerMinute { - get { return _cubicMetersPerSecond*60000000000.00000; } + get { return (_cubicMetersPerSecond*60000.00000) / 1e-3d; } } /// @@ -102,6 +134,14 @@ public double MillionUsGallonsPerDay get { return _cubicMetersPerSecond*22.824465227; } } + /// + /// Get Flow in NanolitersPerMinute. + /// + public double NanolitersPerMinute + { + get { return (_cubicMetersPerSecond*60000.00000) / 1e-9d; } + } + /// /// Get Flow in UsGallonsPerMinute. /// @@ -119,6 +159,14 @@ public static Flow Zero get { return new Flow(); } } + /// + /// Get Flow from CentilitersPerMinute. + /// + public static Flow FromCentilitersPerMinute(double centilitersperminute) + { + return new Flow((centilitersperminute/60000.00000) * 1e-2d); + } + /// /// Get Flow from CubicFeetPerSecond. /// @@ -143,6 +191,22 @@ public static Flow FromCubicMetersPerSecond(double cubicmeterspersecond) return new Flow(cubicmeterspersecond); } + /// + /// Get Flow from DecilitersPerMinute. + /// + public static Flow FromDecilitersPerMinute(double decilitersperminute) + { + return new Flow((decilitersperminute/60000.00000) * 1e-1d); + } + + /// + /// Get Flow from KilolitersPerMinute. + /// + public static Flow FromKilolitersPerMinute(double kilolitersperminute) + { + return new Flow((kilolitersperminute/60000.00000) * 1e3d); + } + /// /// Get Flow from LitersPerMinute. /// @@ -152,11 +216,19 @@ public static Flow FromLitersPerMinute(double litersperminute) } /// - /// Get Flow from MicroLitersPerMinute. + /// Get Flow from MicrolitersPerMinute. + /// + public static Flow FromMicrolitersPerMinute(double microlitersperminute) + { + return new Flow((microlitersperminute/60000.00000) * 1e-6d); + } + + /// + /// Get Flow from MillilitersPerMinute. /// - public static Flow FromMicroLitersPerMinute(double microlitersperminute) + public static Flow FromMillilitersPerMinute(double millilitersperminute) { - return new Flow(microlitersperminute/60000000000.00000); + return new Flow((millilitersperminute/60000.00000) * 1e-3d); } /// @@ -167,6 +239,14 @@ public static Flow FromMillionUsGallonsPerDay(double millionusgallonsperday) return new Flow(millionusgallonsperday/22.824465227); } + /// + /// Get Flow from NanolitersPerMinute. + /// + public static Flow FromNanolitersPerMinute(double nanolitersperminute) + { + return new Flow((nanolitersperminute/60000.00000) * 1e-9d); + } + /// /// Get Flow from UsGallonsPerMinute. /// @@ -186,18 +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.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); @@ -333,18 +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.MicrolitersPerMinute: + return MicrolitersPerMinute; + case FlowUnit.MillilitersPerMinute: + return MillilitersPerMinute; case FlowUnit.MillionUsGallonsPerDay: return MillionUsGallonsPerDay; + case FlowUnit.NanolitersPerMinute: + return NanolitersPerMinute; case FlowUnit.UsGallonsPerMinute: return UsGallonsPerMinute; diff --git a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs index 3704283ff6..7ce599a87b 100644 --- a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs +++ b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs @@ -543,6 +543,11 @@ private static readonly ReadOnlyCollection DefaultLocalization new UnitLocalization(typeof (FlowUnit), new[] { + new CulturesForEnumValue((int) FlowUnit.CentilitersPerMinute, + new[] + { + new AbbreviationsForCulture("en-US", "cLPM"), + }), new CulturesForEnumValue((int) FlowUnit.CubicFootPerSecond, new[] { @@ -560,21 +565,41 @@ private static readonly ReadOnlyCollection DefaultLocalization new AbbreviationsForCulture("en-US", "m³/s"), new AbbreviationsForCulture("ru-RU", "м³/с"), }), + new CulturesForEnumValue((int) FlowUnit.DecilitersPerMinute, + new[] + { + new AbbreviationsForCulture("en-US", "DLPM"), + }), + new CulturesForEnumValue((int) FlowUnit.KilolitersPerMinute, + new[] + { + new AbbreviationsForCulture("en-US", "KLPM"), + }), new CulturesForEnumValue((int) FlowUnit.LitersPerMinute, new[] { new AbbreviationsForCulture("en-US", "LPM"), }), - new CulturesForEnumValue((int) FlowUnit.MicroLitersPerMinute, + new CulturesForEnumValue((int) FlowUnit.MicrolitersPerMinute, new[] { new AbbreviationsForCulture("en-US", "μLPM"), }), + new CulturesForEnumValue((int) FlowUnit.MillilitersPerMinute, + new[] + { + new AbbreviationsForCulture("en-US", "mLPM"), + }), new CulturesForEnumValue((int) FlowUnit.MillionUsGallonsPerDay, new[] { new AbbreviationsForCulture("en-US", "MGD"), }), + new CulturesForEnumValue((int) FlowUnit.NanolitersPerMinute, + new[] + { + new AbbreviationsForCulture("en-US", "nLPM"), + }), new CulturesForEnumValue((int) FlowUnit.UsGallonsPerMinute, new[] { diff --git a/UnitsNet/Scripts/UnitDefinitions/Flow.json b/UnitsNet/Scripts/UnitDefinitions/Flow.json index 5b345d468e..fd454fa79c 100644 --- a/UnitsNet/Scripts/UnitDefinitions/Flow.json +++ b/UnitsNet/Scripts/UnitDefinitions/Flow.json @@ -64,22 +64,12 @@ "PluralName": "LitersPerMinute", "FromUnitToBaseFunc": "x/60000.00000", "FromBaseToUnitFunc": "x*60000.00000", + "Prefixes": [ "Nano", "Micro", "Milli", "Centi", "Deci", "Kilo"], "Localization": [ { "Culture": "en-US", - "Abbreviations": [ "LPM" ] - } - ] - }, - { - "SingularName": "MicroLitersPerMinute", - "PluralName": "MicroLitersPerMinute", - "FromUnitToBaseFunc": "x/60000000000.00000", - "FromBaseToUnitFunc": "x*60000000000.00000", - "Localization": [ - { - "Culture": "en-US", - "Abbreviations": [ "μLPM" ] + "Abbreviations": [ "LPM" ], + "AbbreviationsWithPrefixes": ["nLPM", "μLPM", "mLPM", "cLPM", "DLPM", "KLPM"] } ] }, From fc2ea269796c3fa24e9c374bbba17434ad358ced Mon Sep 17 00:00:00 2001 From: rdelhommer Date: Tue, 1 Mar 2016 09:27:27 -0800 Subject: [PATCH 3/3] fix abbreviations for kilo and deci --- UnitsNet/GeneratedCode/UnitSystem.Default.g.cs | 4 ++-- UnitsNet/Scripts/UnitDefinitions/Flow.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs index 7ce599a87b..61bbe79923 100644 --- a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs +++ b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs @@ -568,12 +568,12 @@ private static readonly ReadOnlyCollection DefaultLocalization new CulturesForEnumValue((int) FlowUnit.DecilitersPerMinute, new[] { - new AbbreviationsForCulture("en-US", "DLPM"), + new AbbreviationsForCulture("en-US", "dLPM"), }), new CulturesForEnumValue((int) FlowUnit.KilolitersPerMinute, new[] { - new AbbreviationsForCulture("en-US", "KLPM"), + new AbbreviationsForCulture("en-US", "kLPM"), }), new CulturesForEnumValue((int) FlowUnit.LitersPerMinute, new[] diff --git a/UnitsNet/Scripts/UnitDefinitions/Flow.json b/UnitsNet/Scripts/UnitDefinitions/Flow.json index fd454fa79c..f30e9b948c 100644 --- a/UnitsNet/Scripts/UnitDefinitions/Flow.json +++ b/UnitsNet/Scripts/UnitDefinitions/Flow.json @@ -69,7 +69,7 @@ { "Culture": "en-US", "Abbreviations": [ "LPM" ], - "AbbreviationsWithPrefixes": ["nLPM", "μLPM", "mLPM", "cLPM", "DLPM", "KLPM"] + "AbbreviationsWithPrefixes": ["nLPM", "μLPM", "mLPM", "cLPM", "dLPM", "kLPM"] } ] },