10
10
using Xunit ;
11
11
using System . Threading ;
12
12
using Microsoft . CodeAnalysis . Formatting ;
13
+ using Microsoft . CodeAnalysis . Text ;
13
14
14
15
namespace XUnitConverterTests
15
16
{
16
17
public class UsesXunitForTestsFormattingRuleTests
17
18
{
19
+ private static readonly MetadataReference s_CorlibReference = MetadataReference . CreateFromAssembly ( typeof ( object ) . Assembly ) ;
20
+ private static readonly MetadataReference s_SystemCoreReference = MetadataReference . CreateFromAssembly ( typeof ( Enumerable ) . Assembly ) ;
18
21
private static readonly MetadataReference s_MSTestReference = MetadataReference . CreateFromAssembly ( typeof ( Microsoft . VisualStudio . TestTools . UnitTesting . TestMethodAttribute ) . Assembly ) ;
19
22
private static readonly MetadataReference s_XunitReference = MetadataReference . CreateFromAssembly ( typeof ( FactAttribute ) . Assembly ) ;
20
23
21
- private CustomWorkspace CreateWorkspace ( )
22
- {
23
- return null ;
24
- }
25
-
26
- private async Task < Solution > RunConverter ( Project project , bool runFormatter )
24
+ private async Task < Project > RunConverter ( Project project , bool runFormatter )
27
25
{
28
26
var xunitConverter = new XUnitConverter . XUnitConverter ( ) ;
29
27
var solution = await xunitConverter . ProcessAsync ( project , CancellationToken . None ) ;
@@ -38,19 +36,40 @@ private async Task<Solution> RunConverter(Project project, bool runFormatter)
38
36
}
39
37
}
40
38
41
- return solution ;
39
+ return solution . GetProject ( project . Id ) ; ;
42
40
}
43
41
44
- /*
45
- protected override IEnumerable<MetadataReference> GetSolutionMetadataReferences()
42
+ private Project CreateSolution ( string source )
46
43
{
47
- return base.GetSolutionMetadataReferences()
48
- .Concat(new[] {
44
+ var testProjectName = "Test" ;
45
+ var projectId = ProjectId . CreateNewId ( testProjectName ) ;
46
+
47
+ var references = new [ ]
48
+ {
49
+ s_CorlibReference ,
50
+ s_SystemCoreReference ,
49
51
s_MSTestReference ,
50
52
s_XunitReference
51
- });
53
+ } ;
54
+
55
+ var solution = new CustomWorkspace ( )
56
+ . CurrentSolution
57
+ . AddProject ( projectId , testProjectName , testProjectName , LanguageNames . CSharp )
58
+ . AddMetadataReferences ( projectId , references ) ;
59
+
60
+ var fileName = "File.cs" ;
61
+ var documentId = DocumentId . CreateNewId ( projectId , fileName ) ;
62
+ solution = solution . AddDocument ( documentId , fileName , SourceText . From ( source ) ) ;
63
+ return solution . GetProject ( projectId ) ;
64
+ }
65
+
66
+ private async Task Verify ( string text , string expected , bool runFormatter = true )
67
+ {
68
+ var project = CreateSolution ( text ) ;
69
+ project = await RunConverter ( project , runFormatter ) ;
70
+ var actual = await project . Documents . Single ( ) . GetTextAsync ( CancellationToken . None ) ;
71
+ Assert . Equal ( expected , actual . ToString ( ) ) ;
52
72
}
53
- */
54
73
55
74
[ Fact ]
56
75
public void TestUpdatesUsingStatements ( )
0 commit comments