未验证 提交 4dd07412 编写于 作者: T Thorsten Reichert 提交者: GitHub

Moved fsharpqa/Libraries/Core/LanguagePrimitives FSI test cases to NUnit (#9435)

* Migrated comparison FSI test case

* Migrated string format FSI test case
上级 19c8cbcd
......@@ -3,6 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
open FSharp.TestHelpers
[<TestFixture>]
module ``Comparison Tests`` =
......@@ -16,4 +17,27 @@ module ``Comparison Tests`` =
Assert.IsFalse (W System.Double.NaN = W System.Double.NaN)
Assert.IsTrue ((W System.Double.NaN).Equals(W System.Double.NaN))
Assert.areEqual (compare (W System.Double.NaN) (W System.Double.NaN)) 0
\ No newline at end of file
Assert.areEqual (compare (W System.Double.NaN) (W System.Double.NaN)) 0
[<Test>]
let ``Comparisons with wrapped NaN in FSI``() =
// Regression test for FSHARP1.0:5640
// This is a sanity test: more coverage in FSHARP suite...
CompilerAssert.RunScriptWithOptions [| "--langversion:preview" |]
"""
type 'a www = W of 'a
let assertTrue a =
if (not a) then failwithf "Expected true, but found false."
()
let p = W System.Double.NaN = W System.Double.NaN
let q = (W System.Double.NaN).Equals(W System.Double.NaN)
let z = compare (W System.Double.NaN) (W System.Double.NaN)
assertTrue (not p)
assertTrue q
assertTrue (z = 0)
"""
[]
\ No newline at end of file
......@@ -3,6 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
open FSharp.TestHelpers
[<TestFixture>]
module ``String Format Tests`` =
......@@ -137,3 +138,70 @@ module ``String Format Tests`` =
Assert.areEqual (string infinityf) "Infinity"
Assert.areEqual (string nanf) "NaN"
Assert.areEqual (string (new System.Guid("210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"))) "210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"
[<Test>]
let ``string constructor in FSI``() =
// Regression test for FSHARP1.0:5894
CompilerAssert.RunScriptWithOptions [| "--langversion:preview" |]
"""
let assertEqual a b =
if a <> b then failwithf "Expected '%s', but got '%s'" a b
()
assertEqual (string 1.0f) "1"
assertEqual (string 1.00001f) "1.00001"
assertEqual (string -1.00001f) "-1.00001"
assertEqual (string 1.0) "1"
assertEqual (string 1.00001) "1.00001"
assertEqual (string -1.00001) "-1.00001"
assertEqual (string System.SByte.MaxValue) "127"
assertEqual (string System.SByte.MinValue) "-128"
assertEqual (string 0y) "0"
assertEqual (string -1y) "-1"
assertEqual (string 1y) "1"
assertEqual (string System.Byte.MaxValue) "255"
assertEqual (string System.Byte.MinValue) "0"
assertEqual (string 0uy) "0"
assertEqual (string 1uy) "1"
assertEqual (string System.Int16.MaxValue) "32767"
assertEqual (string System.Int16.MinValue) "-32768"
assertEqual (string 0s) "0"
assertEqual (string -10s) "-10"
assertEqual (string 10s) "10"
assertEqual (string System.UInt16.MaxValue) "65535"
assertEqual (string System.UInt16.MinValue) "0"
assertEqual (string 0us) "0"
assertEqual (string 110us) "110"
assertEqual (string System.Int32.MaxValue) "2147483647"
assertEqual (string System.Int32.MinValue) "-2147483648"
assertEqual (string 0) "0"
assertEqual (string -10) "-10"
assertEqual (string 10) "10"
assertEqual (string System.UInt32.MaxValue) "4294967295"
assertEqual (string System.UInt32.MinValue) "0"
assertEqual (string 0u) "0"
assertEqual (string 10u) "10"
assertEqual (string System.Int64.MaxValue) "9223372036854775807"
assertEqual (string System.Int64.MinValue) "-9223372036854775808"
assertEqual (string 0L) "0"
assertEqual (string -10L) "-10"
assertEqual (string 10L) "10"
assertEqual (string System.UInt64.MaxValue) "18446744073709551615"
assertEqual (string System.UInt64.MinValue) "0"
assertEqual (string 0UL) "0"
assertEqual (string 10UL) "10"
assertEqual (string System.Decimal.MaxValue) "79228162514264337593543950335"
assertEqual (string System.Decimal.MinValue) "-79228162514264337593543950335"
assertEqual (string System.Decimal.Zero) "0"
assertEqual (string 12345678M) "12345678"
assertEqual (string -12345678M) "-12345678"
assertEqual (string -infinity) "-Infinity"
assertEqual (string infinity) "Infinity"
assertEqual (string nan) "NaN"
assertEqual (string -infinityf) "-Infinity"
assertEqual (string infinityf) "Infinity"
assertEqual (string nanf) "NaN"
assertEqual (string (new System.Guid("210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"))) "210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"
"""
[]
// #Regression #Libraries #LanguagePrimitives #ReqNOMT
// Regression test for FSHARP1.0:5894
//<Expects status="success">val it : string = "1"</Expects>
//<Expects status="success">val it : string = "1.00001"</Expects>
//<Expects status="success">val it : string = "-1.00001"</Expects>
//<Expects status="success">val it : string = "1"</Expects>
//<Expects status="success">val it : string = "1.00001"</Expects>
//<Expects status="success">val it : string = "-1.00001"</Expects>
//<Expects status="success">val it : string = "127"</Expects>
//<Expects status="success">val it : string = "-128"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "-1"</Expects>
//<Expects status="success">val it : string = "1"</Expects>
//<Expects status="success">val it : string = "255"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "1"</Expects>
//<Expects status="success">val it : string = "32767"</Expects>
//<Expects status="success">val it : string = "-32768"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "-10"</Expects>
//<Expects status="success">val it : string = "10"</Expects>
//<Expects status="success">val it : string = "65535"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "110"</Expects>
//<Expects status="success">val it : string = "2147483647"</Expects>
//<Expects status="success">val it : string = "-2147483648"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "-10"</Expects>
//<Expects status="success">val it : string = "10"</Expects>
//<Expects status="success">val it : string = "4294967295"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "10"</Expects>
//<Expects status="success">val it : string = "9223372036854775807"</Expects>
//<Expects status="success">val it : string = "-9223372036854775808"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "-10"</Expects>
//<Expects status="success">val it : string = "10"</Expects>
//<Expects status="success">val it : string = "18446744073709551615"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "10"</Expects>
//<Expects status="success">val it : string = "79228162514264337593543950335"</Expects>
//<Expects status="success">val it : string = "-79228162514264337593543950335"</Expects>
//<Expects status="success">val it : string = "0"</Expects>
//<Expects status="success">val it : string = "12345678"</Expects>
//<Expects status="success">val it : string = "-12345678"</Expects>
//<Expects status="success">val it : string = "-Infinity"</Expects>
//<Expects status="success">val it : string = "Infinity"</Expects>
//<Expects status="success">val it : string = "NaN"</Expects>
//<Expects status="success">val it : string = "-Infinity"</Expects>
//<Expects status="success">val it : string = "Infinity"</Expects>
//<Expects status="success">val it : string = "NaN"</Expects>
//<Expects status="success">val it : string = "210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0"</Expects>
(string 1.0f);;
(string 1.00001f);;
(string -1.00001f);;
(string 1.0);;
(string 1.00001);;
(string -1.00001);;
(string System.SByte.MaxValue);;
(string System.SByte.MinValue);;
(string 0y);;
(string -1y);;
(string 1y);;
(string System.Byte.MaxValue);;
(string System.Byte.MinValue);;
(string 0uy);;
(string 1uy);;
(string System.Int16.MaxValue);;
(string System.Int16.MinValue);;
(string 0s);;
(string -10s);;
(string 10s);;
(string System.UInt16.MaxValue);;
(string System.UInt16.MinValue);;
(string 0us);;
(string 110us);;
(string System.Int32.MaxValue);;
(string System.Int32.MinValue);;
(string 0);;
(string -10);;
(string 10);;
(string System.UInt32.MaxValue);;
(string System.UInt32.MinValue);;
(string 0u);;
(string 10u);;
(string System.Int64.MaxValue);;
(string System.Int64.MinValue);;
(string 0L);;
(string -10L);;
(string 10L);;
(string System.UInt64.MaxValue);;
(string System.UInt64.MinValue);;
(string 0UL);;
(string 10UL);;
(string System.Decimal.MaxValue);;
(string System.Decimal.MinValue);;
(string System.Decimal.Zero);;
(string 12345678M);;
(string -12345678M);;
(string -infinity);;
(string infinity);;
(string nan);;
(string -infinityf);;
(string infinityf);;
(string nanf);;
(string (new System.Guid("210f4d6b-cb42-4b09-baa1-f1aa8e59d4b0")));;
#q;;
// #Regression #Libraries #LanguagePrimitives #ReqNOMT
// Regression test for FSHARP1.0:5640
// This is a sanity test: more coverage in FSHARP suite...
//<Expects status="success">type 'a www = \| W of 'a</Expects>
//<Expects status="success">val p : bool = false</Expects>
//<Expects status="success">val q : bool = true</Expects>
//<Expects status="success">val z : int = 0</Expects>
//<Expects status="success">0</Expects>
//<Expects status="success">val it : unit = \(\)</Expects>
type 'a www = W of 'a
let p = W System.Double.NaN = W System.Double.NaN;;
let q = (W System.Double.NaN).Equals(W System.Double.NaN);;
let z = compare (W System.Double.NaN) (W System.Double.NaN);;
printfn "%A" (if (not p) && q && (z=0) then 0 else 1);;
#q;;
NoMT SOURCE=anytostring01.fsx FSIMODE=PIPE COMPILE_ONLY=1 # anytostring01.fsx
NoMT SOURCE=compare01.fsx FSIMODE=PIPE COMPILE_ONLY=1 # compare01.fsx
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册