From 52e552582e82329a0ea0d4b1f53af33f2dbeb9f6 Mon Sep 17 00:00:00 2001 From: Tristan Milnthorp Date: Wed, 6 Mar 2019 12:26:50 -0500 Subject: [PATCH 1/2] Adding imperial pint --- Common/UnitDefinitions/Volume.json | 12 ++++++++++++ UnitsNet.Tests/CustomCode/VolumeTests.cs | 4 +++- .../Volume.WindowsRuntimeComponent.g.cs | 17 +++++++++++++++++ .../GeneratedCode/UnitAbbreviationsCache.g.cs | 1 + .../GeneratedCode/Units/VolumeUnit.g.cs | 1 + .../Quantities/Volume.NetFramework.g.cs | 17 +++++++++++++++++ .../GeneratedCode/UnitAbbreviationsCache.g.cs | 1 + UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs | 1 + 8 files changed, 53 insertions(+), 1 deletion(-) diff --git a/Common/UnitDefinitions/Volume.json b/Common/UnitDefinitions/Volume.json index c3d49d5e6c..4bf9a24690 100644 --- a/Common/UnitDefinitions/Volume.json +++ b/Common/UnitDefinitions/Volume.json @@ -459,6 +459,18 @@ "Abbreviations": [ "ac-ft", "acre-foot", "acre-feet" ] } ] + }, + { + "SingularName": "ImperialPint", + "PluralName": "ImperialPints", + "FromUnitToBaseFunc": "x * 5.6826125e-4", + "FromBaseToUnitFunc": "x / 5.6826125e-4", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "pt (imp.)", "UK pt", "pt", "p" ] + } + ] } ] } diff --git a/UnitsNet.Tests/CustomCode/VolumeTests.cs b/UnitsNet.Tests/CustomCode/VolumeTests.cs index ddeffadd55..0924a4e1a1 100644 --- a/UnitsNet.Tests/CustomCode/VolumeTests.cs +++ b/UnitsNet.Tests/CustomCode/VolumeTests.cs @@ -90,7 +90,9 @@ public class VolumeTests : VolumeTestsBase protected override double MegalitersInOneCubicMeter => 0.001; - [Fact] + protected override double ImperialPintsInOneCubicMeter => 1.7597539863927023e3; + + [ Fact] public void VolumeDividedByAreaEqualsLength() { Length length = Volume.FromCubicMeters(15)/Area.FromSquareMeters(5); diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs index 6677d563e8..d5952d6772 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs @@ -255,6 +255,11 @@ private Volume(double numericValue, VolumeUnit unit) /// public double ImperialOunces => As(VolumeUnit.ImperialOunce); + /// + /// Get Volume in ImperialPints. + /// + public double ImperialPints => As(VolumeUnit.ImperialPint); + /// /// Get Volume in KilocubicFeet. /// @@ -611,6 +616,16 @@ public static Volume FromImperialOunces(double imperialounces) return new Volume(value, VolumeUnit.ImperialOunce); } /// + /// Get Volume from ImperialPints. + /// + /// If value is NaN or Infinity. + [Windows.Foundation.Metadata.DefaultOverload] + public static Volume FromImperialPints(double imperialpints) + { + double value = (double) imperialpints; + return new Volume(value, VolumeUnit.ImperialPint); + } + /// /// Get Volume from KilocubicFeet. /// /// If value is NaN or Infinity. @@ -1171,6 +1186,7 @@ private double AsBaseUnit() case VolumeUnit.ImperialBeerBarrel: return _value*0.16365924; case VolumeUnit.ImperialGallon: return _value*0.00454609000000181429905810072407; case VolumeUnit.ImperialOunce: return _value*2.8413062499962901241875439064617e-5; + case VolumeUnit.ImperialPint: return _value * 5.6826125e-4; case VolumeUnit.KilocubicFoot: return (_value*0.0283168) * 1e3d; case VolumeUnit.KilocubicMeter: return (_value) * 1e3d; case VolumeUnit.KiloimperialGallon: return (_value*0.00454609000000181429905810072407) * 1e3d; @@ -1230,6 +1246,7 @@ private double AsBaseNumericType(VolumeUnit unit) case VolumeUnit.ImperialBeerBarrel: return baseUnitValue/0.16365924; case VolumeUnit.ImperialGallon: return baseUnitValue/0.00454609000000181429905810072407; case VolumeUnit.ImperialOunce: return baseUnitValue/2.8413062499962901241875439064617e-5; + case VolumeUnit.ImperialPint: return baseUnitValue / 5.6826125e-4; case VolumeUnit.KilocubicFoot: return (baseUnitValue/0.0283168) / 1e3d; case VolumeUnit.KilocubicMeter: return (baseUnitValue) / 1e3d; case VolumeUnit.KiloimperialGallon: return (baseUnitValue/0.00454609000000181429905810072407) / 1e3d; diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs index 8133129dc3..61415be69e 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs @@ -1036,6 +1036,7 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.ImperialGallon, new string[]{"Английский галлон"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.ImperialOunce, new string[]{"oz (imp.)"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.ImperialOunce, new string[]{"Английская унция"}), + ("en-US", typeof(VolumeUnit), (int)VolumeUnit.ImperialPint, new string[]{"pt (imp.)", "UK pt", "pt", "p"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.KilocubicFoot, new string[]{"kft³"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.KilocubicFoot, new string[]{"kфут³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.KilocubicMeter, new string[]{"km³"}), diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs index 604d50a5a4..475f97db80 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs @@ -46,6 +46,7 @@ public enum VolumeUnit ImperialBeerBarrel, ImperialGallon, ImperialOunce, + ImperialPint, KilocubicFoot, KilocubicMeter, KiloimperialGallon, diff --git a/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs b/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs index d824a5a61c..bf61992166 100644 --- a/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs @@ -70,6 +70,7 @@ static Volume() new UnitInfo(VolumeUnit.ImperialBeerBarrel, BaseUnits.Undefined), new UnitInfo(VolumeUnit.ImperialGallon, BaseUnits.Undefined), new UnitInfo(VolumeUnit.ImperialOunce, BaseUnits.Undefined), + new UnitInfo(VolumeUnit.ImperialPint, BaseUnits.Undefined), new UnitInfo(VolumeUnit.KilocubicFoot, BaseUnits.Undefined), new UnitInfo(VolumeUnit.KilocubicMeter, BaseUnits.Undefined), new UnitInfo(VolumeUnit.KiloimperialGallon, BaseUnits.Undefined), @@ -304,6 +305,11 @@ public Volume(double numericValue, UnitSystem unitSystem) /// public double ImperialOunces => As(VolumeUnit.ImperialOunce); + /// + /// Get Volume in ImperialPints. + /// + public double ImperialPints => As(VolumeUnit.ImperialPint); + /// /// Get Volume in KilocubicFeet. /// @@ -639,6 +645,15 @@ public static Volume FromImperialOunces(QuantityValue imperialounces) return new Volume(value, VolumeUnit.ImperialOunce); } /// + /// Get Volume from ImperialPints. + /// + /// If value is NaN or Infinity. + public static Volume FromImperialPints(QuantityValue imperialpints) + { + double value = (double) imperialpints; + return new Volume(value, VolumeUnit.ImperialPint); + } + /// /// Get Volume from KilocubicFeet. /// /// If value is NaN or Infinity. @@ -1302,6 +1317,7 @@ private double GetValueInBaseUnit() case VolumeUnit.ImperialBeerBarrel: return _value*0.16365924; case VolumeUnit.ImperialGallon: return _value*0.00454609000000181429905810072407; case VolumeUnit.ImperialOunce: return _value*2.8413062499962901241875439064617e-5; + case VolumeUnit.ImperialPint: return _value * 5.6826125e-4; case VolumeUnit.KilocubicFoot: return (_value*0.0283168) * 1e3d; case VolumeUnit.KilocubicMeter: return (_value) * 1e3d; case VolumeUnit.KiloimperialGallon: return (_value*0.00454609000000181429905810072407) * 1e3d; @@ -1361,6 +1377,7 @@ private double GetValueAs(VolumeUnit unit) case VolumeUnit.ImperialBeerBarrel: return baseUnitValue/0.16365924; case VolumeUnit.ImperialGallon: return baseUnitValue/0.00454609000000181429905810072407; case VolumeUnit.ImperialOunce: return baseUnitValue/2.8413062499962901241875439064617e-5; + case VolumeUnit.ImperialPint: return baseUnitValue / 5.6826125e-4; case VolumeUnit.KilocubicFoot: return (baseUnitValue/0.0283168) / 1e3d; case VolumeUnit.KilocubicMeter: return (baseUnitValue) / 1e3d; case VolumeUnit.KiloimperialGallon: return (baseUnitValue/0.00454609000000181429905810072407) / 1e3d; diff --git a/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs b/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs index 9018fb5310..f3044b9fd9 100644 --- a/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs +++ b/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs @@ -1036,6 +1036,7 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.ImperialGallon, new string[]{"Английский галлон"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.ImperialOunce, new string[]{"oz (imp.)"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.ImperialOunce, new string[]{"Английская унция"}), + ("en-US", typeof(VolumeUnit), (int)VolumeUnit.ImperialPint, new string[]{"pt (imp.)", "UK pt", "pt", "p"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.KilocubicFoot, new string[]{"kft³"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.KilocubicFoot, new string[]{"kфут³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.KilocubicMeter, new string[]{"km³"}), diff --git a/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs b/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs index 604d50a5a4..475f97db80 100644 --- a/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs @@ -46,6 +46,7 @@ public enum VolumeUnit ImperialBeerBarrel, ImperialGallon, ImperialOunce, + ImperialPint, KilocubicFoot, KilocubicMeter, KiloimperialGallon, From d3a4a1580b609afef41b970e813aa23f46c8f4db Mon Sep 17 00:00:00 2001 From: Tristan Milnthorp Date: Wed, 6 Mar 2019 12:32:22 -0500 Subject: [PATCH 2/2] Adding base units --- Common/UnitDefinitions/Volume.json | 3 +++ UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Common/UnitDefinitions/Volume.json b/Common/UnitDefinitions/Volume.json index 4bf9a24690..9b68dfd7e8 100644 --- a/Common/UnitDefinitions/Volume.json +++ b/Common/UnitDefinitions/Volume.json @@ -463,6 +463,9 @@ { "SingularName": "ImperialPint", "PluralName": "ImperialPints", + "BaseUnits": { + "L": "Decimeter" + }, "FromUnitToBaseFunc": "x * 5.6826125e-4", "FromBaseToUnitFunc": "x / 5.6826125e-4", "Localization": [ diff --git a/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs b/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs index bf61992166..a9acad92c9 100644 --- a/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs @@ -70,7 +70,7 @@ static Volume() new UnitInfo(VolumeUnit.ImperialBeerBarrel, BaseUnits.Undefined), new UnitInfo(VolumeUnit.ImperialGallon, BaseUnits.Undefined), new UnitInfo(VolumeUnit.ImperialOunce, BaseUnits.Undefined), - new UnitInfo(VolumeUnit.ImperialPint, BaseUnits.Undefined), + new UnitInfo(VolumeUnit.ImperialPint, new BaseUnits(length: LengthUnit.Decimeter)), new UnitInfo(VolumeUnit.KilocubicFoot, BaseUnits.Undefined), new UnitInfo(VolumeUnit.KilocubicMeter, BaseUnits.Undefined), new UnitInfo(VolumeUnit.KiloimperialGallon, BaseUnits.Undefined),