Skip to content

Commit 095c85b

Browse files
lipchevangularsen
andauthored
QuantityFormatter defaults to the "G" format (#1450)
- [x] `QuantityFormatter` defaults to the "G" format for null or empty string - [x] `QuantityFormatter` no longer supports the `U`/`V`/`Q` formats (an exception is thrown) - [x] `QuantityFormatter` explicitly throws for the `Cx`/`Px` formats - [x] `QuantityFormatter` shouldn't throw for something like "P1: #.00" (instead it should output something like "P1: 12.34 mg") - [x] `QuantityFormatter` unless explicitly given an incorrect `Ax` specifier, the `QuantityFormatter` uses the "default unit abbreviation" - which maybe `string.Empty` (if none are defined for a given unit) Fixes #1183 Duplicate of #1206 CC @tmilnthorp --------- Co-authored-by: Andreas Gullberg Larsen <[email protected]>
1 parent 50ba1c1 commit 095c85b

File tree

256 files changed

+1012
-868
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

256 files changed

+1012
-868
lines changed

CodeGen/Generators/UnitsNetGen/QuantityGenerator.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1170,7 +1170,7 @@ private void GenerateToString()
11701170
/// <returns>String representation.</returns>
11711171
public override string ToString()
11721172
{{
1173-
return ToString(""g"");
1173+
return ToString(null, null);
11741174
}}
11751175
11761176
/// <summary>
@@ -1180,7 +1180,7 @@ public override string ToString()
11801180
/// <param name=""provider"">Format to use for localization and number formatting. Defaults to <see cref=""CultureInfo.CurrentCulture"" /> if null.</param>
11811181
public string ToString(IFormatProvider? provider)
11821182
{{
1183-
return ToString(""g"", provider);
1183+
return ToString(null, provider);
11841184
}}
11851185
11861186
/// <inheritdoc cref=""QuantityFormatter.Format{{TUnitType}}(IQuantity{{TUnitType}}, string, IFormatProvider)""/>
@@ -1191,7 +1191,7 @@ public string ToString(IFormatProvider? provider)
11911191
/// <returns>The string representation.</returns>
11921192
public string ToString(string? format)
11931193
{{
1194-
return ToString(format, CultureInfo.CurrentCulture);
1194+
return ToString(format, null);
11951195
}}
11961196
11971197
/// <inheritdoc cref=""QuantityFormatter.Format{{TUnitType}}(IQuantity{{TUnitType}}, string, IFormatProvider)""/>
@@ -1277,7 +1277,7 @@ float IConvertible.ToSingle(IFormatProvider? provider)
12771277
12781278
string IConvertible.ToString(IFormatProvider? provider)
12791279
{{
1280-
return ToString(""g"", provider);
1280+
return ToString(null, provider);
12811281
}}
12821282
12831283
object IConvertible.ToType(Type conversionType, IFormatProvider? provider)

CodeGen/Generators/UnitsNetGen/UnitTestBaseClassGenerator.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ public void ToString_NullFormat_DefaultsToGeneralFormat(string cultureName)
662662
? null
663663
: CultureInfo.GetCultureInfo(cultureName);
664664
665-
Assert.Equal(quantity.ToString(""g"", formatProvider), quantity.ToString(null, formatProvider));
665+
Assert.Equal(quantity.ToString(""G"", formatProvider), quantity.ToString(null, formatProvider));
666666
}}
667667
668668
[Theory]

UnitsNet.Tests/GeneratedCode/TestsBase/AbsorbedDoseOfIonizingRadiationTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/AccelerationTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/AmountOfSubstanceTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/AmplitudeRatioTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/AngleTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ApparentEnergyTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ApparentPowerTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/AreaDensityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/AreaMomentOfInertiaTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/AreaTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/BitRateTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/BrakeSpecificFuelConsumptionTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/CapacitanceTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/CoefficientOfThermalExpansionTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/CompressibilityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/DensityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/DurationTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/DynamicViscosityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricAdmittanceTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricChargeDensityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricChargeTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricConductanceTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricConductivityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricCurrentDensityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricCurrentGradientTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricCurrentTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricFieldTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricInductanceTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricPotentialAcTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricPotentialChangeRateTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricPotentialDcTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricPotentialTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricResistanceTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricResistivityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ElectricSurfaceChargeDensityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/EnergyDensityTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/EnergyTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/EntropyTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet.Tests/GeneratedCode/TestsBase/ForceChangeRateTestsBase.g.cs

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)