Skip to content

Commit 516675e

Browse files
committed
Added test ToStringRoundsToTwoDecimals.
1 parent 1efd34d commit 516675e

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

Tests/UnitSystemTests.cs

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,30 @@ public void AllUnitAbbreviationsImplemented([Values("", "en-US", "nb-NO", "ru-RU
5252

5353
Assert.IsEmpty(unitsMissingAbbreviations,
5454
"Units missing abbreviations: " + string.Join(", ", unitsMissingAbbreviations));
55-
}
55+
}
56+
57+
[Test]
58+
public void ToStringRoundsToTwoDecimals()
59+
{
60+
var originalCulture = Thread.CurrentThread.CurrentUICulture;
61+
try
62+
{
63+
// CurrentCulture affects number formatting, such as comma or dot as decimal separator.
64+
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
65+
66+
// CurrentUICulture affects localization, in this case for the abbreviation.
67+
Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
68+
69+
Assert.AreEqual("0 m", Length.FromMeters(0).ToString());
70+
Assert.AreEqual("0.1 m", Length.FromMeters(0.1).ToString());
71+
Assert.AreEqual("0.11 m", Length.FromMeters(0.11).ToString());
72+
Assert.AreEqual("0.11 m", Length.FromMeters(0.111).ToString());
73+
}
74+
finally
75+
{
76+
Thread.CurrentThread.CurrentUICulture = originalCulture;
77+
}
78+
}
5679

5780
[Test]
5881
public void AllUnitsImplementToStringForInvariantCulture()

0 commit comments

Comments
 (0)