Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Commit 66538cd

Browse files
vzarytovskiinosami
authored andcommitted
Use FluentAssertions in unit tests
1 parent 87a6baa commit 66538cd

File tree

6 files changed

+29
-15
lines changed

6 files changed

+29
-15
lines changed

tests/FSharp.Compiler.UnitTests/FsiTests.fs

+1-2
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ module FsiTests =
8787

8888
let values = fsiSession.GetBoundValues() |> List.map (fun x -> x.Value.ReflectionValue)
8989

90-
Assert.shouldBe [4;7;6;5;1;2;3] values
90+
Assert.shouldBeEquivalentTo [4;7;6;5;1;2;3] values
9191

9292
[<Fact>]
9393
let ``Seven bound values are ordered and have their correct type`` () =
@@ -530,7 +530,6 @@ module FsiTests =
530530

531531
type TestFSharpFunc() =
532532
inherit FSharpFunc<int, int>()
533-
534533
override _.Invoke x = x
535534

536535
type ``Test2FSharp @ Func``() =

tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs

+4-4
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@ type ManglingNamesOfProvidedTypesWithSingleParameter() =
2626
member this.DemangleNonDefaultValue() =
2727
let name, parameters = PrettyNaming.demangleProvidedTypeName "MyNamespace.Test,Foo=\"xyz\""
2828
Assert.shouldBe "MyNamespace.Test" name
29-
Assert.shouldBe [| "Foo", "xyz" |] parameters
29+
Assert.shouldBeEquivalentTo [| "Foo", "xyz" |] parameters
3030

3131
[<Fact>]
3232
member this.DemangleDefaultValue() =
3333
let name, parameters = PrettyNaming.demangleProvidedTypeName "MyNamespace.Test,"
3434
Assert.shouldBe "MyNamespace.Test" name
35-
Assert.shouldBe [||] parameters
35+
Assert.shouldBeEquivalentTo [||] parameters
3636

3737
[<Fact>]
3838
member this.DemangleNewDefaultValue() =
3939
let name, parameters = PrettyNaming.demangleProvidedTypeName "MyNamespace.Test"
4040
Assert.shouldBe "MyNamespace.Test" name
41-
Assert.shouldBe [||] parameters
41+
Assert.shouldBeEquivalentTo [||] parameters
4242

4343

4444
type ManglingNamesOfProvidedTypesWithMultipleParameter() =
@@ -66,4 +66,4 @@ type ManglingNamesOfProvidedTypesWithMultipleParameter() =
6666
let name, parameters = PrettyNaming.demangleProvidedTypeName "TestType,Foo=\"xyz\",Foo2=\"abc\""
6767
Assert.shouldBe "TestType" name
6868
Assert.shouldBe([| "Foo", "xyz"
69-
"Foo2", "abc" |], parameters)
69+
"Foo2", "abc" |], parameters)

tests/FSharp.Compiler.UnitTests/SuggestionBuffer.fs

+5-5
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ module SuggestionBuffer =
2323

2424
let results = Array.ofSeq buffer
2525

26-
Assert.shouldBe [| "abce" |] results
26+
Assert.shouldBeEquivalentTo [| "abce" |] results
2727

2828
[<Fact>]
2929
let SmallIdentifierShouldBeIgnored() =
@@ -42,7 +42,7 @@ module SuggestionBuffer =
4242
let results = Array.ofSeq buffer
4343

4444
Assert.shouldBeTrue buffer.Disabled
45-
Assert.shouldBe [||] results
45+
Assert.shouldBeEquivalentTo [||] results
4646

4747
[<Fact>]
4848
let BufferShouldOnlyTakeTop5Elements() =
@@ -57,7 +57,7 @@ module SuggestionBuffer =
5757

5858
let results = Array.ofSeq buffer
5959

60-
Assert.shouldBe [| "abce"; "abcg"; "abch"; "abci"; "abcj"|] results
60+
Assert.shouldBeEquivalentTo [| "abce"; "abcg"; "abch"; "abci"; "abcj"|] results
6161

6262
[<Fact>]
6363
let BufferShouldUseEarlierElementsIfTheyHaveSameScore() =
@@ -71,7 +71,7 @@ module SuggestionBuffer =
7171

7272
let results = Array.ofSeq buffer
7373

74-
Assert.shouldBe [| "abce"; "abcf"; "abcg"; "abch"; "abci"|] results
74+
Assert.shouldBeEquivalentTo [| "abce"; "abcf"; "abcg"; "abch"; "abci"|] results
7575

7676

7777
[<Fact>]
@@ -101,4 +101,4 @@ module SuggestionBuffer =
101101

102102
let results = Array.ofSeq buffer
103103

104-
Assert.shouldBe [| "abc"; "abce" |] results
104+
Assert.shouldBeEquivalentTo [| "abc"; "abce" |] results

tests/FSharp.Test.Utilities/Assert.fs

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ module Assert =
44
open FluentAssertions
55
open System.Collections
66

7+
let inline shouldBeEquivalentTo (expected : ^T) (actual : ^U) =
8+
actual.Should().BeEquivalentTo(expected, "") |> ignore
9+
710
let inline shouldBe (expected : ^T) (actual : ^U) =
811
actual.Should().Be(expected, "") |> ignore
912

tests/fsharp/FSharpSuite.Tests.fsproj

+2-4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020
<Compile Include="..\..\src\scripts\scriptlib.fsx">
2121
<Link>scriptlib.fsx</Link>
2222
</Compile>
23-
<Compile Include="..\FSharp.Compiler.UnitTests\NunitHelpers.fs">
24-
<Link>NunitHelpers.fs</Link>
25-
</Compile>
23+
<Compile Include="NUnitHelpers.fs" />
2624
<Compile Include="HandleExpects.fs" />
2725
<Compile Include="single-test.fs" />
2826
<Compile Include="TypeProviderTests.fs" />
@@ -96,7 +94,7 @@
9694
<ItemGroup>
9795
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Compiler.Private\FSharp.Compiler.Private.fsproj" />
9896
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj" />
99-
<ProjectReference Include="..\FSharp.Test.Utilities\FSharp.Test.Utilities.fsproj" />
97+
<ProjectReference Include="$(FSharpTestsRoot)\FSharp.Test.Utilities\FSharp.Test.Utilities.fsproj" />
10098
</ItemGroup>
10199

102100
<ItemGroup>

tests/fsharp/NUnitHelpers.fs

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace NUnit.Framework
2+
3+
module Assert =
4+
5+
let inline fail message = Assert.Fail message
6+
7+
let inline failf fmt = Printf.kprintf fail fmt
8+
9+
let inline areEqual (expected: ^T) (actual: ^T) =
10+
Assert.AreEqual(expected, actual)
11+
12+
module StringAssert =
13+
14+
let inline contains expected actual = StringAssert.Contains(expected, actual)

0 commit comments

Comments
 (0)