|
1 | | -[UseCulture("en-US")] |
| 1 | +[UseCulture("en-US")] |
2 | 2 | public class MetricNumeralTests |
3 | 3 | { |
4 | 4 | // Return a sequence of -24 -> 26 |
@@ -75,6 +75,49 @@ public void TestAllSymbolsAsInt(int exponent) |
75 | 75 | Assert.True(isEquals); |
76 | 76 | } |
77 | 77 |
|
| 78 | + [Theory] |
| 79 | + [InlineData(0, 0, "0")] |
| 80 | + [InlineData(0, 1, "0.0")] |
| 81 | + [InlineData(0, 3, "0.000")] |
| 82 | + [InlineData(0, 20, "0.00000000000000000000")] |
| 83 | + [InlineData(123, 0, "123")] |
| 84 | + [InlineData(123, 1, "123.0")] |
| 85 | + [InlineData(123, 3, "123.000")] |
| 86 | + [InlineData(123, 20, "123.00000000000000000000")] |
| 87 | + [InlineData(123456, null, "123.456k")] |
| 88 | + [InlineData(123456, 0, "123k")] |
| 89 | + [InlineData(123456, 1, "123.5k")] |
| 90 | + [InlineData(123456, 2, "123.46k")] |
| 91 | + [InlineData(123456, 3, "123.456k")] |
| 92 | + [InlineData(123456, 20, "123.45600000000000000000k")] |
| 93 | + [InlineData(123456789, null, "123.456789M")] |
| 94 | + [InlineData(123456789, 0, "123M")] |
| 95 | + [InlineData(123456789, 1, "123.5M")] |
| 96 | + [InlineData(123456789, 2, "123.46M")] |
| 97 | + [InlineData(123456789, 3, "123.457M")] |
| 98 | + [InlineData(123456789, 5, "123.45679M")] |
| 99 | + [InlineData(123456789, 20, "123.45678900000000000000M")] |
| 100 | + [InlineData(123456789987, 5, "123.45679G")] |
| 101 | + [InlineData(123456789987, 20, "123.45678998700000000000G")] |
| 102 | + [InlineData(123456789987654, 5, "123.45679T")] |
| 103 | + [InlineData(123456789987654, 20, "123.45678998765400000000T")] |
| 104 | + [InlineData(123456789987654321, 5, "123.45679P")] |
| 105 | + [InlineData(123456789987654321, 20, "123.45678998765432100000P")] |
| 106 | + [InlineData(9223372036854775807, null, "9.223372036854775807E")] |
| 107 | + [InlineData(9223372036854775807, 0, "9E")] |
| 108 | + [InlineData(9223372036854775807, 3, "9.223E")] |
| 109 | + [InlineData(9223372036854775807, 20, "9.22337203685477580700E")] |
| 110 | + [InlineData(-1, null, "-1")] |
| 111 | + [InlineData(-123, null, "-123")] |
| 112 | + [InlineData(-123456, null, "-123.456k")] |
| 113 | + [InlineData(-123456789, null, "-123.456789M")] |
| 114 | + [InlineData(-9223372036854775808, null, "-9.223372036854775808E")] |
| 115 | + [InlineData(-9223372036854775808, 0, "-9E")] |
| 116 | + [InlineData(-9223372036854775808, 3, "-9.223E")] |
| 117 | + [InlineData(-9223372036854775808, 20, "-9.22337203685477580800E")] |
| 118 | + public void TestAllSymbolsAsLong(long subject, int? decimals, string expected) => |
| 119 | + Assert.Equal(expected, subject.ToMetric(decimals: decimals)); |
| 120 | + |
78 | 121 | [Theory] |
79 | 122 | [InlineData("1.3M", 1300000, null, null)] |
80 | 123 | [InlineData("1.3million", 1300000, MetricNumeralFormats.UseShortScaleWord, null)] |
|
0 commit comments