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 )  -> ( f.FileWithAST.File,  f.Content)) 
32-             |>  Array.toList
31+             |>  List.map ( fun   ( f :  FileInScenario )  -> ( 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