From d629e4412b76a631f4e5fac44cb66ebc6c0334f9 Mon Sep 17 00:00:00 2001 From: HuzaifaChaudary Date: Fri, 23 Oct 2026 00:49:40 +0500 Subject: [PATCH] Fix zh-CN abbreviations for hectare and nautical mile Co-Authored-By: Claude Opus 5.5 --- Common/UnitDefinitions/Area.json | 2 +- Common/UnitDefinitions/Length.json | 2 +- .../TestsBase/AreaTestsBase.g.cs | 42 ++++++------------- .../TestsBase/LengthTestsBase.g.cs | 18 +++++--- .../Resources/Area.zh-CN.restext | 2 +- .../Resources/Length.zh-CN.restext | 2 +- 6 files changed, 30 insertions(+), 38 deletions(-) diff --git a/Common/UnitDefinitions/Area.json b/Common/UnitDefinitions/Area.json index 7c9bd21fec..60c8e77932 100644 --- a/Common/UnitDefinitions/Area.json +++ b/Common/UnitDefinitions/Area.json @@ -299,7 +299,7 @@ }, { "Culture": "zh-CN", - "Abbreviations": [ "英亩" ] + "Abbreviations": [ "公顷" ] } ] }, diff --git a/Common/UnitDefinitions/Length.json b/Common/UnitDefinitions/Length.json index cb3419436e..9e60f8db77 100644 --- a/Common/UnitDefinitions/Length.json +++ b/Common/UnitDefinitions/Length.json @@ -191,7 +191,7 @@ }, { "Culture": "zh-CN", - "Abbreviations": [ "纳米" ] + "Abbreviations": [ "海里" ] } ] }, diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/AreaTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/AreaTestsBase.g.cs index bed4b11eae..1ed678e2f1 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/AreaTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/AreaTestsBase.g.cs @@ -395,6 +395,8 @@ public void ToUnit_UnitSystem_ThrowsArgumentExceptionIfNotSupported() [InlineData("ru-RU", "4,2 морск.миля²", AreaUnit.SquareNauticalMile, 4.2)] [InlineData("ru-RU", "4,2 ярд²", AreaUnit.SquareYard, 4.2)] [InlineData("ru-RU", "4,2 фут² (US)", AreaUnit.UsSurveySquareFoot, 4.2)] + [InlineData("zh-CN", "4.2 英亩", AreaUnit.Acre, 4.2)] + [InlineData("zh-CN", "4.2 公顷", AreaUnit.Hectare, 4.2)] [InlineData("zh-CN", "4.2 平方厘米", AreaUnit.SquareCentimeter, 4.2)] [InlineData("zh-CN", "4.2 平方分米", AreaUnit.SquareDecimeter, 4.2)] [InlineData("zh-CN", "4.2 平方英尺", AreaUnit.SquareFoot, 4.2)] @@ -414,13 +416,6 @@ public void Parse(string culture, string quantityString, AreaUnit expectedUnit, Assert.Equal(expectedValue, parsed.Value); } - [Theory] - [InlineData("zh-CN", "1 英亩")] // [Acre, Hectare] - public void ParseWithAmbiguousAbbreviation(string culture, string quantityString) - { - Assert.Throws(() => Area.Parse(quantityString, CultureInfo.GetCultureInfo(culture))); - } - [Theory] [InlineData("en-US", "4.2 ac", AreaUnit.Acre, 4.2)] [InlineData("en-US", "4.2 ha", AreaUnit.Hectare, 4.2)] @@ -450,6 +445,8 @@ public void ParseWithAmbiguousAbbreviation(string culture, string quantityString [InlineData("ru-RU", "4,2 морск.миля²", AreaUnit.SquareNauticalMile, 4.2)] [InlineData("ru-RU", "4,2 ярд²", AreaUnit.SquareYard, 4.2)] [InlineData("ru-RU", "4,2 фут² (US)", AreaUnit.UsSurveySquareFoot, 4.2)] + [InlineData("zh-CN", "4.2 英亩", AreaUnit.Acre, 4.2)] + [InlineData("zh-CN", "4.2 公顷", AreaUnit.Hectare, 4.2)] [InlineData("zh-CN", "4.2 平方厘米", AreaUnit.SquareCentimeter, 4.2)] [InlineData("zh-CN", "4.2 平方分米", AreaUnit.SquareDecimeter, 4.2)] [InlineData("zh-CN", "4.2 平方英尺", AreaUnit.SquareFoot, 4.2)] @@ -469,13 +466,6 @@ public void TryParse(string culture, string quantityString, AreaUnit expectedUni Assert.Equal(expectedValue, parsed.Value); } - [Theory] - [InlineData("zh-CN", "1 英亩")] // [Acre, Hectare] - public void TryParseWithAmbiguousAbbreviation(string culture, string quantityString) - { - Assert.False(Area.TryParse(quantityString, CultureInfo.GetCultureInfo(culture), out _)); - } - [Theory] [InlineData("ac", AreaUnit.Acre)] [InlineData("ha", AreaUnit.Hectare)] @@ -551,6 +541,8 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string [InlineData("ru-RU", "морск.миля²", AreaUnit.SquareNauticalMile)] [InlineData("ru-RU", "ярд²", AreaUnit.SquareYard)] [InlineData("ru-RU", "фут² (US)", AreaUnit.UsSurveySquareFoot)] + [InlineData("zh-CN", "英亩", AreaUnit.Acre)] + [InlineData("zh-CN", "公顷", AreaUnit.Hectare)] [InlineData("zh-CN", "平方厘米", AreaUnit.SquareCentimeter)] [InlineData("zh-CN", "平方分米", AreaUnit.SquareDecimeter)] [InlineData("zh-CN", "平方英尺", AreaUnit.SquareFoot)] @@ -598,6 +590,8 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Ar [InlineData("ru-RU", "морск.миля²", AreaUnit.SquareNauticalMile)] [InlineData("ru-RU", "ярд²", AreaUnit.SquareYard)] [InlineData("ru-RU", "фут² (US)", AreaUnit.UsSurveySquareFoot)] + [InlineData("zh-CN", "英亩", AreaUnit.Acre)] + [InlineData("zh-CN", "公顷", AreaUnit.Hectare)] [InlineData("zh-CN", "平方厘米", AreaUnit.SquareCentimeter)] [InlineData("zh-CN", "平方分米", AreaUnit.SquareDecimeter)] [InlineData("zh-CN", "平方英尺", AreaUnit.SquareFoot)] @@ -615,13 +609,6 @@ public void ParseUnit_WithCulture(string culture, string abbreviation, AreaUnit Assert.Equal(expectedUnit, parsedUnit); } - [Theory] - [InlineData("zh-CN", "英亩")] // [Acre, Hectare] - public void ParseUnitWithAmbiguousAbbreviation(string culture, string abbreviation) - { - Assert.Throws(() => Area.ParseUnit(abbreviation, CultureInfo.GetCultureInfo(culture))); - } - [Theory] [InlineData("ac", AreaUnit.Acre)] [InlineData("ha", AreaUnit.Hectare)] @@ -697,6 +684,8 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri [InlineData("ru-RU", "морск.миля²", AreaUnit.SquareNauticalMile)] [InlineData("ru-RU", "ярд²", AreaUnit.SquareYard)] [InlineData("ru-RU", "фут² (US)", AreaUnit.UsSurveySquareFoot)] + [InlineData("zh-CN", "英亩", AreaUnit.Acre)] + [InlineData("zh-CN", "公顷", AreaUnit.Hectare)] [InlineData("zh-CN", "平方厘米", AreaUnit.SquareCentimeter)] [InlineData("zh-CN", "平方分米", AreaUnit.SquareDecimeter)] [InlineData("zh-CN", "平方英尺", AreaUnit.SquareFoot)] @@ -744,6 +733,8 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, [InlineData("ru-RU", "морск.миля²", AreaUnit.SquareNauticalMile)] [InlineData("ru-RU", "ярд²", AreaUnit.SquareYard)] [InlineData("ru-RU", "фут² (US)", AreaUnit.UsSurveySquareFoot)] + [InlineData("zh-CN", "英亩", AreaUnit.Acre)] + [InlineData("zh-CN", "公顷", AreaUnit.Hectare)] [InlineData("zh-CN", "平方厘米", AreaUnit.SquareCentimeter)] [InlineData("zh-CN", "平方分米", AreaUnit.SquareDecimeter)] [InlineData("zh-CN", "平方英尺", AreaUnit.SquareFoot)] @@ -761,13 +752,6 @@ public void TryParseUnit_WithCulture(string culture, string abbreviation, AreaUn Assert.Equal(expectedUnit, parsedUnit); } - [Theory] - [InlineData("zh-CN", "英亩")] // [Acre, Hectare] - public void TryParseUnitWithAmbiguousAbbreviation(string culture, string abbreviation) - { - Assert.False(Area.TryParseUnit(abbreviation, CultureInfo.GetCultureInfo(culture), out _)); - } - [Theory] [InlineData("en-US", AreaUnit.Acre, "ac")] [InlineData("en-US", AreaUnit.Hectare, "ha")] @@ -798,7 +782,7 @@ public void TryParseUnitWithAmbiguousAbbreviation(string culture, string abbrevi [InlineData("ru-RU", AreaUnit.SquareYard, "ярд²")] [InlineData("ru-RU", AreaUnit.UsSurveySquareFoot, "фут² (US)")] [InlineData("zh-CN", AreaUnit.Acre, "英亩")] - [InlineData("zh-CN", AreaUnit.Hectare, "英亩")] + [InlineData("zh-CN", AreaUnit.Hectare, "公顷")] [InlineData("zh-CN", AreaUnit.SquareCentimeter, "平方厘米")] [InlineData("zh-CN", AreaUnit.SquareDecimeter, "平方分米")] [InlineData("zh-CN", AreaUnit.SquareFoot, "平方英尺")] diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/LengthTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/LengthTestsBase.g.cs index 4747f3c4fb..a07e41d6a1 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/LengthTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/LengthTestsBase.g.cs @@ -621,6 +621,8 @@ public void ToUnit_UnitSystem_ThrowsArgumentExceptionIfNotSupported() [InlineData("zh-CN", "4.2 密耳", LengthUnit.Mil, 4.2)] [InlineData("zh-CN", "4.2 英里", LengthUnit.Mile, 4.2)] [InlineData("zh-CN", "4.2 毫米", LengthUnit.Millimeter, 4.2)] + [InlineData("zh-CN", "4.2 纳米", LengthUnit.Nanometer, 4.2)] + [InlineData("zh-CN", "4.2 海里", LengthUnit.NauticalMile, 4.2)] [InlineData("zh-CN", "4.2 皮米", LengthUnit.Picometer, 4.2)] [InlineData("zh-CN", "4.2 码", LengthUnit.Yard, 4.2)] public void Parse(string culture, string quantityString, LengthUnit expectedUnit, decimal expectedValue) @@ -635,7 +637,6 @@ public void Parse(string culture, string quantityString, LengthUnit expectedUnit [InlineData("en-US", "1 pica")] // [DtpPica, PrinterPica] [InlineData("en-US", "1 pt")] // [DtpPoint, PrinterPoint] [InlineData("ru-RU", "1 мил")] // [Mil, NauticalMile] - [InlineData("zh-CN", "1 纳米")] // [Nanometer, NauticalMile] public void ParseWithAmbiguousAbbreviation(string culture, string quantityString) { Assert.Throws(() => Length.Parse(quantityString, CultureInfo.GetCultureInfo(culture))); @@ -728,6 +729,8 @@ public void ParseWithAmbiguousAbbreviation(string culture, string quantityString [InlineData("zh-CN", "4.2 密耳", LengthUnit.Mil, 4.2)] [InlineData("zh-CN", "4.2 英里", LengthUnit.Mile, 4.2)] [InlineData("zh-CN", "4.2 毫米", LengthUnit.Millimeter, 4.2)] + [InlineData("zh-CN", "4.2 纳米", LengthUnit.Nanometer, 4.2)] + [InlineData("zh-CN", "4.2 海里", LengthUnit.NauticalMile, 4.2)] [InlineData("zh-CN", "4.2 皮米", LengthUnit.Picometer, 4.2)] [InlineData("zh-CN", "4.2 码", LengthUnit.Yard, 4.2)] public void TryParse(string culture, string quantityString, LengthUnit expectedUnit, decimal expectedValue) @@ -742,7 +745,6 @@ public void TryParse(string culture, string quantityString, LengthUnit expectedU [InlineData("en-US", "1 pica")] // [DtpPica, PrinterPica] [InlineData("en-US", "1 pt")] // [DtpPoint, PrinterPoint] [InlineData("ru-RU", "1 мил")] // [Mil, NauticalMile] - [InlineData("zh-CN", "1 纳米")] // [Nanometer, NauticalMile] public void TryParseWithAmbiguousAbbreviation(string culture, string quantityString) { Assert.False(Length.TryParse(quantityString, CultureInfo.GetCultureInfo(culture), out _)); @@ -949,6 +951,8 @@ public void ParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(string [InlineData("zh-CN", "密耳", LengthUnit.Mil)] [InlineData("zh-CN", "英里", LengthUnit.Mile)] [InlineData("zh-CN", "毫米", LengthUnit.Millimeter)] + [InlineData("zh-CN", "纳米", LengthUnit.Nanometer)] + [InlineData("zh-CN", "海里", LengthUnit.NauticalMile)] [InlineData("zh-CN", "皮米", LengthUnit.Picometer)] [InlineData("zh-CN", "码", LengthUnit.Yard)] public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, LengthUnit expectedUnit) @@ -1045,6 +1049,8 @@ public void ParseUnit_WithCurrentCulture(string culture, string abbreviation, Le [InlineData("zh-CN", "密耳", LengthUnit.Mil)] [InlineData("zh-CN", "英里", LengthUnit.Mile)] [InlineData("zh-CN", "毫米", LengthUnit.Millimeter)] + [InlineData("zh-CN", "纳米", LengthUnit.Nanometer)] + [InlineData("zh-CN", "海里", LengthUnit.NauticalMile)] [InlineData("zh-CN", "皮米", LengthUnit.Picometer)] [InlineData("zh-CN", "码", LengthUnit.Yard)] public void ParseUnit_WithCulture(string culture, string abbreviation, LengthUnit expectedUnit) @@ -1057,7 +1063,6 @@ public void ParseUnit_WithCulture(string culture, string abbreviation, LengthUni [InlineData("en-US", "pica")] // [DtpPica, PrinterPica] [InlineData("en-US", "pt")] // [DtpPoint, PrinterPoint] [InlineData("ru-RU", "мил")] // [Mil, NauticalMile] - [InlineData("zh-CN", "纳米")] // [Nanometer, NauticalMile] public void ParseUnitWithAmbiguousAbbreviation(string culture, string abbreviation) { Assert.Throws(() => Length.ParseUnit(abbreviation, CultureInfo.GetCultureInfo(culture))); @@ -1264,6 +1269,8 @@ public void TryParseUnit_WithUnsupportedCurrentCulture_FallsBackToUsEnglish(stri [InlineData("zh-CN", "密耳", LengthUnit.Mil)] [InlineData("zh-CN", "英里", LengthUnit.Mile)] [InlineData("zh-CN", "毫米", LengthUnit.Millimeter)] + [InlineData("zh-CN", "纳米", LengthUnit.Nanometer)] + [InlineData("zh-CN", "海里", LengthUnit.NauticalMile)] [InlineData("zh-CN", "皮米", LengthUnit.Picometer)] [InlineData("zh-CN", "码", LengthUnit.Yard)] public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, LengthUnit expectedUnit) @@ -1360,6 +1367,8 @@ public void TryParseUnit_WithCurrentCulture(string culture, string abbreviation, [InlineData("zh-CN", "密耳", LengthUnit.Mil)] [InlineData("zh-CN", "英里", LengthUnit.Mile)] [InlineData("zh-CN", "毫米", LengthUnit.Millimeter)] + [InlineData("zh-CN", "纳米", LengthUnit.Nanometer)] + [InlineData("zh-CN", "海里", LengthUnit.NauticalMile)] [InlineData("zh-CN", "皮米", LengthUnit.Picometer)] [InlineData("zh-CN", "码", LengthUnit.Yard)] public void TryParseUnit_WithCulture(string culture, string abbreviation, LengthUnit expectedUnit) @@ -1372,7 +1381,6 @@ public void TryParseUnit_WithCulture(string culture, string abbreviation, Length [InlineData("en-US", "pica")] // [DtpPica, PrinterPica] [InlineData("en-US", "pt")] // [DtpPoint, PrinterPoint] [InlineData("ru-RU", "мил")] // [Mil, NauticalMile] - [InlineData("zh-CN", "纳米")] // [Nanometer, NauticalMile] public void TryParseUnitWithAmbiguousAbbreviation(string culture, string abbreviation) { Assert.False(Length.TryParseUnit(abbreviation, CultureInfo.GetCultureInfo(culture), out _)); @@ -1462,7 +1470,7 @@ public void TryParseUnitWithAmbiguousAbbreviation(string culture, string abbrevi [InlineData("zh-CN", LengthUnit.Mile, "英里")] [InlineData("zh-CN", LengthUnit.Millimeter, "毫米")] [InlineData("zh-CN", LengthUnit.Nanometer, "纳米")] - [InlineData("zh-CN", LengthUnit.NauticalMile, "纳米")] + [InlineData("zh-CN", LengthUnit.NauticalMile, "海里")] [InlineData("zh-CN", LengthUnit.Picometer, "皮米")] [InlineData("zh-CN", LengthUnit.Yard, "码")] public void GetAbbreviationForCulture(string culture, LengthUnit unit, string expectedAbbreviation) diff --git a/UnitsNet/GeneratedCode/Resources/Area.zh-CN.restext b/UnitsNet/GeneratedCode/Resources/Area.zh-CN.restext index 75b1e89228..07057d458f 100644 --- a/UnitsNet/GeneratedCode/Resources/Area.zh-CN.restext +++ b/UnitsNet/GeneratedCode/Resources/Area.zh-CN.restext @@ -1,5 +1,5 @@ Acres=英亩 -Hectares=英亩 +Hectares=公顷 SquareCentimeters=平方厘米 SquareDecimeters=平方分米 SquareFeet=平方英尺 diff --git a/UnitsNet/GeneratedCode/Resources/Length.zh-CN.restext b/UnitsNet/GeneratedCode/Resources/Length.zh-CN.restext index a6ce83452f..cff6fb3846 100644 --- a/UnitsNet/GeneratedCode/Resources/Length.zh-CN.restext +++ b/UnitsNet/GeneratedCode/Resources/Length.zh-CN.restext @@ -17,6 +17,6 @@ Mils=密耳 Miles=英里 Millimeters=毫米 Nanometers=纳米 -NauticalMiles=纳米 +NauticalMiles=海里 Picometers=皮米 Yards=码