File tree Expand file tree Collapse file tree 3 files changed +22
-26
lines changed
tests/FSharp.Compiler.ComponentTests/TypeChecks/Graph Expand file tree Collapse file tree 3 files changed +22
-26
lines changed Original file line number Diff line number Diff line change @@ -28,8 +28,7 @@ let compileAValidScenario (scenario: Scenario) (method: Method) =
2828 let cUnit =
2929 let files =
3030 scenario.Files
31- |> Array.map ( fun ( f : FileInScenario ) -> SourceCodeFileKind.Create( f.FileWithAST.File, f.Content))
32- |> Array.toList
31+ |> List.map ( fun ( f : FileInScenario ) -> SourceCodeFileKind.Create( f.FileName, f.Content))
3332
3433 match files with
3534 | [] -> failwith " empty files"
@@ -44,7 +43,7 @@ let compileAValidScenario (scenario: Scenario) (method: Method) =
4443 |> shouldSucceed
4544 |> ignore
4645
47- let scenarios = codebases |> List.map ( fun c -> [| box c |]) |> Array.ofList
46+ let scenarios = scenarios |> List.map ( fun c -> [| box c |])
4847
4948[<Theory>]
5049[<MemberData( nameof scenarios) >]
Original file line number Diff line number Diff line change @@ -5,15 +5,17 @@ open NUnit.Framework
55open FSharp.Compiler .GraphChecking
66open Scenarios
77
8- let scenarios = codebases
9-
108[<TestCaseSource( nameof scenarios) >]
119let ``Supported scenario`` ( scenario : Scenario ) =
12- let files = scenario.Files |> Array.map ( fun f -> TestFileWithAST.Map f.FileWithAST)
10+ let files =
11+ scenario.Files
12+ |> List.map ( fun f ->
13+ { Idx = f.Index; FileName = f.FileName; ParsedInput = parseSourceCode( f.FileName, f.Content)})
14+ |> List.toArray
1315 let filePairs = FilePairMap( files)
1416 let graph , _trie = DependencyResolution.mkGraph filePairs files
1517
1618 for file in scenario.Files do
1719 let expectedDeps = file.ExpectedDependencies
18- let actualDeps = set graph.[ file.FileWithAST.Idx ]
19- Assert.AreEqual( expectedDeps, actualDeps, $" Dependencies don't match for {System.IO.Path.GetFileName file.FileWithAST.File }" )
20+ let actualDeps = set graph.[ file.Index ]
21+ Assert.AreEqual( expectedDeps, actualDeps, $" Dependencies don't match for {System.IO.Path.GetFileName file.FileName }" )
Original file line number Diff line number Diff line change 22
33open TestUtils
44
5+ type FileInScenario =
6+ {
7+ Index: int
8+ FileName: string
9+ ExpectedDependencies: Set < int >
10+ Content: string
11+ }
12+
513type Scenario =
614 {
715 Name: string
8- Files: FileInScenario array
16+ Files: FileInScenario list
917 }
1018
1119 override x.ToString () = x.Name
1220
13- and FileInScenario =
14- {
15- FileWithAST: TestFileWithAST
16- ExpectedDependencies: Set < int >
17- Content: string
18- }
19-
2021let private scenario name files =
21- let files = files |> List.toArray |> Array. mapi ( fun idx f -> f idx)
22+ let files = files |> List.mapi ( fun idx f -> f idx)
2223 { Name = name; Files = files }
2324
2425let private sourceFile fileName content ( dependencies : Set < int >) =
2526 fun idx ->
26- let fileWithAST =
27- {
28- Idx = idx
29- AST = parseSourceCode ( fileName, content)
30- File = fileName
31- }
32-
3327 {
34- FileWithAST = fileWithAST
28+ Index = idx
29+ FileName = fileName
3530 ExpectedDependencies = dependencies
3631 Content = content
3732 }
3833
39- let internal codebases =
34+ let internal scenarios =
4035 [
4136 scenario
4237 " Link via full open statement"
You can’t perform that action at this time.
0 commit comments