From 054d812e9f0b0d753038b485e511b2b3d7448138 Mon Sep 17 00:00:00 2001 From: Cristiano Oliveira Date: Thu, 7 Mar 2019 18:56:01 -0300 Subject: [PATCH 1/4] Add Volume.CubicHectometer Add Length.Hecto prefix Add Volume.CubicHectometer Add test HectometersInOneMeter Add test CubicHectometersInOneCubicMeter Modify the test Assert.Equal with addition of InvariantInfo, because when you compare string in cultures like Brazilian Portuguese (the decimal separator is comma) the test fail. --- Common/UnitDefinitions/Length.json | 4 ++-- Common/UnitDefinitions/Volume.json | 21 ++++++++++++++++++- UnitsNet.Tests/CustomCode/LengthTests.cs | 2 ++ UnitsNet.Tests/CustomCode/VolumeTests.cs | 2 ++ .../GeneratedCode/LengthTestsBase.g.cs | 10 +++++++++ UnitsNet.Tests/QuantityIFormattableTests.cs | 3 ++- UnitsNet.Tests/QuantityTest.cs | 2 +- .../Length.WindowsRuntimeComponent.g.cs | 17 +++++++++++++++ .../Volume.WindowsRuntimeComponent.g.cs | 17 +++++++++++++++ .../GeneratedCode/UnitAbbreviationsCache.g.cs | 4 ++++ .../GeneratedCode/Units/LengthUnit.g.cs | 1 + .../GeneratedCode/Units/VolumeUnit.g.cs | 1 + .../Quantities/Length.NetFramework.g.cs | 17 +++++++++++++++ .../Quantities/Volume.NetFramework.g.cs | 17 +++++++++++++++ .../GeneratedCode/UnitAbbreviationsCache.g.cs | 4 ++++ UnitsNet/GeneratedCode/Units/LengthUnit.g.cs | 1 + UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs | 1 + 17 files changed, 119 insertions(+), 5 deletions(-) diff --git a/Common/UnitDefinitions/Length.json b/Common/UnitDefinitions/Length.json index e4606a04c0..73e2e15aeb 100644 --- a/Common/UnitDefinitions/Length.json +++ b/Common/UnitDefinitions/Length.json @@ -14,7 +14,7 @@ }, "FromUnitToBaseFunc": "x", "FromBaseToUnitFunc": "x", - "Prefixes": [ "Nano", "Micro", "Milli", "Centi", "Deci", "Kilo" ], + "Prefixes": [ "Nano", "Micro", "Milli", "Centi", "Deci", "Hecto", "Kilo" ], "Localization": [ { "Culture": "en-US", @@ -23,7 +23,7 @@ { "Culture": "ru-RU", "Abbreviations": [ "м" ], - "AbbreviationsWithPrefixes": [ "нм", "мкм", "мм", "см", "дм", "км" ] + "AbbreviationsWithPrefixes": [ "нм", "мкм", "мм", "см", "дм", "гм", "км" ] } ] }, diff --git a/Common/UnitDefinitions/Volume.json b/Common/UnitDefinitions/Volume.json index c3d49d5e6c..41527656a9 100644 --- a/Common/UnitDefinitions/Volume.json +++ b/Common/UnitDefinitions/Volume.json @@ -1,4 +1,4 @@ -{ +{ "Name": "Volume", "BaseUnit": "CubicMeter", "XmlDoc": "Volume is the quantity of three-dimensional space enclosed by some closed boundary, for example, the space that a substance (solid, liquid, gas, or plasma) or shape occupies or contains.[1] Volume is often quantified numerically using the SI derived unit, the cubic metre. The volume of a container is generally understood to be the capacity of the container, i. e. the amount of fluid (gas or liquid) that the container could hold, rather than the amount of space the container itself displaces.", @@ -58,6 +58,25 @@ ] }, { + "SingularName": "CubicHectometer", + "PluralName": "CubicHectometers", + "BaseUnits": { + "L": "Hectometer" + }, + "FromUnitToBaseFunc": "x*1e6", + "FromBaseToUnitFunc": "x/1e6", + "Localization": [ + { + "Culture": "en-US", + "Abbreviations": [ "hm³" ] + }, + { + "Culture": "ru-RU", + "Abbreviations": [ "гм³" ] + } + ] + }, + { "SingularName": "CubicDecimeter", "PluralName": "CubicDecimeters", "FromUnitToBaseFunc": "x/1e3", diff --git a/UnitsNet.Tests/CustomCode/LengthTests.cs b/UnitsNet.Tests/CustomCode/LengthTests.cs index 123e00ca3c..9b1b9ba0cd 100644 --- a/UnitsNet.Tests/CustomCode/LengthTests.cs +++ b/UnitsNet.Tests/CustomCode/LengthTests.cs @@ -21,6 +21,8 @@ public class LengthTests : LengthTestsBase protected override double FeetInOneMeter => 3.28084; + protected override double HectometersInOneMeter => 1E-2; + protected override double TwipsInOneMeter => 56692.913386; protected override double UsSurveyFeetInOneMeter => 3.280833333333333; diff --git a/UnitsNet.Tests/CustomCode/VolumeTests.cs b/UnitsNet.Tests/CustomCode/VolumeTests.cs index ddeffadd55..0b529de2a6 100644 --- a/UnitsNet.Tests/CustomCode/VolumeTests.cs +++ b/UnitsNet.Tests/CustomCode/VolumeTests.cs @@ -20,6 +20,8 @@ public class VolumeTests : VolumeTestsBase protected override double CubicKilometersInOneCubicMeter => 1E-9; + protected override double CubicHectometersInOneCubicMeter => 1E-6; + protected override double CubicMetersInOneCubicMeter => 1; protected override double CubicMilesInOneCubicMeter => 2.399127585789277e-10; diff --git a/UnitsNet.Tests/GeneratedCode/LengthTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/LengthTestsBase.g.cs index f70c6816e0..c274f60c6d 100644 --- a/UnitsNet.Tests/GeneratedCode/LengthTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/LengthTestsBase.g.cs @@ -40,6 +40,7 @@ public abstract partial class LengthTestsBase protected abstract double DtpPointsInOneMeter { get; } protected abstract double FathomsInOneMeter { get; } protected abstract double FeetInOneMeter { get; } + protected abstract double HectometersInOneMeter { get; } protected abstract double InchesInOneMeter { get; } protected abstract double KilometersInOneMeter { get; } protected abstract double MetersInOneMeter { get; } @@ -64,6 +65,7 @@ public abstract partial class LengthTestsBase protected virtual double DtpPointsTolerance { get { return 1e-5; } } protected virtual double FathomsTolerance { get { return 1e-5; } } protected virtual double FeetTolerance { get { return 1e-5; } } + protected virtual double HectometersTolerance { get { return 1e-5; } } protected virtual double InchesTolerance { get { return 1e-5; } } protected virtual double KilometersTolerance { get { return 1e-5; } } protected virtual double MetersTolerance { get { return 1e-5; } } @@ -111,6 +113,7 @@ public void MeterToLengthUnits() AssertEx.EqualTolerance(DtpPointsInOneMeter, meter.DtpPoints, DtpPointsTolerance); AssertEx.EqualTolerance(FathomsInOneMeter, meter.Fathoms, FathomsTolerance); AssertEx.EqualTolerance(FeetInOneMeter, meter.Feet, FeetTolerance); + AssertEx.EqualTolerance(HectometersInOneMeter, meter.Hectometers, HectometersTolerance); AssertEx.EqualTolerance(InchesInOneMeter, meter.Inches, InchesTolerance); AssertEx.EqualTolerance(KilometersInOneMeter, meter.Kilometers, KilometersTolerance); AssertEx.EqualTolerance(MetersInOneMeter, meter.Meters, MetersTolerance); @@ -138,6 +141,7 @@ public void FromValueAndUnit() AssertEx.EqualTolerance(1, Length.From(1, LengthUnit.DtpPoint).DtpPoints, DtpPointsTolerance); AssertEx.EqualTolerance(1, Length.From(1, LengthUnit.Fathom).Fathoms, FathomsTolerance); AssertEx.EqualTolerance(1, Length.From(1, LengthUnit.Foot).Feet, FeetTolerance); + AssertEx.EqualTolerance(1, Length.From(1, LengthUnit.Hectometer).Hectometers, HectometersTolerance); AssertEx.EqualTolerance(1, Length.From(1, LengthUnit.Inch).Inches, InchesTolerance); AssertEx.EqualTolerance(1, Length.From(1, LengthUnit.Kilometer).Kilometers, KilometersTolerance); AssertEx.EqualTolerance(1, Length.From(1, LengthUnit.Meter).Meters, MetersTolerance); @@ -179,6 +183,7 @@ public void As() AssertEx.EqualTolerance(DtpPointsInOneMeter, meter.As(LengthUnit.DtpPoint), DtpPointsTolerance); AssertEx.EqualTolerance(FathomsInOneMeter, meter.As(LengthUnit.Fathom), FathomsTolerance); AssertEx.EqualTolerance(FeetInOneMeter, meter.As(LengthUnit.Foot), FeetTolerance); + AssertEx.EqualTolerance(HectometersInOneMeter, meter.As(LengthUnit.Hectometer), HectometersTolerance); AssertEx.EqualTolerance(InchesInOneMeter, meter.As(LengthUnit.Inch), InchesTolerance); AssertEx.EqualTolerance(KilometersInOneMeter, meter.As(LengthUnit.Kilometer), KilometersTolerance); AssertEx.EqualTolerance(MetersInOneMeter, meter.As(LengthUnit.Meter), MetersTolerance); @@ -226,6 +231,10 @@ public void ToUnit() AssertEx.EqualTolerance(FeetInOneMeter, (double)footQuantity.Value, FeetTolerance); Assert.Equal(LengthUnit.Foot, footQuantity.Unit); + var hectometerQuantity = meter.ToUnit(LengthUnit.Hectometer); + AssertEx.EqualTolerance(HectometersInOneMeter, (double)hectometerQuantity.Value, HectometersTolerance); + Assert.Equal(LengthUnit.Hectometer, hectometerQuantity.Unit); + var inchQuantity = meter.ToUnit(LengthUnit.Inch); AssertEx.EqualTolerance(InchesInOneMeter, (double)inchQuantity.Value, InchesTolerance); Assert.Equal(LengthUnit.Inch, inchQuantity.Unit); @@ -301,6 +310,7 @@ public void ConversionRoundTrip() AssertEx.EqualTolerance(1, Length.FromDtpPoints(meter.DtpPoints).Meters, DtpPointsTolerance); AssertEx.EqualTolerance(1, Length.FromFathoms(meter.Fathoms).Meters, FathomsTolerance); AssertEx.EqualTolerance(1, Length.FromFeet(meter.Feet).Meters, FeetTolerance); + AssertEx.EqualTolerance(1, Length.FromHectometers(meter.Hectometers).Meters, HectometersTolerance); AssertEx.EqualTolerance(1, Length.FromInches(meter.Inches).Meters, InchesTolerance); AssertEx.EqualTolerance(1, Length.FromKilometers(meter.Kilometers).Meters, KilometersTolerance); AssertEx.EqualTolerance(1, Length.FromMeters(meter.Meters).Meters, MetersTolerance); diff --git a/UnitsNet.Tests/QuantityIFormattableTests.cs b/UnitsNet.Tests/QuantityIFormattableTests.cs index 387d05cf26..3aaaf4ccbf 100644 --- a/UnitsNet.Tests/QuantityIFormattableTests.cs +++ b/UnitsNet.Tests/QuantityIFormattableTests.cs @@ -2,6 +2,7 @@ // Copyright 2013 Andreas Gullberg Larsen (andreas.larsen84@gmail.com). Maintained at https://github.com/angularsen/UnitsNet. using System; +using System.Globalization; using Xunit; namespace UnitsNet.Tests @@ -61,7 +62,7 @@ public void QFormatEqualsQuantityName() [InlineData("s6", "1.234568 ft")] public void SFormatEqualsSignificantDigits(string sFormatString, string expected) { - Assert.Equal(expected, length.ToString(sFormatString)); + Assert.Equal(expected, length.ToString(sFormatString, NumberFormatInfo.InvariantInfo)); } [Fact] diff --git a/UnitsNet.Tests/QuantityTest.cs b/UnitsNet.Tests/QuantityTest.cs index 215b22e7ba..296a01eb68 100644 --- a/UnitsNet.Tests/QuantityTest.cs +++ b/UnitsNet.Tests/QuantityTest.cs @@ -165,7 +165,7 @@ public void TryParse_GivenValueAndUnit_ReturnsQuantity() Assert.True(Quantity.TryParse(typeof(Mass), "03t", out IQuantity parsedMass)); Assert.Equal(Mass.FromTonnes(3), parsedMass); - Assert.True(Quantity.TryParse(typeof(Pressure), "3.0 Mbar", out IQuantity parsedPressure)); + Assert.True(Quantity.TryParse(NumberFormatInfo.InvariantInfo, typeof(Pressure), "3.0 Mbar", out IQuantity parsedPressure)); Assert.Equal(Pressure.FromMegabars(3), parsedPressure); } diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs index f8b6158b73..cfed9b7b4b 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs @@ -185,6 +185,11 @@ private Length(double numericValue, LengthUnit unit) /// public double Feet => As(LengthUnit.Foot); + /// + /// Get Length in Hectometers. + /// + public double Hectometers => As(LengthUnit.Hectometer); + /// /// Get Length in Inches. /// @@ -356,6 +361,16 @@ public static Length FromFeet(double feet) return new Length(value, LengthUnit.Foot); } /// + /// Get Length from Hectometers. + /// + /// If value is NaN or Infinity. + [Windows.Foundation.Metadata.DefaultOverload] + public static Length FromHectometers(double hectometers) + { + double value = (double) hectometers; + return new Length(value, LengthUnit.Hectometer); + } + /// /// Get Length from Inches. /// /// If value is NaN or Infinity. @@ -812,6 +827,7 @@ private double AsBaseUnit() case LengthUnit.DtpPoint: return (_value/72)*2.54e-2; case LengthUnit.Fathom: return _value*1.8288; case LengthUnit.Foot: return _value*0.3048; + case LengthUnit.Hectometer: return (_value) * 1e2d; case LengthUnit.Inch: return _value*2.54e-2; case LengthUnit.Kilometer: return (_value) * 1e3d; case LengthUnit.Meter: return _value; @@ -848,6 +864,7 @@ private double AsBaseNumericType(LengthUnit unit) case LengthUnit.DtpPoint: return (baseUnitValue/2.54e-2)*72; case LengthUnit.Fathom: return baseUnitValue/1.8288; case LengthUnit.Foot: return baseUnitValue/0.3048; + case LengthUnit.Hectometer: return (baseUnitValue) / 1e2d; case LengthUnit.Inch: return baseUnitValue/2.54e-2; case LengthUnit.Kilometer: return (baseUnitValue) / 1e3d; case LengthUnit.Meter: return baseUnitValue; diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs index 6677d563e8..b29980571b 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Volume.WindowsRuntimeComponent.g.cs @@ -185,6 +185,11 @@ private Volume(double numericValue, VolumeUnit unit) /// public double CubicFeet => As(VolumeUnit.CubicFoot); + /// + /// Get Volume in CubicHectometers. + /// + public double CubicHectometers => As(VolumeUnit.CubicHectometer); + /// /// Get Volume in CubicInches. /// @@ -471,6 +476,16 @@ public static Volume FromCubicFeet(double cubicfeet) return new Volume(value, VolumeUnit.CubicFoot); } /// + /// Get Volume from CubicHectometers. + /// + /// If value is NaN or Infinity. + [Windows.Foundation.Metadata.DefaultOverload] + public static Volume FromCubicHectometers(double cubichectometers) + { + double value = (double) cubichectometers; + return new Volume(value, VolumeUnit.CubicHectometer); + } + /// /// Get Volume from CubicInches. /// /// If value is NaN or Infinity. @@ -1157,6 +1172,7 @@ private double AsBaseUnit() case VolumeUnit.CubicCentimeter: return _value/1e6; case VolumeUnit.CubicDecimeter: return _value/1e3; case VolumeUnit.CubicFoot: return _value*0.0283168; + case VolumeUnit.CubicHectometer: return _value*1e6; case VolumeUnit.CubicInch: return _value*1.6387*1e-5; case VolumeUnit.CubicKilometer: return _value*1e9; case VolumeUnit.CubicMeter: return _value; @@ -1216,6 +1232,7 @@ private double AsBaseNumericType(VolumeUnit unit) case VolumeUnit.CubicCentimeter: return baseUnitValue*1e6; case VolumeUnit.CubicDecimeter: return baseUnitValue*1e3; case VolumeUnit.CubicFoot: return baseUnitValue/0.0283168; + case VolumeUnit.CubicHectometer: return baseUnitValue/1e6; case VolumeUnit.CubicInch: return baseUnitValue/(1.6387*1e-5); case VolumeUnit.CubicKilometer: return baseUnitValue/1e9; case VolumeUnit.CubicMeter: return baseUnitValue; diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs index 8133129dc3..3f895921fc 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/UnitAbbreviationsCache.g.cs @@ -489,6 +489,8 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("en-US", typeof(LengthUnit), (int)LengthUnit.Fathom, new string[]{"fathom"}), ("en-US", typeof(LengthUnit), (int)LengthUnit.Foot, new string[]{"ft", "'", "′"}), ("ru-RU", typeof(LengthUnit), (int)LengthUnit.Foot, new string[]{"фут"}), + ("en-US", typeof(LengthUnit), (int)LengthUnit.Hectometer, new string[]{"hm"}), + ("ru-RU", typeof(LengthUnit), (int)LengthUnit.Hectometer, new string[]{"гм"}), ("en-US", typeof(LengthUnit), (int)LengthUnit.Inch, new string[]{"in", "\"", "″"}), ("ru-RU", typeof(LengthUnit), (int)LengthUnit.Inch, new string[]{"дюйм"}), ("en-US", typeof(LengthUnit), (int)LengthUnit.Kilometer, new string[]{"km"}), @@ -1009,6 +1011,8 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicDecimeter, new string[]{"дм³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicFoot, new string[]{"ft³"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicFoot, new string[]{"фут³"}), + ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicHectometer, new string[]{"hm³"}), + ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicHectometer, new string[]{"гм³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicInch, new string[]{"in³"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicInch, new string[]{"дюйм³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicKilometer, new string[]{"km³"}), diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/LengthUnit.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/LengthUnit.g.cs index 0dfbd398bc..bb3ba79837 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/LengthUnit.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/LengthUnit.g.cs @@ -32,6 +32,7 @@ public enum LengthUnit DtpPoint, Fathom, Foot, + Hectometer, Inch, Kilometer, Meter, diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs index 604d50a5a4..50d57e2971 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Units/VolumeUnit.g.cs @@ -32,6 +32,7 @@ public enum VolumeUnit CubicCentimeter, CubicDecimeter, CubicFoot, + CubicHectometer, CubicInch, CubicKilometer, CubicMeter, diff --git a/UnitsNet/GeneratedCode/Quantities/Length.NetFramework.g.cs b/UnitsNet/GeneratedCode/Quantities/Length.NetFramework.g.cs index d18ff4d489..c2c2c378c9 100644 --- a/UnitsNet/GeneratedCode/Quantities/Length.NetFramework.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/Length.NetFramework.g.cs @@ -56,6 +56,7 @@ static Length() new UnitInfo(LengthUnit.DtpPoint, new BaseUnits(length: LengthUnit.DtpPoint)), new UnitInfo(LengthUnit.Fathom, new BaseUnits(length: LengthUnit.Fathom)), new UnitInfo(LengthUnit.Foot, new BaseUnits(length: LengthUnit.Foot)), + new UnitInfo(LengthUnit.Hectometer, BaseUnits.Undefined), new UnitInfo(LengthUnit.Inch, new BaseUnits(length: LengthUnit.Inch)), new UnitInfo(LengthUnit.Kilometer, BaseUnits.Undefined), new UnitInfo(LengthUnit.Meter, new BaseUnits(length: LengthUnit.Meter)), @@ -211,6 +212,11 @@ public Length(double numericValue, UnitSystem unitSystem) /// public double Feet => As(LengthUnit.Foot); + /// + /// Get Length in Hectometers. + /// + public double Hectometers => As(LengthUnit.Hectometer); + /// /// Get Length in Inches. /// @@ -375,6 +381,15 @@ public static Length FromFeet(QuantityValue feet) return new Length(value, LengthUnit.Foot); } /// + /// Get Length from Hectometers. + /// + /// If value is NaN or Infinity. + public static Length FromHectometers(QuantityValue hectometers) + { + double value = (double) hectometers; + return new Length(value, LengthUnit.Hectometer); + } + /// /// Get Length from Inches. /// /// If value is NaN or Infinity. @@ -943,6 +958,7 @@ private double GetValueInBaseUnit() case LengthUnit.DtpPoint: return (_value/72)*2.54e-2; case LengthUnit.Fathom: return _value*1.8288; case LengthUnit.Foot: return _value*0.3048; + case LengthUnit.Hectometer: return (_value) * 1e2d; case LengthUnit.Inch: return _value*2.54e-2; case LengthUnit.Kilometer: return (_value) * 1e3d; case LengthUnit.Meter: return _value; @@ -979,6 +995,7 @@ private double GetValueAs(LengthUnit unit) case LengthUnit.DtpPoint: return (baseUnitValue/2.54e-2)*72; case LengthUnit.Fathom: return baseUnitValue/1.8288; case LengthUnit.Foot: return baseUnitValue/0.3048; + case LengthUnit.Hectometer: return (baseUnitValue) / 1e2d; case LengthUnit.Inch: return baseUnitValue/2.54e-2; case LengthUnit.Kilometer: return (baseUnitValue) / 1e3d; case LengthUnit.Meter: return baseUnitValue; diff --git a/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs b/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs index d824a5a61c..c6eb872f12 100644 --- a/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/Volume.NetFramework.g.cs @@ -56,6 +56,7 @@ static Volume() new UnitInfo(VolumeUnit.CubicCentimeter, BaseUnits.Undefined), new UnitInfo(VolumeUnit.CubicDecimeter, BaseUnits.Undefined), new UnitInfo(VolumeUnit.CubicFoot, BaseUnits.Undefined), + new UnitInfo(VolumeUnit.CubicHectometer, new BaseUnits(length: LengthUnit.Hectometer)), new UnitInfo(VolumeUnit.CubicInch, BaseUnits.Undefined), new UnitInfo(VolumeUnit.CubicKilometer, BaseUnits.Undefined), new UnitInfo(VolumeUnit.CubicMeter, BaseUnits.Undefined), @@ -234,6 +235,11 @@ public Volume(double numericValue, UnitSystem unitSystem) /// public double CubicFeet => As(VolumeUnit.CubicFoot); + /// + /// Get Volume in CubicHectometers. + /// + public double CubicHectometers => As(VolumeUnit.CubicHectometer); + /// /// Get Volume in CubicInches. /// @@ -513,6 +519,15 @@ public static Volume FromCubicFeet(QuantityValue cubicfeet) return new Volume(value, VolumeUnit.CubicFoot); } /// + /// Get Volume from CubicHectometers. + /// + /// If value is NaN or Infinity. + public static Volume FromCubicHectometers(QuantityValue cubichectometers) + { + double value = (double) cubichectometers; + return new Volume(value, VolumeUnit.CubicHectometer); + } + /// /// Get Volume from CubicInches. /// /// If value is NaN or Infinity. @@ -1288,6 +1303,7 @@ private double GetValueInBaseUnit() case VolumeUnit.CubicCentimeter: return _value/1e6; case VolumeUnit.CubicDecimeter: return _value/1e3; case VolumeUnit.CubicFoot: return _value*0.0283168; + case VolumeUnit.CubicHectometer: return _value*1e6; case VolumeUnit.CubicInch: return _value*1.6387*1e-5; case VolumeUnit.CubicKilometer: return _value*1e9; case VolumeUnit.CubicMeter: return _value; @@ -1347,6 +1363,7 @@ private double GetValueAs(VolumeUnit unit) case VolumeUnit.CubicCentimeter: return baseUnitValue*1e6; case VolumeUnit.CubicDecimeter: return baseUnitValue*1e3; case VolumeUnit.CubicFoot: return baseUnitValue/0.0283168; + case VolumeUnit.CubicHectometer: return baseUnitValue/1e6; case VolumeUnit.CubicInch: return baseUnitValue/(1.6387*1e-5); case VolumeUnit.CubicKilometer: return baseUnitValue/1e9; case VolumeUnit.CubicMeter: return baseUnitValue; diff --git a/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs b/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs index 9018fb5310..9dbe6dacd9 100644 --- a/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs +++ b/UnitsNet/GeneratedCode/UnitAbbreviationsCache.g.cs @@ -489,6 +489,8 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("en-US", typeof(LengthUnit), (int)LengthUnit.Fathom, new string[]{"fathom"}), ("en-US", typeof(LengthUnit), (int)LengthUnit.Foot, new string[]{"ft", "'", "′"}), ("ru-RU", typeof(LengthUnit), (int)LengthUnit.Foot, new string[]{"фут"}), + ("en-US", typeof(LengthUnit), (int)LengthUnit.Hectometer, new string[]{"hm"}), + ("ru-RU", typeof(LengthUnit), (int)LengthUnit.Hectometer, new string[]{"гм"}), ("en-US", typeof(LengthUnit), (int)LengthUnit.Inch, new string[]{"in", "\"", "″"}), ("ru-RU", typeof(LengthUnit), (int)LengthUnit.Inch, new string[]{"дюйм"}), ("en-US", typeof(LengthUnit), (int)LengthUnit.Kilometer, new string[]{"km"}), @@ -1009,6 +1011,8 @@ private static readonly (string CultureName, Type UnitType, int UnitValue, strin ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicDecimeter, new string[]{"дм³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicFoot, new string[]{"ft³"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicFoot, new string[]{"фут³"}), + ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicHectometer, new string[]{"hm³"}), + ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicHectometer, new string[]{"гм³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicInch, new string[]{"in³"}), ("ru-RU", typeof(VolumeUnit), (int)VolumeUnit.CubicInch, new string[]{"дюйм³"}), ("en-US", typeof(VolumeUnit), (int)VolumeUnit.CubicKilometer, new string[]{"km³"}), diff --git a/UnitsNet/GeneratedCode/Units/LengthUnit.g.cs b/UnitsNet/GeneratedCode/Units/LengthUnit.g.cs index 0dfbd398bc..bb3ba79837 100644 --- a/UnitsNet/GeneratedCode/Units/LengthUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/LengthUnit.g.cs @@ -32,6 +32,7 @@ public enum LengthUnit DtpPoint, Fathom, Foot, + Hectometer, Inch, Kilometer, Meter, diff --git a/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs b/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs index 604d50a5a4..50d57e2971 100644 --- a/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs +++ b/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs @@ -32,6 +32,7 @@ public enum VolumeUnit CubicCentimeter, CubicDecimeter, CubicFoot, + CubicHectometer, CubicInch, CubicKilometer, CubicMeter, From 633796fac02e3856216d38634ad47f62a168a84e Mon Sep 17 00:00:00 2001 From: Cristiano Oliveira Date: Sat, 9 Mar 2019 15:48:48 -0300 Subject: [PATCH 2/4] Add Volume.CubicHectometer #638 --- .../UnitsNet.WindowsRuntimeComponent.csproj | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj b/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj index d7ee6c8860..687a0d6a52 100644 --- a/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj +++ b/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj @@ -11,7 +11,7 @@ UnitsNet en-US UAP - 10.0.16299.0 + 10.0.17763.0 10.0.10586.0 14 512 @@ -19,13 +19,11 @@ false ..\Artifacts\UnitsNet.WindowsRuntimeComponent 7.3 - true true $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb - AnyCPU true @@ -117,7 +115,7 @@ 11.1.0 - + 4.5.0 @@ -134,4 +132,4 @@ --> - + \ No newline at end of file From 01a59db7cb589f6c32d4765cbd5f5b3672a20e10 Mon Sep 17 00:00:00 2001 From: Cristiano Oliveira Date: Sat, 9 Mar 2019 22:10:18 -0300 Subject: [PATCH 3/4] Revert "Add Volume.CubicHectometer" This reverts commit 633796fac02e3856216d38634ad47f62a168a84e. --- .../UnitsNet.WindowsRuntimeComponent.csproj | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj b/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj index 687a0d6a52..d7ee6c8860 100644 --- a/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj +++ b/UnitsNet.WindowsRuntimeComponent/UnitsNet.WindowsRuntimeComponent.csproj @@ -11,7 +11,7 @@ UnitsNet en-US UAP - 10.0.17763.0 + 10.0.16299.0 10.0.10586.0 14 512 @@ -19,11 +19,13 @@ false ..\Artifacts\UnitsNet.WindowsRuntimeComponent 7.3 + true true $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + AnyCPU true @@ -115,7 +117,7 @@ 11.1.0 - + 4.5.0 @@ -132,4 +134,4 @@ --> - \ No newline at end of file + From 6fcb78d147c358291e32822df9903bf163fafa9a Mon Sep 17 00:00:00 2001 From: Cristiano Oliveira Date: Sat, 9 Mar 2019 22:29:57 -0300 Subject: [PATCH 4/4] Add Volume.CubicHectometer --- .../Quantities/Length.WindowsRuntimeComponent.g.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs index f2c446ded7..cdbc90d14b 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Length.WindowsRuntimeComponent.g.cs @@ -371,8 +371,9 @@ public static Length FromFeet(double feet) [Windows.Foundation.Metadata.DefaultOverload] public static Length FromHectometers(double hectometers) { - double value = (double) hectometers; + double value = (double)hectometers; return new Length(value, LengthUnit.Hectometer); + } /// Get Length from Hands. /// /// If value is NaN or Infinity.