From 3092bd47b973c54b369bf9ca40fa611427a8a5c7 Mon Sep 17 00:00:00 2001 From: Michael Brunner Date: Mon, 29 Aug 2022 10:37:49 +0200 Subject: [PATCH 1/3] Fix wrong solarMass abbreviation --- Common/UnitDefinitions/Mass.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/UnitDefinitions/Mass.json b/Common/UnitDefinitions/Mass.json index c9774edf72..369d6c235c 100644 --- a/Common/UnitDefinitions/Mass.json +++ b/Common/UnitDefinitions/Mass.json @@ -248,7 +248,7 @@ "Localization": [ { "Culture": "en-US", - "Abbreviations": [ "M⊙" ] + "Abbreviations": [ "M☉" ] } ] }, From da6688ec1267895b3874809ed4d6fac908b1ac83 Mon Sep 17 00:00:00 2001 From: Michael Brunner Date: Wed, 31 Aug 2022 10:49:31 +0200 Subject: [PATCH 2/3] Added old abbreviation of solar mass as fallback for Deserialization --- Common/UnitDefinitions/Mass.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/UnitDefinitions/Mass.json b/Common/UnitDefinitions/Mass.json index 369d6c235c..7ca070cbcc 100644 --- a/Common/UnitDefinitions/Mass.json +++ b/Common/UnitDefinitions/Mass.json @@ -248,7 +248,7 @@ "Localization": [ { "Culture": "en-US", - "Abbreviations": [ "M☉" ] + "Abbreviations": [ "M☉", "M⊙" ] } ] }, From ccb54d8da41ba77b2cbeb70f13573d02e205861f Mon Sep 17 00:00:00 2001 From: Michael Brunner Date: Fri, 2 Sep 2022 19:24:41 +0200 Subject: [PATCH 3/3] Generated code with correct solar mass abbr --- .../TestsBase/MassTestsBase.g.cs | 28 +++++++++++++++++-- .../GeneratedCode/Quantities/Mass.g.cs | 2 +- UnitsNet/GeneratedCode/Quantities/Mass.g.cs | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/UnitsNet.Tests/GeneratedCode/TestsBase/MassTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/TestsBase/MassTestsBase.g.cs index 177c8c4552..e38f08e9a9 100644 --- a/UnitsNet.Tests/GeneratedCode/TestsBase/MassTestsBase.g.cs +++ b/UnitsNet.Tests/GeneratedCode/TestsBase/MassTestsBase.g.cs @@ -863,6 +863,13 @@ public void Parse() Assert.Equal(MassUnit.Slug, parsed.Unit); } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + try + { + var parsed = Mass.Parse("1 M☉", CultureInfo.GetCultureInfo("en-US")); + AssertEx.EqualTolerance(1, parsed.SolarMasses, SolarMassesTolerance); + Assert.Equal(MassUnit.SolarMass, parsed.Unit); + } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + try { var parsed = Mass.Parse("1 M⊙", CultureInfo.GetCultureInfo("en-US")); @@ -1263,6 +1270,12 @@ public void TryParse() Assert.Equal(MassUnit.Slug, parsed.Unit); } + { + Assert.True(Mass.TryParse("1 M☉", CultureInfo.GetCultureInfo("en-US"), out var parsed)); + AssertEx.EqualTolerance(1, parsed.SolarMasses, SolarMassesTolerance); + Assert.Equal(MassUnit.SolarMass, parsed.Unit); + } + { Assert.True(Mass.TryParse("1 M⊙", CultureInfo.GetCultureInfo("en-US"), out var parsed)); AssertEx.EqualTolerance(1, parsed.SolarMasses, SolarMassesTolerance); @@ -1670,6 +1683,12 @@ public void ParseUnit() Assert.Equal(MassUnit.Slug, parsedUnit); } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + try + { + var parsedUnit = Mass.ParseUnit("M☉", CultureInfo.GetCultureInfo("en-US")); + Assert.Equal(MassUnit.SolarMass, parsedUnit); + } catch (AmbiguousUnitParseException) { /* Some units have the same abbreviations */ } + try { var parsedUnit = Mass.ParseUnit("M⊙", CultureInfo.GetCultureInfo("en-US")); @@ -2005,6 +2024,11 @@ public void TryParseUnit() Assert.Equal(MassUnit.Slug, parsedUnit); } + { + Assert.True(Mass.TryParseUnit("M☉", CultureInfo.GetCultureInfo("en-US"), out var parsedUnit)); + Assert.Equal(MassUnit.SolarMass, parsedUnit); + } + { Assert.True(Mass.TryParseUnit("M⊙", CultureInfo.GetCultureInfo("en-US"), out var parsedUnit)); Assert.Equal(MassUnit.SolarMass, parsedUnit); @@ -2282,7 +2306,7 @@ public void ToString_ReturnsValueAndUnitAbbreviationInCurrentCulture() Assert.Equal("1 cwt", new Mass(1, MassUnit.ShortHundredweight).ToString()); Assert.Equal("1 t (short)", new Mass(1, MassUnit.ShortTon).ToString()); Assert.Equal("1 slug", new Mass(1, MassUnit.Slug).ToString()); - Assert.Equal("1 M⊙", new Mass(1, MassUnit.SolarMass).ToString()); + Assert.Equal("1 M☉", new Mass(1, MassUnit.SolarMass).ToString()); Assert.Equal("1 st", new Mass(1, MassUnit.Stone).ToString()); Assert.Equal("1 t", new Mass(1, MassUnit.Tonne).ToString()); } @@ -2320,7 +2344,7 @@ public void ToString_WithSwedishCulture_ReturnsUnitAbbreviationForEnglishCulture Assert.Equal("1 cwt", new Mass(1, MassUnit.ShortHundredweight).ToString(swedishCulture)); Assert.Equal("1 t (short)", new Mass(1, MassUnit.ShortTon).ToString(swedishCulture)); Assert.Equal("1 slug", new Mass(1, MassUnit.Slug).ToString(swedishCulture)); - Assert.Equal("1 M⊙", new Mass(1, MassUnit.SolarMass).ToString(swedishCulture)); + Assert.Equal("1 M☉", new Mass(1, MassUnit.SolarMass).ToString(swedishCulture)); Assert.Equal("1 st", new Mass(1, MassUnit.Stone).ToString(swedishCulture)); Assert.Equal("1 t", new Mass(1, MassUnit.Tonne).ToString(swedishCulture)); } diff --git a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Mass.g.cs b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Mass.g.cs index 03a91cf2f8..2551e71207 100644 --- a/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Mass.g.cs +++ b/UnitsNet.WindowsRuntimeComponent/GeneratedCode/Quantities/Mass.g.cs @@ -349,7 +349,7 @@ internal static void MapGeneratedLocalizations(UnitAbbreviationsCache unitAbbrev unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.ShortTon, new CultureInfo("ru-RU"), false, true, new string[]{"тонна малая"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.ShortTon, new CultureInfo("zh-CN"), false, true, new string[]{"短吨"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Slug, new CultureInfo("en-US"), false, true, new string[]{"slug"}); - unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.SolarMass, new CultureInfo("en-US"), false, true, new string[]{"M⊙"}); + unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.SolarMass, new CultureInfo("en-US"), false, true, new string[]{"M☉", "M⊙"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Stone, new CultureInfo("en-US"), false, true, new string[]{"st"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Tonne, new CultureInfo("en-US"), false, true, new string[]{"t"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Tonne, new CultureInfo("ru-RU"), false, true, new string[]{"т"}); diff --git a/UnitsNet/GeneratedCode/Quantities/Mass.g.cs b/UnitsNet/GeneratedCode/Quantities/Mass.g.cs index a54a0e298a..fd6a245e37 100644 --- a/UnitsNet/GeneratedCode/Quantities/Mass.g.cs +++ b/UnitsNet/GeneratedCode/Quantities/Mass.g.cs @@ -459,7 +459,7 @@ internal static void MapGeneratedLocalizations(UnitAbbreviationsCache unitAbbrev unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.ShortTon, new CultureInfo("ru-RU"), false, true, new string[]{"тонна малая"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.ShortTon, new CultureInfo("zh-CN"), false, true, new string[]{"短吨"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Slug, new CultureInfo("en-US"), false, true, new string[]{"slug"}); - unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.SolarMass, new CultureInfo("en-US"), false, true, new string[]{"M⊙"}); + unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.SolarMass, new CultureInfo("en-US"), false, true, new string[]{"M☉", "M⊙"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Stone, new CultureInfo("en-US"), false, true, new string[]{"st"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Tonne, new CultureInfo("en-US"), false, true, new string[]{"t"}); unitAbbreviationsCache.PerformAbbreviationMapping(MassUnit.Tonne, new CultureInfo("ru-RU"), false, true, new string[]{"т"});