|
3 | 3 | namespace FSharp.Compiler.UnitTests
|
4 | 4 |
|
5 | 5 | open NUnit.Framework
|
| 6 | +open FSharp.TestHelpers |
6 | 7 |
|
7 | 8 | [<TestFixture>]
|
8 | 9 | module ``String Format Tests`` =
|
@@ -137,3 +138,70 @@ module ``String Format Tests`` =
|
137 | 138 | Assert.areEqual (string infinityf) "Infinity"
|
138 | 139 | Assert.areEqual (string nanf) "NaN"
|
139 | 140 | Assert.areEqual (string (new System.Guid("210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"))) "210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"
|
| 141 | + |
| 142 | + [<Test>] |
| 143 | + let ``string constructor in FSI``() = |
| 144 | + // Regression test for FSHARP1.0:5894 |
| 145 | + |
| 146 | + CompilerAssert.RunScriptWithOptions [| "--langversion:preview" |] |
| 147 | + """ |
| 148 | +let assertEqual a b = |
| 149 | + if a <> b then failwithf "Expected '%s', but got '%s'" a b |
| 150 | + () |
| 151 | +
|
| 152 | +assertEqual (string 1.0f) "1" |
| 153 | +assertEqual (string 1.00001f) "1.00001" |
| 154 | +assertEqual (string -1.00001f) "-1.00001" |
| 155 | +assertEqual (string 1.0) "1" |
| 156 | +assertEqual (string 1.00001) "1.00001" |
| 157 | +assertEqual (string -1.00001) "-1.00001" |
| 158 | +assertEqual (string System.SByte.MaxValue) "127" |
| 159 | +assertEqual (string System.SByte.MinValue) "-128" |
| 160 | +assertEqual (string 0y) "0" |
| 161 | +assertEqual (string -1y) "-1" |
| 162 | +assertEqual (string 1y) "1" |
| 163 | +assertEqual (string System.Byte.MaxValue) "255" |
| 164 | +assertEqual (string System.Byte.MinValue) "0" |
| 165 | +assertEqual (string 0uy) "0" |
| 166 | +assertEqual (string 1uy) "1" |
| 167 | +assertEqual (string System.Int16.MaxValue) "32767" |
| 168 | +assertEqual (string System.Int16.MinValue) "-32768" |
| 169 | +assertEqual (string 0s) "0" |
| 170 | +assertEqual (string -10s) "-10" |
| 171 | +assertEqual (string 10s) "10" |
| 172 | +assertEqual (string System.UInt16.MaxValue) "65535" |
| 173 | +assertEqual (string System.UInt16.MinValue) "0" |
| 174 | +assertEqual (string 0us) "0" |
| 175 | +assertEqual (string 110us) "110" |
| 176 | +assertEqual (string System.Int32.MaxValue) "2147483647" |
| 177 | +assertEqual (string System.Int32.MinValue) "-2147483648" |
| 178 | +assertEqual (string 0) "0" |
| 179 | +assertEqual (string -10) "-10" |
| 180 | +assertEqual (string 10) "10" |
| 181 | +assertEqual (string System.UInt32.MaxValue) "4294967295" |
| 182 | +assertEqual (string System.UInt32.MinValue) "0" |
| 183 | +assertEqual (string 0u) "0" |
| 184 | +assertEqual (string 10u) "10" |
| 185 | +assertEqual (string System.Int64.MaxValue) "9223372036854775807" |
| 186 | +assertEqual (string System.Int64.MinValue) "-9223372036854775808" |
| 187 | +assertEqual (string 0L) "0" |
| 188 | +assertEqual (string -10L) "-10" |
| 189 | +assertEqual (string 10L) "10" |
| 190 | +assertEqual (string System.UInt64.MaxValue) "18446744073709551615" |
| 191 | +assertEqual (string System.UInt64.MinValue) "0" |
| 192 | +assertEqual (string 0UL) "0" |
| 193 | +assertEqual (string 10UL) "10" |
| 194 | +assertEqual (string System.Decimal.MaxValue) "79228162514264337593543950335" |
| 195 | +assertEqual (string System.Decimal.MinValue) "-79228162514264337593543950335" |
| 196 | +assertEqual (string System.Decimal.Zero) "0" |
| 197 | +assertEqual (string 12345678M) "12345678" |
| 198 | +assertEqual (string -12345678M) "-12345678" |
| 199 | +assertEqual (string -infinity) "-Infinity" |
| 200 | +assertEqual (string infinity) "Infinity" |
| 201 | +assertEqual (string nan) "NaN" |
| 202 | +assertEqual (string -infinityf) "-Infinity" |
| 203 | +assertEqual (string infinityf) "Infinity" |
| 204 | +assertEqual (string nanf) "NaN" |
| 205 | +assertEqual (string (new System.Guid("210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"))) "210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0" |
| 206 | + """ |
| 207 | + [] |
0 commit comments