{
public partial class DoubleTests : RemoteExecutorTestBase
{
+ // NOTE: Consider duplicating any tests added here in SingleTests.cs
+
[Theory]
[InlineData("a")]
- [InlineData((float)234)]
+ [InlineData(234.0f)]
public void CompareTo_ObjectNotDouble_ThrowsArgumentException(object value)
{
AssertExtensions.Throws<ArgumentException>(null, () => ((double)123).CompareTo(value));
}
[Theory]
- [InlineData((double)234, (double)234, 0)]
- [InlineData((double)234, double.MinValue, 1)]
- [InlineData((double)234, (double)-123, 1)]
- [InlineData((double)234, (double)0, 1)]
- [InlineData((double)234, (double)123, 1)]
- [InlineData((double)234, (double)456, -1)]
- [InlineData((double)234, double.MaxValue, -1)]
- [InlineData((double)234, double.NaN, 1)]
+ [InlineData(234.0, 234.0, 0)]
+ [InlineData(234.0, double.MinValue, 1)]
+ [InlineData(234.0, -123.0, 1)]
+ [InlineData(234.0, 0.0, 1)]
+ [InlineData(234.0, 123.0, 1)]
+ [InlineData(234.0, 456.0, -1)]
+ [InlineData(234.0, double.MaxValue, -1)]
+ [InlineData(234.0, double.NaN, 1)]
[InlineData(double.NaN, double.NaN, 0)]
- [InlineData(double.NaN, (double)0, -1)]
- [InlineData((double)234, null, 1)]
+ [InlineData(double.NaN, 0.0, -1)]
+ [InlineData(234.0, null, 1)]
public void CompareTo_Other_ReturnsExpected(double d1, object value, int expected)
{
if (value is double d2)
}
[Theory]
- [InlineData((double)789, (double)789, true)]
- [InlineData((double)789, (double)-789, false)]
- [InlineData((double)789, (double)0, false)]
+ [InlineData(789.0, 789.0, true)]
+ [InlineData(789.0, -789.0, false)]
+ [InlineData(789.0, 0.0, false)]
[InlineData(double.NaN, double.NaN, true)]
[InlineData(double.NaN, -double.NaN, true)]
- [InlineData((double)789, (float)789, false)]
- [InlineData((double)789, "789", false)]
+ [InlineData(789.0, 789.0f, false)]
+ [InlineData(789.0, "789", false)]
[SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "The fix was made in coreclr that is not in netfx. See https://github.com/dotnet/coreclr/issues/6237")]
public static void Equals(double d1, object value, bool expected)
{
[InlineData(double.MinValue, false)] // Min Negative Normal
[InlineData(-2.2250738585072014E-308, false)] // Max Negative Normal
[InlineData(-2.2250738585072009E-308, false)] // Min Negative Subnormal
- [InlineData(-4.94065645841247E-324, false)] // Max Negative Subnormal
+ [InlineData(-double.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0, false)] // Negative Zero
[InlineData(double.NaN, false)] // NaN
[InlineData(0.0, false)] // Positive Zero
- [InlineData(4.94065645841247E-324, false)] // Min Positive Subnormal
+ [InlineData(double.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(2.2250738585072009E-308, false)] // Max Positive Subnormal
[InlineData(2.2250738585072014E-308, false)] // Min Positive Normal
[InlineData(double.MaxValue, false)] // Max Positive Normal
[InlineData(double.MinValue, false)] // Min Negative Normal
[InlineData(-2.2250738585072014E-308, false)] // Max Negative Normal
[InlineData(-2.2250738585072009E-308, false)] // Min Negative Subnormal
- [InlineData(-4.94065645841247E-324, false)] // Max Negative Subnormal
+ [InlineData(-double.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0, false)] // Negative Zero
[InlineData(double.NaN, true)] // NaN
[InlineData(0.0, false)] // Positive Zero
- [InlineData(4.94065645841247E-324, false)] // Min Positive Subnormal
+ [InlineData(double.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(2.2250738585072009E-308, false)] // Max Positive Subnormal
[InlineData(2.2250738585072014E-308, false)] // Min Positive Normal
[InlineData(double.MaxValue, false)] // Max Positive Normal
[InlineData(double.MinValue, false)] // Min Negative Normal
[InlineData(-2.2250738585072014E-308, false)] // Max Negative Normal
[InlineData(-2.2250738585072009E-308, false)] // Min Negative Subnormal
- [InlineData(-4.94065645841247E-324, false)] // Max Negative Subnormal
+ [InlineData(-double.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0, false)] // Negative Zero
[InlineData(double.NaN, false)] // NaN
[InlineData(0.0, false)] // Positive Zero
- [InlineData(4.94065645841247E-324, false)] // Min Positive Subnormal
+ [InlineData(double.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(2.2250738585072009E-308, false)] // Max Positive Subnormal
[InlineData(2.2250738585072014E-308, false)] // Min Positive Normal
[InlineData(double.MaxValue, false)] // Max Positive Normal
[InlineData(double.MinValue, false)] // Min Negative Normal
[InlineData(-2.2250738585072014E-308, false)] // Max Negative Normal
[InlineData(-2.2250738585072009E-308, false)] // Min Negative Subnormal
- [InlineData(-4.94065645841247E-324, false)] // Max Negative Subnormal
+ [InlineData(-double.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0, false)] // Negative Zero
[InlineData(double.NaN, false)] // NaN
[InlineData(0.0, false)] // Positive Zero
- [InlineData(4.94065645841247E-324, false)] // Min Positive Subnormal
+ [InlineData(double.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(2.2250738585072009E-308, false)] // Max Positive Subnormal
[InlineData(2.2250738585072014E-308, false)] // Min Positive Normal
[InlineData(double.MaxValue, false)] // Max Positive Normal
NumberFormatInfo invariantFormat = NumberFormatInfo.InvariantInfo;
- yield return new object[] { "-123", defaultStyle, null, (double)-123 };
- yield return new object[] { "0", defaultStyle, null, (double)0 };
- yield return new object[] { "123", defaultStyle, null, (double)123 };
- yield return new object[] { " 123 ", defaultStyle, null, (double)123 };
+ yield return new object[] { "-123", defaultStyle, null, -123.0 };
+ yield return new object[] { "0", defaultStyle, null, 0.0 };
+ yield return new object[] { "123", defaultStyle, null, 123.0 };
+ yield return new object[] { " 123 ", defaultStyle, null, 123.0 };
yield return new object[] { (567.89).ToString(), defaultStyle, null, 567.89 };
yield return new object[] { (-567.89).ToString(), defaultStyle, null, -567.89 };
yield return new object[] { "1E23", defaultStyle, null, 1E23 };
yield return new object[] { (123.1).ToString(), NumberStyles.AllowDecimalPoint, null, 123.1 };
- yield return new object[] { 1000.ToString("N0"), NumberStyles.AllowThousands, null, (double)1000 };
+ yield return new object[] { (1000.0).ToString("N0"), NumberStyles.AllowThousands, null, 1000.0 };
- yield return new object[] { "123", NumberStyles.Any, emptyFormat, (double)123 };
+ yield return new object[] { "123", NumberStyles.Any, emptyFormat, 123.0 };
yield return new object[] { (123.567).ToString(), NumberStyles.Any, emptyFormat, 123.567 };
- yield return new object[] { "123", NumberStyles.Float, emptyFormat, (double)123 };
- yield return new object[] { "$1,000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, (double)1000 };
- yield return new object[] { "$1000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, (double)1000 };
+ yield return new object[] { "123", NumberStyles.Float, emptyFormat, 123.0 };
+ yield return new object[] { "$1,000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, 1000.0 };
+ yield return new object[] { "$1000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, 1000.0 };
yield return new object[] { "123.123", NumberStyles.Float, decimalSeparatorFormat, 123.123 };
- yield return new object[] { "(123)", NumberStyles.AllowParentheses, decimalSeparatorFormat, -123 };
+ yield return new object[] { "(123)", NumberStyles.AllowParentheses, decimalSeparatorFormat, -123.0 };
yield return new object[] { "NaN", NumberStyles.Any, invariantFormat, double.NaN };
yield return new object[] { "Infinity", NumberStyles.Any, invariantFormat, double.PositiveInfinity };
yield return new object[] { "ab", defaultStyle, null, typeof(FormatException) }; // Hex value
yield return new object[] { "(123)", defaultStyle, null, typeof(FormatException) }; // Parentheses
- yield return new object[] { 100.ToString("C0"), defaultStyle, null, typeof(FormatException) }; // Currency
+ yield return new object[] { (100.0).ToString("C0"), defaultStyle, null, typeof(FormatException) }; // Currency
yield return new object[] { (123.456).ToString(), NumberStyles.Integer, null, typeof(FormatException) }; // Decimal
yield return new object[] { " " + (123.456).ToString(), NumberStyles.None, null, typeof(FormatException) }; // Leading space
public static IEnumerable<object[]> ToString_TestData()
{
yield return new object[] { double.MinValue, "G", null, "-1.79769313486232E+308" };
- yield return new object[] { (double)-4567, "G", null, "-4567" };
+ yield return new object[] { -4567.0, "G", null, "-4567" };
yield return new object[] { -4567.89101, "G", null, "-4567.89101" };
- yield return new object[] { (double)0, "G", null, "0" };
- yield return new object[] { (double)4567, "G", null, "4567" };
+ yield return new object[] { 0.0, "G", null, "0" };
+ yield return new object[] { 4567.0, "G", null, "4567" };
yield return new object[] { 4567.89101, "G", null, "4567.89101" };
yield return new object[] { double.MaxValue, "G", null, "1.79769313486232E+308" };
- yield return new object[] { double.Epsilon, "G", null, "4.94065645841247E-324" };
+ yield return new object[] { double.Epsilon, "G", null, "double.Epsilon" };
yield return new object[] { double.NaN, "G", null, "NaN" };
- yield return new object[] { (double)2468, "N", null, "2,468.00" };
+ yield return new object[] { 2468.0, "N", null, "2,468.00" };
// Changing the negative pattern doesn't do anything without also passing in a format string
var customNegativePattern = new NumberFormatInfo() { NumberNegativePattern = 0 };
- yield return new object[] { (double)-6310, "G", customNegativePattern, "-6310" };
+ yield return new object[] { -6310.0, "G", customNegativePattern, "-6310" };
var customNegativeSignDecimalGroupSeparator = new NumberFormatInfo()
{
NumberDecimalSeparator = "~",
NumberGroupSeparator = "*"
};
- yield return new object[] { (double)-2468, "N", customNegativeSignDecimalGroupSeparator, "#2*468~00" };
- yield return new object[] { (double)2468, "N", customNegativeSignDecimalGroupSeparator, "2*468~00" };
+ yield return new object[] { -2468.0, "N", customNegativeSignDecimalGroupSeparator, "#2*468~00" };
+ yield return new object[] { 2468.0, "N", customNegativeSignDecimalGroupSeparator, "2*468~00" };
var customNegativeSignGroupSeparatorNegativePattern = new NumberFormatInfo()
{
NumberGroupSeparator = "*",
NumberNegativePattern = 0,
};
- yield return new object[] { (double)-2468, "N", customNegativeSignGroupSeparatorNegativePattern, "(2*468.00)" };
+ yield return new object[] { -2468.0, "N", customNegativeSignGroupSeparatorNegativePattern, "(2*468.00)" };
NumberFormatInfo invariantFormat = NumberFormatInfo.InvariantInfo;
- yield return new object[] { double.Epsilon, "G", invariantFormat, "4.94065645841247E-324" };
+ yield return new object[] { double.Epsilon, "G", invariantFormat, "double.Epsilon" };
yield return new object[] { double.NaN, "G", invariantFormat, "NaN" };
yield return new object[] { double.PositiveInfinity, "G", invariantFormat, "Infinity" };
yield return new object[] { double.NegativeInfinity, "G", invariantFormat, "-Infinity" };
[Fact]
public static void ToString_InvalidFormat_ThrowsFormatException()
{
- double d = 123;
+ double d = 123.0;
Assert.Throws<FormatException>(() => d.ToString("Y")); // Invalid format
Assert.Throws<FormatException>(() => d.ToString("Y", null)); // Invalid format
}
{
public partial class SingleTests : RemoteExecutorTestBase
{
+ // NOTE: Consider duplicating any tests added here in DoubleTests.cs
+
[Theory]
[InlineData("a")]
- [InlineData((double)234)]
+ [InlineData(234.0)]
public void CompareTo_ObjectNotFloat_ThrowsArgumentException(object value)
{
AssertExtensions.Throws<ArgumentException>(null, () => ((float)123).CompareTo(value));
}
[Theory]
- [InlineData((float)234, (float)234, 0)]
- [InlineData((float)234, float.MinValue, 1)]
- [InlineData((float)234, (float)-123, 1)]
- [InlineData((float)234, (float)0, 1)]
- [InlineData((float)234, (float)123, 1)]
- [InlineData((float)234, (float)456, -1)]
- [InlineData((float)234, float.MaxValue, -1)]
- [InlineData((float)234, float.NaN, 1)]
+ [InlineData(234.0f, 234.0f, 0)]
+ [InlineData(234.0f, float.MinValue, 1)]
+ [InlineData(234.0f, -123.0f, 1)]
+ [InlineData(234.0f, 0.0f, 1)]
+ [InlineData(234.0f, 123.0f, 1)]
+ [InlineData(234.0f, 456.0f, -1)]
+ [InlineData(234.0f, float.MaxValue, -1)]
+ [InlineData(234.0f, float.NaN, 1)]
[InlineData(float.NaN, float.NaN, 0)]
- [InlineData(float.NaN, (float)0, -1)]
- [InlineData((float)234, null, 1)]
+ [InlineData(float.NaN, 0.0f, -1)]
+ [InlineData(234.0f, null, 1)]
public void CompareTo_Other_ReturnsExpected(float f1, object value, int expected)
{
if (value is float f2)
[Fact]
public static void Epsilon()
{
- Assert.Equal((float)1.4e-45, float.Epsilon);
+ Assert.Equal(1.40129846E-45f, float.Epsilon);
}
[Theory]
- [InlineData((float)789, (float)789, true)]
- [InlineData((float)789, (float)-789, false)]
- [InlineData((float)789, (float)0, false)]
+ [InlineData(789.0f, 789.0f, true)]
+ [InlineData(789.0f, -789.0f, false)]
+ [InlineData(789.0f, 0.0f, false)]
[InlineData(float.NaN, float.NaN, true)]
[InlineData(float.NaN, -float.NaN, true)]
- [InlineData((float)789, (double)789, false)]
- [InlineData((float)789, "789", false)]
+ [InlineData(789.0f, 789.0, false)]
+ [InlineData(789.0f, "789", false)]
[SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "The fix was made in coreclr that is not in netfx. See https://github.com/dotnet/coreclr/issues/6237")]
public static void Equals(float f1, object value, bool expected)
{
[InlineData(float.MinValue, false)] // Min Negative Normal
[InlineData(-1.17549435E-38f, false)] // Max Negative Normal
[InlineData(-1.17549421E-38f, false)] // Min Negative Subnormal
- [InlineData(-1.401298E-45, false)] // Max Negative Subnormal
+ [InlineData(-float.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0f, false)] // Negative Zero
[InlineData(float.NaN, false)] // NaN
[InlineData(0.0f, false)] // Positive Zero
- [InlineData(1.401298E-45, false)] // Min Positive Subnormal
+ [InlineData(float.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(1.17549421E-38f, false)] // Max Positive Subnormal
[InlineData(1.17549435E-38f, false)] // Min Positive Normal
[InlineData(float.MaxValue, false)] // Max Positive Normal
[InlineData(float.MinValue, false)] // Min Negative Normal
[InlineData(-1.17549435E-38f, false)] // Max Negative Normal
[InlineData(-1.17549421E-38f, false)] // Min Negative Subnormal
- [InlineData(-1.401298E-45, false)] // Max Negative Subnormal
+ [InlineData(-float.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0f, false)] // Negative Zero
[InlineData(float.NaN, true)] // NaN
[InlineData(0.0f, false)] // Positive Zero
- [InlineData(1.401298E-45, false)] // Min Positive Subnormal
+ [InlineData(float.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(1.17549421E-38f, false)] // Max Positive Subnormal
[InlineData(1.17549435E-38f, false)] // Min Positive Normal
[InlineData(float.MaxValue, false)] // Max Positive Normal
[InlineData(float.MinValue, false)] // Min Negative Normal
[InlineData(-1.17549435E-38f, false)] // Max Negative Normal
[InlineData(-1.17549421E-38f, false)] // Min Negative Subnormal
- [InlineData(-1.401298E-45, false)] // Max Negative Subnormal
+ [InlineData(-float.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0f, false)] // Negative Zero
[InlineData(float.NaN, false)] // NaN
[InlineData(0.0f, false)] // Positive Zero
- [InlineData(1.401298E-45, false)] // Min Positive Subnormal
+ [InlineData(float.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(1.17549421E-38f, false)] // Max Positive Subnormal
[InlineData(1.17549435E-38f, false)] // Min Positive Normal
[InlineData(float.MaxValue, false)] // Max Positive Normal
[InlineData(float.MinValue, false)] // Min Negative Normal
[InlineData(-1.17549435E-38f, false)] // Max Negative Normal
[InlineData(-1.17549421E-38f, false)] // Min Negative Subnormal
- [InlineData(-1.401298E-45, false)] // Max Negative Subnormal
+ [InlineData(-float.Epsilon, false)] // Max Negative Subnormal (Negative Epsilon)
[InlineData(-0.0f, false)] // Negative Zero
[InlineData(float.NaN, false)] // NaN
[InlineData(0.0f, false)] // Positive Zero
- [InlineData(1.401298E-45, false)] // Min Positive Subnormal
+ [InlineData(float.Epsilon, false)] // Min Positive Subnormal (Positive Epsilon)
[InlineData(1.17549421E-38f, false)] // Max Positive Subnormal
[InlineData(1.17549435E-38f, false)] // Min Positive Normal
[InlineData(float.MaxValue, false)] // Max Positive Normal
[Fact]
public static void MaxValue()
{
- Assert.Equal((float)3.40282346638528859e+38, float.MaxValue);
+ Assert.Equal(3.40282347E+38f, float.MaxValue);
}
[Fact]
public static void MinValue()
{
- Assert.Equal((float)-3.40282346638528859e+38, float.MinValue);
+ Assert.Equal(-3.40282347E+38f, float.MinValue);
+
}
[Fact]
public static void NaN()
{
- Assert.Equal((float)0.0 / (float)0.0, float.NaN);
+ Assert.Equal(0.0f / 0.0f, float.NaN);
}
[Fact]
public static void NegativeInfinity()
{
- Assert.Equal((float)-1.0 / (float)0.0, float.NegativeInfinity);
+ Assert.Equal(-1.0f / 0.0f, float.NegativeInfinity);
}
public static IEnumerable<object[]> Parse_Valid_TestData()
NumberFormatInfo invariantFormat = NumberFormatInfo.InvariantInfo;
- yield return new object[] { "-123", defaultStyle, null, (float)-123 };
- yield return new object[] { "0", defaultStyle, null, (float)0 };
- yield return new object[] { "123", defaultStyle, null, (float)123 };
- yield return new object[] { " 123 ", defaultStyle, null, (float)123 };
- yield return new object[] { (567.89f).ToString(), defaultStyle, null, (float)567.89 };
- yield return new object[] { (-567.89f).ToString(), defaultStyle, null, (float)-567.89 };
- yield return new object[] { "1E23", defaultStyle, null, (float)1E23 };
-
- yield return new object[] { (123.1f).ToString(), NumberStyles.AllowDecimalPoint, null, (float)123.1 };
- yield return new object[] { 1000.ToString("N0"), NumberStyles.AllowThousands, null, (float)1000 };
-
- yield return new object[] { "123", NumberStyles.Any, emptyFormat, (float)123 };
- yield return new object[] { (123.567f).ToString(), NumberStyles.Any, emptyFormat, 123.567 };
- yield return new object[] { "123", NumberStyles.Float, emptyFormat, (float)123 };
- yield return new object[] { "$1,000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, (float)1000 };
- yield return new object[] { "$1000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, (float)1000 };
- yield return new object[] { "123.123", NumberStyles.Float, decimalSeparatorFormat, (float)123.123 };
- yield return new object[] { "(123)", NumberStyles.AllowParentheses, decimalSeparatorFormat, (float)-123 };
+ yield return new object[] { "-123", defaultStyle, null, -123.0f };
+ yield return new object[] { "0", defaultStyle, null, 0.0f };
+ yield return new object[] { "123", defaultStyle, null, 123.0f };
+ yield return new object[] { " 123 ", defaultStyle, null, 123.0f };
+ yield return new object[] { (567.89f).ToString(), defaultStyle, null, 567.89f };
+ yield return new object[] { (-567.89f).ToString(), defaultStyle, null, -567.89f };
+ yield return new object[] { "1E23", defaultStyle, null, 1E23f };
+
+ yield return new object[] { (123.1f).ToString(), NumberStyles.AllowDecimalPoint, null, 123.1f };
+ yield return new object[] { (1000.0f).ToString("N0"), NumberStyles.AllowThousands, null, 1000.0f };
+
+ yield return new object[] { "123", NumberStyles.Any, emptyFormat, 123.0f };
+ yield return new object[] { (123.567f).ToString(), NumberStyles.Any, emptyFormat, 123.567f };
+ yield return new object[] { "123", NumberStyles.Float, emptyFormat, 123.0f };
+ yield return new object[] { "$1,000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, 1000.0f };
+ yield return new object[] { "$1000", NumberStyles.Currency, dollarSignCommaSeparatorFormat, 1000.0f };
+ yield return new object[] { "123.123", NumberStyles.Float, decimalSeparatorFormat, 123.123f };
+ yield return new object[] { "(123)", NumberStyles.AllowParentheses, decimalSeparatorFormat, -123.0f };
yield return new object[] { "NaN", NumberStyles.Any, invariantFormat, float.NaN };
yield return new object[] { "Infinity", NumberStyles.Any, invariantFormat, float.PositiveInfinity };
yield return new object[] { "ab", defaultStyle, null, typeof(FormatException) }; // Hex value
yield return new object[] { "(123)", defaultStyle, null, typeof(FormatException) }; // Parentheses
- yield return new object[] { 100.ToString("C0"), defaultStyle, null, typeof(FormatException) }; // Currency
+ yield return new object[] { (100.0f).ToString("C0"), defaultStyle, null, typeof(FormatException) }; // Currency
yield return new object[] { (123.456f).ToString(), NumberStyles.Integer, null, typeof(FormatException) }; // Decimal
yield return new object[] { " " + (123.456f).ToString(), NumberStyles.None, null, typeof(FormatException) }; // Leading space
[Fact]
public static void PositiveInfinity()
{
- Assert.Equal((float)1.0 / (float)0.0, float.PositiveInfinity);
+ Assert.Equal(1.0f / 0.0f, float.PositiveInfinity);
}
public static IEnumerable<object[]> ToString_TestData()
{
yield return new object[] { float.MinValue, "G", null, "-3.402823E+38" };
- yield return new object[] { (float)-4567, "G", null, "-4567" };
- yield return new object[] { (float)-4567.89101, "G", null, "-4567.891" };
- yield return new object[] { (float)0, "G", null, "0" };
- yield return new object[] { (float)4567, "G", null, "4567" };
- yield return new object[] { (float)4567.89101, "G", null, "4567.891" };
+ yield return new object[] { -4567.0f, "G", null, "-4567" };
+ yield return new object[] { -4567.89101f, "G", null, "-4567.891" };
+ yield return new object[] { 0.0f, "G", null, "0" };
+ yield return new object[] { 4567.0f, "G", null, "4567" };
+ yield return new object[] { 4567.89101f, "G", null, "4567.891" };
yield return new object[] { float.MaxValue, "G", null, "3.402823E+38" };
- yield return new object[] { float.Epsilon, "G", null, "1.401298E-45" };
+ yield return new object[] { float.Epsilon, "G", null, "float.Epsilon" };
yield return new object[] { float.NaN, "G", null, "NaN" };
- yield return new object[] { (float)2468, "N", null, "2,468.00" };
+ yield return new object[] { 2468.0f, "N", null, "2,468.00" };
// Changing the negative pattern doesn't do anything without also passing in a format string
var customNegativePattern = new NumberFormatInfo() { NumberNegativePattern = 0 };
- yield return new object[] { (float)-6310, "G", customNegativePattern, "-6310" };
+ yield return new object[] { -6310.0f, "G", customNegativePattern, "-6310" };
var customNegativeSignDecimalGroupSeparator = new NumberFormatInfo()
{
NumberDecimalSeparator = "~",
NumberGroupSeparator = "*"
};
- yield return new object[] { (float)-2468, "N", customNegativeSignDecimalGroupSeparator, "#2*468~00" };
- yield return new object[] { (float)2468, "N", customNegativeSignDecimalGroupSeparator, "2*468~00" };
+ yield return new object[] { -2468.0f, "N", customNegativeSignDecimalGroupSeparator, "#2*468~00" };
+ yield return new object[] { 2468.0f, "N", customNegativeSignDecimalGroupSeparator, "2*468~00" };
var customNegativeSignGroupSeparatorNegativePattern = new NumberFormatInfo()
{
NumberGroupSeparator = "*",
NumberNegativePattern = 0
};
- yield return new object[] { (float)-2468, "N", customNegativeSignGroupSeparatorNegativePattern, "(2*468.00)" };
+ yield return new object[] { -2468.0f, "N", customNegativeSignGroupSeparatorNegativePattern, "(2*468.00)" };
NumberFormatInfo invariantFormat = NumberFormatInfo.InvariantInfo;
- yield return new object[] { float.Epsilon, "G", invariantFormat, "1.401298E-45" };
+ yield return new object[] { float.Epsilon, "G", invariantFormat, "float.Epsilon" };
yield return new object[] { float.NaN, "G", invariantFormat, "NaN" };
yield return new object[] { float.PositiveInfinity, "G", invariantFormat, "Infinity" };
yield return new object[] { float.NegativeInfinity, "G", invariantFormat, "-Infinity" };
[Fact]
public static void ToString_InvalidFormat_ThrowsFormatException()
{
- float f = 123;
+ float f = 123.0f;
Assert.Throws<FormatException>(() => f.ToString("Y")); // Invalid format
Assert.Throws<FormatException>(() => f.ToString("Y", null)); // Invalid format
}