Skip to content
This repository was archived by the owner on Jul 12, 2022. It is now read-only.

Commit 34f3516

Browse files
committed
XUnit tests passing
1 parent 766855a commit 34f3516

File tree

2 files changed

+33
-14
lines changed

2 files changed

+33
-14
lines changed

src/XUnitConverter.Tests/UsesXunitForTestsFormattingRuleTests.cs

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,18 @@
1010
using Xunit;
1111
using System.Threading;
1212
using Microsoft.CodeAnalysis.Formatting;
13+
using Microsoft.CodeAnalysis.Text;
1314

1415
namespace XUnitConverterTests
1516
{
1617
public class UsesXunitForTestsFormattingRuleTests
1718
{
19+
private static readonly MetadataReference s_CorlibReference = MetadataReference.CreateFromAssembly(typeof(object).Assembly);
20+
private static readonly MetadataReference s_SystemCoreReference = MetadataReference.CreateFromAssembly(typeof(Enumerable).Assembly);
1821
private static readonly MetadataReference s_MSTestReference = MetadataReference.CreateFromAssembly(typeof(Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute).Assembly);
1922
private static readonly MetadataReference s_XunitReference = MetadataReference.CreateFromAssembly(typeof(FactAttribute).Assembly);
2023

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)
2725
{
2826
var xunitConverter = new XUnitConverter.XUnitConverter();
2927
var solution = await xunitConverter.ProcessAsync(project, CancellationToken.None);
@@ -38,19 +36,40 @@ private async Task<Solution> RunConverter(Project project, bool runFormatter)
3836
}
3937
}
4038

41-
return solution;
39+
return solution.GetProject(project.Id); ;
4240
}
4341

44-
/*
45-
protected override IEnumerable<MetadataReference> GetSolutionMetadataReferences()
42+
private Project CreateSolution(string source)
4643
{
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,
4951
s_MSTestReference,
5052
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());
5272
}
53-
*/
5473

5574
[Fact]
5675
public void TestUpdatesUsingStatements()

src/XUnitConverter/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ private static async Task RunAsync(string projectPath, CancellationToken cancell
3030

3131
var project = await workspace.OpenProjectAsync(projectPath, cancellationToken);
3232
var xunitConverter = new XUnitConverter();
33-
var solution = xunitConverter.ProcessAsync(project, cancellationToken);
33+
var solution = await xunitConverter.ProcessAsync(project, cancellationToken);
3434
workspace.TryApplyChanges(solution);
3535
}
3636
}

0 commit comments

Comments
 (0)