diff --git a/Src/UnitsNet/GeneratedCode/Area.g.cs b/Src/UnitsNet/GeneratedCode/Area.g.cs index 462bd32578..3f5a7df7e6 100644 --- a/Src/UnitsNet/GeneratedCode/Area.g.cs +++ b/Src/UnitsNet/GeneratedCode/Area.g.cs @@ -80,6 +80,15 @@ public double SquareInches get { return SquareMeters / 0.00064516; } } + /// + /// Get Area in SquareInternationalNauticalMiles. + /// + /// Example: x = (y - b) / a where x is value in SquareInternationalNauticalMiles and y is value in base unit SquareMeters. + public double SquareInternationalNauticalMiles + { + get { return SquareMeters / 3429904; } + } + /// /// Get Area in SquareKilometers. /// @@ -161,6 +170,15 @@ public static Area FromSquareInches(double squareinches) return new Area(0.00064516 * squareinches); } + /// + /// Get Area from SquareInternationalNauticalMiles. + /// + /// Example: y = ax + b where x is value in SquareInternationalNauticalMiles and y is value in base unit SquareMeters. + public static Area FromSquareInternationalNauticalMiles(double squareinternationalnauticalmiles) + { + return new Area(3429904 * squareinternationalnauticalmiles); + } + /// /// Get Area from SquareKilometers. /// @@ -224,6 +242,8 @@ public static Area From(double value, AreaUnit fromUnit) return FromSquareFeet(value); case AreaUnit.SquareInch: return FromSquareInches(value); + case AreaUnit.SquareInternationalNauticalMile: + return FromSquareInternationalNauticalMiles(value); case AreaUnit.SquareKilometer: return FromSquareKilometers(value); case AreaUnit.SquareMeter: @@ -373,6 +393,8 @@ public double As(AreaUnit unit) return SquareFeet; case AreaUnit.SquareInch: return SquareInches; + case AreaUnit.SquareInternationalNauticalMile: + return SquareInternationalNauticalMiles; case AreaUnit.SquareKilometer: return SquareKilometers; case AreaUnit.SquareMeter: diff --git a/Src/UnitsNet/GeneratedCode/Length.g.cs b/Src/UnitsNet/GeneratedCode/Length.g.cs index 792b51c78d..2f44e0f600 100644 --- a/Src/UnitsNet/GeneratedCode/Length.g.cs +++ b/Src/UnitsNet/GeneratedCode/Length.g.cs @@ -80,6 +80,15 @@ public double Inches get { return Meters / 0.0254; } } + /// + /// Get Length in InternationalNauticalMiles. + /// + /// Example: x = (y - b) / a where x is value in InternationalNauticalMiles and y is value in base unit Meters. + public double InternationalNauticalMiles + { + get { return Meters / 1852; } + } + /// /// Get Length in Kilometers. /// @@ -197,6 +206,15 @@ public static Length FromInches(double inches) return new Length(0.0254 * inches); } + /// + /// Get Length from InternationalNauticalMiles. + /// + /// Example: y = ax + b where x is value in InternationalNauticalMiles and y is value in base unit Meters. + public static Length FromInternationalNauticalMiles(double internationalnauticalmiles) + { + return new Length(1852 * internationalnauticalmiles); + } + /// /// Get Length from Kilometers. /// @@ -296,6 +314,8 @@ public static Length From(double value, LengthUnit fromUnit) return FromFeet(value); case LengthUnit.Inch: return FromInches(value); + case LengthUnit.InternationalNauticalMile: + return FromInternationalNauticalMiles(value); case LengthUnit.Kilometer: return FromKilometers(value); case LengthUnit.Meter: @@ -453,6 +473,8 @@ public double As(LengthUnit unit) return Feet; case LengthUnit.Inch: return Inches; + case LengthUnit.InternationalNauticalMile: + return InternationalNauticalMiles; case LengthUnit.Kilometer: return Kilometers; case LengthUnit.Meter: diff --git a/Src/UnitsNet/Units/AreaUnit.cs b/Src/UnitsNet/Units/AreaUnit.cs index 7288b54b2e..48ab55304d 100644 --- a/Src/UnitsNet/Units/AreaUnit.cs +++ b/Src/UnitsNet/Units/AreaUnit.cs @@ -10,6 +10,18 @@ public enum AreaUnit Undefined = 0, // Metric + /* + * International Nautical Mile + * "Beginning on July 1, 1954, the National Bureau of Standards will use + * the international Nautical Mile in lieu of the U.S. Nautical Mil. This deciision, replacint the U.S. Nautical + * Mile of 1,853.248 meters (6,080.20 feet) by the International Nautical Mile of 1,852 meters (6,076.10333... feet), + * confirms an official agreement between the Secretart of Commerce and the Secretary of Defense to use the + * Inernational Nautical Mile within their respective departments." http://physics.nist.gov/Pubs/SP447/app4.pdf + */ + [I18n("en-US", "nmi²")] + [I18n("ru-RU", "нмиля²")] + [Length(3429904)] + SquareInternationalNauticalMile, [I18n("en-US", "km²")] [I18n("ru-RU", "км²")] diff --git a/Src/UnitsNet/Units/LengthUnit.cs b/Src/UnitsNet/Units/LengthUnit.cs index f3a60cc1e9..b05f835eaa 100644 --- a/Src/UnitsNet/Units/LengthUnit.cs +++ b/Src/UnitsNet/Units/LengthUnit.cs @@ -9,6 +9,19 @@ public enum LengthUnit [I18n("nb-NO", "(ingen)")] Undefined = 0, + /* + * International Nautical Mile + * "Beginning on July 1, 1954, the National Bureau of Standards will use + * the international Nautical Mile in lieu of the U.S. Nautical Mil. This deciision, replacint the U.S. Nautical + * Mile of 1,853.248 meters (6,080.20 feet) by the International Nautical Mile of 1,852 meters (6,076.10333... feet), + * confirms an official agreement between the Secretart of Commerce and the Secretary of Defense to use the + * Inernational Nautical Mile within their respective departments." http://physics.nist.gov/Pubs/SP447/app4.pdf + */ + [I18n("en-US", "nmi")] + [I18n("ru-RU", "нмиля")] + [Length(1852)] + InternationalNauticalMile, + [I18n("en-US", "km")] [I18n("ru-RU", "км")] [Length(1e3)] diff --git a/Src/UpgradeLog.htm b/Src/UpgradeLog.htm new file mode 100644 index 0000000000..98daffed8e Binary files /dev/null and b/Src/UpgradeLog.htm differ diff --git a/Tests/GeneratedCode/AreaTestsBase.g.cs b/Tests/GeneratedCode/AreaTestsBase.g.cs index bd02cdce50..9f1491105f 100644 --- a/Tests/GeneratedCode/AreaTestsBase.g.cs +++ b/Tests/GeneratedCode/AreaTestsBase.g.cs @@ -41,6 +41,7 @@ public abstract partial class AreaTestsBase public abstract double SquareDecimetersInOneSquareMeter { get; } public abstract double SquareFeetInOneSquareMeter { get; } public abstract double SquareInchesInOneSquareMeter { get; } + public abstract double SquareInternationalNauticalMilesInOneSquareMeter { get; } public abstract double SquareKilometersInOneSquareMeter { get; } public abstract double SquareMetersInOneSquareMeter { get; } public abstract double SquareMilesInOneSquareMeter { get; } @@ -55,6 +56,7 @@ public void SquareMeterToAreaUnits() Assert.AreEqual(SquareDecimetersInOneSquareMeter, squaremeter.SquareDecimeters, Delta); Assert.AreEqual(SquareFeetInOneSquareMeter, squaremeter.SquareFeet, Delta); Assert.AreEqual(SquareInchesInOneSquareMeter, squaremeter.SquareInches, Delta); + Assert.AreEqual(SquareInternationalNauticalMilesInOneSquareMeter, squaremeter.SquareInternationalNauticalMiles, Delta); Assert.AreEqual(SquareKilometersInOneSquareMeter, squaremeter.SquareKilometers, Delta); Assert.AreEqual(SquareMetersInOneSquareMeter, squaremeter.SquareMeters, Delta); Assert.AreEqual(SquareMilesInOneSquareMeter, squaremeter.SquareMiles, Delta); @@ -69,6 +71,7 @@ public void FromValueAndUnit() Assert.AreEqual(1, Area.From(1, AreaUnit.SquareDecimeter).SquareDecimeters, Delta); Assert.AreEqual(1, Area.From(1, AreaUnit.SquareFoot).SquareFeet, Delta); Assert.AreEqual(1, Area.From(1, AreaUnit.SquareInch).SquareInches, Delta); + Assert.AreEqual(1, Area.From(1, AreaUnit.SquareInternationalNauticalMile).SquareInternationalNauticalMiles, Delta); Assert.AreEqual(1, Area.From(1, AreaUnit.SquareKilometer).SquareKilometers, Delta); Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMeter).SquareMeters, Delta); Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMile).SquareMiles, Delta); @@ -85,6 +88,7 @@ public void As() Assert.AreEqual(SquareDecimetersInOneSquareMeter, squaremeter.As(AreaUnit.SquareDecimeter), Delta); Assert.AreEqual(SquareFeetInOneSquareMeter, squaremeter.As(AreaUnit.SquareFoot), Delta); Assert.AreEqual(SquareInchesInOneSquareMeter, squaremeter.As(AreaUnit.SquareInch), Delta); + Assert.AreEqual(SquareInternationalNauticalMilesInOneSquareMeter, squaremeter.As(AreaUnit.SquareInternationalNauticalMile), Delta); Assert.AreEqual(SquareKilometersInOneSquareMeter, squaremeter.As(AreaUnit.SquareKilometer), Delta); Assert.AreEqual(SquareMetersInOneSquareMeter, squaremeter.As(AreaUnit.SquareMeter), Delta); Assert.AreEqual(SquareMilesInOneSquareMeter, squaremeter.As(AreaUnit.SquareMile), Delta); @@ -100,6 +104,7 @@ public void ConversionRoundTrip() Assert.AreEqual(1, Area.FromSquareDecimeters(squaremeter.SquareDecimeters).SquareMeters, Delta); Assert.AreEqual(1, Area.FromSquareFeet(squaremeter.SquareFeet).SquareMeters, Delta); Assert.AreEqual(1, Area.FromSquareInches(squaremeter.SquareInches).SquareMeters, Delta); + Assert.AreEqual(1, Area.FromSquareInternationalNauticalMiles(squaremeter.SquareInternationalNauticalMiles).SquareMeters, Delta); Assert.AreEqual(1, Area.FromSquareKilometers(squaremeter.SquareKilometers).SquareMeters, Delta); Assert.AreEqual(1, Area.FromSquareMeters(squaremeter.SquareMeters).SquareMeters, Delta); Assert.AreEqual(1, Area.FromSquareMiles(squaremeter.SquareMiles).SquareMeters, Delta); diff --git a/Tests/GeneratedCode/LengthTestsBase.g.cs b/Tests/GeneratedCode/LengthTestsBase.g.cs index 671789fc1b..3dde56b15f 100644 --- a/Tests/GeneratedCode/LengthTestsBase.g.cs +++ b/Tests/GeneratedCode/LengthTestsBase.g.cs @@ -41,6 +41,7 @@ public abstract partial class LengthTestsBase public abstract double DecimetersInOneMeter { get; } public abstract double FeetInOneMeter { get; } public abstract double InchesInOneMeter { get; } + public abstract double InternationalNauticalMilesInOneMeter { get; } public abstract double KilometersInOneMeter { get; } public abstract double MetersInOneMeter { get; } public abstract double MicroinchesInOneMeter { get; } @@ -59,6 +60,7 @@ public void MeterToLengthUnits() Assert.AreEqual(DecimetersInOneMeter, meter.Decimeters, Delta); Assert.AreEqual(FeetInOneMeter, meter.Feet, Delta); Assert.AreEqual(InchesInOneMeter, meter.Inches, Delta); + Assert.AreEqual(InternationalNauticalMilesInOneMeter, meter.InternationalNauticalMiles, Delta); Assert.AreEqual(KilometersInOneMeter, meter.Kilometers, Delta); Assert.AreEqual(MetersInOneMeter, meter.Meters, Delta); Assert.AreEqual(MicroinchesInOneMeter, meter.Microinches, Delta); @@ -77,6 +79,7 @@ public void FromValueAndUnit() Assert.AreEqual(1, Length.From(1, LengthUnit.Decimeter).Decimeters, Delta); Assert.AreEqual(1, Length.From(1, LengthUnit.Foot).Feet, Delta); Assert.AreEqual(1, Length.From(1, LengthUnit.Inch).Inches, Delta); + Assert.AreEqual(1, Length.From(1, LengthUnit.InternationalNauticalMile).InternationalNauticalMiles, Delta); Assert.AreEqual(1, Length.From(1, LengthUnit.Kilometer).Kilometers, Delta); Assert.AreEqual(1, Length.From(1, LengthUnit.Meter).Meters, Delta); Assert.AreEqual(1, Length.From(1, LengthUnit.Microinch).Microinches, Delta); @@ -97,6 +100,7 @@ public void As() Assert.AreEqual(DecimetersInOneMeter, meter.As(LengthUnit.Decimeter), Delta); Assert.AreEqual(FeetInOneMeter, meter.As(LengthUnit.Foot), Delta); Assert.AreEqual(InchesInOneMeter, meter.As(LengthUnit.Inch), Delta); + Assert.AreEqual(InternationalNauticalMilesInOneMeter, meter.As(LengthUnit.InternationalNauticalMile), Delta); Assert.AreEqual(KilometersInOneMeter, meter.As(LengthUnit.Kilometer), Delta); Assert.AreEqual(MetersInOneMeter, meter.As(LengthUnit.Meter), Delta); Assert.AreEqual(MicroinchesInOneMeter, meter.As(LengthUnit.Microinch), Delta); @@ -116,6 +120,7 @@ public void ConversionRoundTrip() Assert.AreEqual(1, Length.FromDecimeters(meter.Decimeters).Meters, Delta); Assert.AreEqual(1, Length.FromFeet(meter.Feet).Meters, Delta); Assert.AreEqual(1, Length.FromInches(meter.Inches).Meters, Delta); + Assert.AreEqual(1, Length.FromInternationalNauticalMiles(meter.InternationalNauticalMiles).Meters, Delta); Assert.AreEqual(1, Length.FromKilometers(meter.Kilometers).Meters, Delta); Assert.AreEqual(1, Length.FromMeters(meter.Meters).Meters, Delta); Assert.AreEqual(1, Length.FromMicroinches(meter.Microinches).Meters, Delta);