From b79f0d02e0b811d8c79bf682b7bca131916a5821 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Tue, 21 May 2019 04:09:12 -0700 Subject: [PATCH] Adding some additional tests to validating formatting is correct with regards to rounding. (dotnet/corefx#37820) Commit migrated from https://github.com/dotnet/corefx/commit/b3ac650a36e2fa04988fb37c4a0a3195a9e2dc36 --- .../System/RealFormatterTestsBase.netcoreapp.cs | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/src/libraries/Common/tests/System/RealFormatterTestsBase.netcoreapp.cs b/src/libraries/Common/tests/System/RealFormatterTestsBase.netcoreapp.cs index f1eb615..5d1e27b 100644 --- a/src/libraries/Common/tests/System/RealFormatterTestsBase.netcoreapp.cs +++ b/src/libraries/Common/tests/System/RealFormatterTestsBase.netcoreapp.cs @@ -20,6 +20,8 @@ namespace System.Tests [InlineData(Math.E, "¤2.72")] [InlineData(Math.PI, "¤3.14")] [InlineData(0.0, "¤0.00")] + [InlineData(0.0046, "¤0.00")] + [InlineData(0.125, "¤0.12")] [InlineData(0.84551240822557006, "¤0.85")] [InlineData(1.0, "¤1.00")] [InlineData(1844674407370955.25, "¤1,844,674,407,370,955.25")] @@ -31,6 +33,8 @@ namespace System.Tests [InlineData(Math.E, "¤2.7183")] [InlineData(Math.PI, "¤3.1416")] [InlineData(0.0, "¤0.0000")] + [InlineData(0.0046, "¤0.0046")] + [InlineData(0.125, "¤0.1250")] [InlineData(0.84551240822557006, "¤0.8455")] [InlineData(1.0, "¤1.0000")] [InlineData(1844674407370955.25, "¤1,844,674,407,370,955.2500")] @@ -42,6 +46,8 @@ namespace System.Tests [InlineData(Math.E, "¤2.71828182845904509080")] [InlineData(Math.PI, "¤3.14159265358979311600")] [InlineData(0.0, "¤0.00000000000000000000")] + [InlineData(0.0046, "¤0.00459999999999999992")] + [InlineData(0.125, "¤0.12500000000000000000")] [InlineData(0.84551240822557006, "¤0.84551240822557005572")] [InlineData(1.0, "¤1.00000000000000000000")] [InlineData(1844674407370955.25, "¤1,844,674,407,370,955.25000000000000000000")] @@ -53,6 +59,8 @@ namespace System.Tests [InlineData(Math.E, "2.718282E+000")] [InlineData(Math.PI, "3.141593E+000")] [InlineData(0.0, "0.000000E+000")] + [InlineData(0.0046, "4.600000E-003")] + [InlineData(0.125, "1.250000E-001")] [InlineData(0.84551240822557006, "8.455124E-001")] [InlineData(1.0, "1.000000E+000")] [InlineData(1844674407370955.25, "1.844674E+015")] @@ -64,6 +72,8 @@ namespace System.Tests [InlineData(Math.E, "2.7183E+000")] [InlineData(Math.PI, "3.1416E+000")] [InlineData(0.0, "0.0000E+000")] + [InlineData(0.0046, "4.6000E-003")] + [InlineData(0.125, "1.2500E-001")] [InlineData(0.84551240822557006, "8.4551E-001")] [InlineData(1.0, "1.0000E+000")] [InlineData(1844674407370955.25, "1.8447E+015")] @@ -75,6 +85,8 @@ namespace System.Tests [InlineData(Math.E, "2.71828182845904509080E+000")] [InlineData(Math.PI, "3.14159265358979311600E+000")] [InlineData(0.0, "0.00000000000000000000E+000")] + [InlineData(0.0046, "4.59999999999999992228E-003")] + [InlineData(0.125, "1.25000000000000000000E-001")] [InlineData(0.84551240822557006, "8.45512408225570055720E-001")] [InlineData(1.0, "1.00000000000000000000E+000")] [InlineData(1844674407370955.25, "1.84467440737095525000E+015")] @@ -86,6 +98,8 @@ namespace System.Tests [InlineData(Math.E, "2.72")] [InlineData(Math.PI, "3.14")] [InlineData(0.0, "0.00")] + [InlineData(0.0046, "0.00")] + [InlineData(0.125, "0.12")] [InlineData(0.84551240822557006, "0.85")] [InlineData(1.0, "1.00")] [InlineData(1844674407370955.25, "1844674407370955.25")] @@ -97,6 +111,8 @@ namespace System.Tests [InlineData(Math.E, "2.7183")] [InlineData(Math.PI, "3.1416")] [InlineData(0.0, "0.0000")] + [InlineData(0.0046, "0.0046")] + [InlineData(0.125, "0.1250")] [InlineData(0.84551240822557006, "0.8455")] [InlineData(1.0, "1.0000")] [InlineData(1844674407370955.25, "1844674407370955.2500")] @@ -108,6 +124,8 @@ namespace System.Tests [InlineData(Math.E, "2.71828182845904509080")] [InlineData(Math.PI, "3.14159265358979311600")] [InlineData(0.0, "0.00000000000000000000")] + [InlineData(0.0046, "0.00459999999999999992")] + [InlineData(0.125, "0.12500000000000000000")] [InlineData(0.84551240822557006, "0.84551240822557005572")] [InlineData(1.0, "1.00000000000000000000")] [InlineData(1844674407370955.25, "1844674407370955.25000000000000000000")] @@ -119,6 +137,8 @@ namespace System.Tests [InlineData(Math.E, "2.718281828459045")] [InlineData(Math.PI, "3.141592653589793")] [InlineData(0.0, "0")] + [InlineData(0.0046, "0.0046")] + [InlineData(0.125, "0.125")] [InlineData(0.84551240822557006, "0.8455124082255701")] [InlineData(1.0, "1")] [InlineData(1844674407370955.25, "1844674407370955.2")] @@ -130,6 +150,8 @@ namespace System.Tests [InlineData(Math.E, "2.718")] [InlineData(Math.PI, "3.142")] [InlineData(0.0, "0")] + [InlineData(0.0046, "0.0046")] + [InlineData(0.125, "0.125")] [InlineData(0.84551240822557006, "0.8455")] [InlineData(1.0, "1")] [InlineData(1844674407370955.25, "1.845E+15")] @@ -141,6 +163,8 @@ namespace System.Tests [InlineData(Math.E, "2.7182818284590450908")] [InlineData(Math.PI, "3.141592653589793116")] [InlineData(0.0, "0")] + [InlineData(0.0046, "0.0045999999999999999223")] + [InlineData(0.125, "0.125")] [InlineData(0.84551240822557006, "0.84551240822557005572")] [InlineData(1.0, "1")] [InlineData(1844674407370955.25, "1844674407370955.25")] @@ -152,6 +176,8 @@ namespace System.Tests [InlineData(Math.E, "2.72")] [InlineData(Math.PI, "3.14")] [InlineData(0.0, "0.00")] + [InlineData(0.0046, "0.00")] + [InlineData(0.125, "0.12")] [InlineData(0.84551240822557006, "0.85")] [InlineData(1.0, "1.00")] [InlineData(1844674407370955.25, "1,844,674,407,370,955.25")] @@ -163,6 +189,8 @@ namespace System.Tests [InlineData(Math.E, "2.7183")] [InlineData(Math.PI, "3.1416")] [InlineData(0.0, "0.0000")] + [InlineData(0.0046, "0.0046")] + [InlineData(0.125, "0.1250")] [InlineData(0.84551240822557006, "0.8455")] [InlineData(1.0, "1.0000")] [InlineData(1844674407370955.25, "1,844,674,407,370,955.2500")] @@ -174,6 +202,8 @@ namespace System.Tests [InlineData(Math.E, "2.71828182845904509080")] [InlineData(Math.PI, "3.14159265358979311600")] [InlineData(0.0, "0.00000000000000000000")] + [InlineData(0.0046, "0.00459999999999999992")] + [InlineData(0.125, "0.12500000000000000000")] [InlineData(0.84551240822557006, "0.84551240822557005572")] [InlineData(1.0, "1.00000000000000000000")] [InlineData(1844674407370955.25, "1,844,674,407,370,955.25000000000000000000")] @@ -185,6 +215,8 @@ namespace System.Tests [InlineData(Math.E, "271.83 %")] [InlineData(Math.PI, "314.16 %")] [InlineData(0.0, "0.00 %")] + [InlineData(0.0046, "0.46 %")] + [InlineData(0.125, "12.50 %")] [InlineData(0.84551240822557006, "84.55 %")] [InlineData(1.0, "100.00 %")] [InlineData(1844674407370955.25, "184,467,440,737,095,525.00 %")] @@ -196,6 +228,8 @@ namespace System.Tests [InlineData(Math.E, "271.8282 %")] [InlineData(Math.PI, "314.1593 %")] [InlineData(0.0, "0.0000 %")] + [InlineData(0.0046, "0.4600 %")] + [InlineData(0.125, "12.5000 %")] [InlineData(0.84551240822557006, "84.5512 %")] [InlineData(1.0, "100.0000 %")] [InlineData(1844674407370955.25, "184,467,440,737,095,525.0000 %")] @@ -207,6 +241,8 @@ namespace System.Tests [InlineData(Math.E, "271.82818284590450907956 %")] [InlineData(Math.PI, "314.15926535897931159980 %")] [InlineData(0.0, "0.00000000000000000000 %")] + [InlineData(0.0046, "0.45999999999999999223 %")] + [InlineData(0.125, "12.50000000000000000000 %")] [InlineData(0.84551240822557006, "84.55124082255700557198 %")] [InlineData(1.0, "100.00000000000000000000 %")] [InlineData(1844674407370955.25, "184,467,440,737,095,525.00000000000000000000 %")] @@ -218,6 +254,8 @@ namespace System.Tests [InlineData(Math.E, "2.718281828459045")] [InlineData(Math.PI, "3.141592653589793")] [InlineData(0.0, "0")] + [InlineData(0.0046, "0.0046")] + [InlineData(0.125, "0.125")] [InlineData(0.84551240822557006, "0.8455124082255701")] [InlineData(1.0, "1")] [InlineData(1844674407370955.25, "1844674407370955.2")] @@ -229,6 +267,8 @@ namespace System.Tests [InlineData(Math.E, "2.718281828459045")] [InlineData(Math.PI, "3.141592653589793")] [InlineData(0.0, "0")] + [InlineData(0.0046, "0.0046")] + [InlineData(0.125, "0.125")] [InlineData(0.84551240822557006, "0.8455124082255701")] [InlineData(1.0, "1")] [InlineData(1844674407370955.25, "1844674407370955.2")] @@ -240,6 +280,8 @@ namespace System.Tests [InlineData(Math.E, "2.718281828459045")] [InlineData(Math.PI, "3.141592653589793")] [InlineData(0.0, "0")] + [InlineData(0.0046, "0.0046")] + [InlineData(0.125, "0.125")] [InlineData(0.84551240822557006, "0.8455124082255701")] [InlineData(1.0, "1")] [InlineData(1844674407370955.25, "1844674407370955.2")] @@ -266,6 +308,8 @@ namespace System.Tests [InlineData(MathF.E, "¤2.72")] [InlineData(MathF.PI, "¤3.14")] [InlineData(0.0f, "¤0.00")] + [InlineData(0.0046f, "¤0.00")] + [InlineData(0.125f, "¤0.12")] [InlineData(0.845512390, "¤0.85")] [InlineData(1.0f, "¤1.00")] [InlineData(429496.72, "¤429,496.72")] @@ -277,6 +321,8 @@ namespace System.Tests [InlineData(MathF.E, "¤2.7183")] [InlineData(MathF.PI, "¤3.1416")] [InlineData(0.0f, "¤0.0000")] + [InlineData(0.0046f, "¤0.0046")] + [InlineData(0.125f, "¤0.1250")] [InlineData(0.845512390, "¤0.8455")] [InlineData(1.0f, "¤1.0000")] [InlineData(429496.72, "¤429,496.7188")] @@ -288,6 +334,8 @@ namespace System.Tests [InlineData(MathF.E, "¤2.71828174591064453125")] [InlineData(MathF.PI, "¤3.14159274101257324219")] [InlineData(0.0f, "¤0.00000000000000000000")] + [InlineData(0.0046f, "¤0.00460000010207295418")] + [InlineData(0.125f, "¤0.12500000000000000000")] [InlineData(0.845512390, "¤0.84551239013671875000")] [InlineData(1.0f, "¤1.00000000000000000000")] [InlineData(429496.72, "¤429,496.71875000000000000000")] @@ -299,6 +347,8 @@ namespace System.Tests [InlineData(MathF.E, "2.718282E+000")] [InlineData(MathF.PI, "3.141593E+000")] [InlineData(0.0f, "0.000000E+000")] + [InlineData(0.0046f, "4.600000E-003")] + [InlineData(0.125f, "1.250000E-001")] [InlineData(0.845512390, "8.455124E-001")] [InlineData(1.0f, "1.000000E+000")] [InlineData(429496.72, "4.294967E+005")] @@ -310,6 +360,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7183E+000")] [InlineData(MathF.PI, "3.1416E+000")] [InlineData(0.0f, "0.0000E+000")] + [InlineData(0.0046f, "4.6000E-003")] + [InlineData(0.125f, "1.2500E-001")] [InlineData(0.845512390, "8.4551E-001")] [InlineData(1.0f, "1.0000E+000")] [InlineData(429496.72, "4.2950E+005")] @@ -321,6 +373,8 @@ namespace System.Tests [InlineData(MathF.E, "2.71828174591064453125E+000")] [InlineData(MathF.PI, "3.14159274101257324219E+000")] [InlineData(0.0f, "0.00000000000000000000E+000")] + [InlineData(0.0046f, "4.60000010207295417786E-003")] + [InlineData(0.125f, "1.25000000000000000000E-001")] [InlineData(0.845512390, "8.45512390136718750000E-001")] [InlineData(1.0f, "1.00000000000000000000E+000")] [InlineData(429496.72, "4.29496718750000000000E+005")] @@ -332,6 +386,8 @@ namespace System.Tests [InlineData(MathF.E, "2.72")] [InlineData(MathF.PI, "3.14")] [InlineData(0.0f, "0.00")] + [InlineData(0.0046f, "0.00")] + [InlineData(0.125f, "0.12")] [InlineData(0.845512390, "0.85")] [InlineData(1.0f, "1.00")] [InlineData(429496.72, "429496.72")] @@ -343,6 +399,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7183")] [InlineData(MathF.PI, "3.1416")] [InlineData(0.0f, "0.0000")] + [InlineData(0.0046f, "0.0046")] + [InlineData(0.125f, "0.1250")] [InlineData(0.845512390, "0.8455")] [InlineData(1.0f, "1.0000")] [InlineData(429496.72, "429496.7188")] @@ -354,6 +412,8 @@ namespace System.Tests [InlineData(MathF.E, "2.71828174591064453125")] [InlineData(MathF.PI, "3.14159274101257324219")] [InlineData(0.0f, "0.00000000000000000000")] + [InlineData(0.0046f, "0.00460000010207295418")] + [InlineData(0.125f, "0.12500000000000000000")] [InlineData(0.845512390, "0.84551239013671875000")] [InlineData(1.0f, "1.00000000000000000000")] [InlineData(429496.72, "429496.71875000000000000000")] @@ -365,6 +425,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7182817")] [InlineData(MathF.PI, "3.1415927")] [InlineData(0.0f, "0")] + [InlineData(0.0046f, "0.0046")] + [InlineData(0.125f, "0.125")] [InlineData(0.845512390, "0.8455124")] [InlineData(1.0f, "1")] [InlineData(429496.72, "429496.72")] @@ -376,6 +438,8 @@ namespace System.Tests [InlineData(MathF.E, "2.718")] [InlineData(MathF.PI, "3.142")] [InlineData(0.0f, "0")] + [InlineData(0.0046f, "0.0046")] + [InlineData(0.125f, "0.125")] [InlineData(0.845512390, "0.8455")] [InlineData(1.0f, "1")] [InlineData(429496.72, "4.295E+05")] @@ -387,6 +451,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7182817459106445312")] [InlineData(MathF.PI, "3.1415927410125732422")] [InlineData(0.0f, "0")] + [InlineData(0.0046f, "0.0046000001020729541779")] + [InlineData(0.125f, "0.125")] [InlineData(0.845512390, "0.84551239013671875")] [InlineData(1.0f, "1")] [InlineData(429496.72, "429496.71875")] @@ -398,6 +464,8 @@ namespace System.Tests [InlineData(MathF.E, "2.72")] [InlineData(MathF.PI, "3.14")] [InlineData(0.0f, "0.00")] + [InlineData(0.0046f, "0.00")] + [InlineData(0.125f, "0.12")] [InlineData(0.845512390, "0.85")] [InlineData(1.0f, "1.00")] [InlineData(429496.72, "429,496.72")] @@ -409,6 +477,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7183")] [InlineData(MathF.PI, "3.1416")] [InlineData(0.0f, "0.0000")] + [InlineData(0.0046f, "0.0046")] + [InlineData(0.125f, "0.1250")] [InlineData(0.845512390, "0.8455")] [InlineData(1.0f, "1.0000")] [InlineData(429496.72, "429,496.7188")] @@ -420,6 +490,8 @@ namespace System.Tests [InlineData(MathF.E, "2.71828174591064453125")] [InlineData(MathF.PI, "3.14159274101257324219")] [InlineData(0.0f, "0.00000000000000000000")] + [InlineData(0.0046f, "0.00460000010207295418")] + [InlineData(0.125f, "0.12500000000000000000")] [InlineData(0.845512390, "0.84551239013671875000")] [InlineData(1.0f, "1.00000000000000000000")] [InlineData(429496.72, "429,496.71875000000000000000")] @@ -431,6 +503,8 @@ namespace System.Tests [InlineData(MathF.E, "271.83 %")] [InlineData(MathF.PI, "314.16 %")] [InlineData(0.0f, "0.00 %")] + [InlineData(0.0046f, "0.46 %")] + [InlineData(0.125f, "12.50 %")] [InlineData(0.845512390, "84.55 %")] [InlineData(1.0f, "100.00 %")] [InlineData(429496.72, "42,949,671.88 %")] @@ -442,6 +516,8 @@ namespace System.Tests [InlineData(MathF.E, "271.8282 %")] [InlineData(MathF.PI, "314.1593 %")] [InlineData(0.0f, "0.0000 %")] + [InlineData(0.0046f, "0.4600 %")] + [InlineData(0.125f, "12.5000 %")] [InlineData(0.845512390, "84.5512 %")] [InlineData(1.0f, "100.0000 %")] [InlineData(429496.72, "42,949,671.8750 %")] @@ -453,6 +529,8 @@ namespace System.Tests [InlineData(MathF.E, "271.82817459106445312500 %")] [InlineData(MathF.PI, "314.15927410125732421875 %")] [InlineData(0.0f, "0.00000000000000000000 %")] + [InlineData(0.0046f, "0.46000001020729541779 %")] + [InlineData(0.125f, "12.50000000000000000000 %")] [InlineData(0.845512390, "84.55123901367187500000 %")] [InlineData(1.0f, "100.00000000000000000000 %")] [InlineData(429496.72, "42,949,671.87500000000000000000 %")] @@ -464,6 +542,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7182817")] [InlineData(MathF.PI, "3.1415927")] [InlineData(0.0f, "0")] + [InlineData(0.0046f, "0.0046")] + [InlineData(0.125f, "0.125")] [InlineData(0.845512390, "0.8455124")] [InlineData(1.0f, "1")] [InlineData(429496.72, "429496.72")] @@ -475,6 +555,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7182817")] [InlineData(MathF.PI, "3.1415927")] [InlineData(0.0f, "0")] + [InlineData(0.0046f, "0.0046")] + [InlineData(0.125f, "0.125")] [InlineData(0.845512390, "0.8455124")] [InlineData(1.0f, "1")] [InlineData(429496.72, "429496.72")] @@ -486,6 +568,8 @@ namespace System.Tests [InlineData(MathF.E, "2.7182817")] [InlineData(MathF.PI, "3.1415927")] [InlineData(0.0f, "0")] + [InlineData(0.0046f, "0.0046")] + [InlineData(0.125f, "0.125")] [InlineData(0.845512390, "0.8455124")] [InlineData(1.0f, "1")] [InlineData(429496.72, "429496.72")] -- 2.7.4