public void SevenPointThreeFeature() { var code = @" namespace RoslynSandbox { class Foo<T> where T : struct, System.Enum { } }"; var analyzer = new NoErrorAnalyzer(); AnalyzerAssert.Valid <NoErrorAnalyzer>(code); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), code); AnalyzerAssert.Valid(analyzer, code); AnalyzerAssert.Valid(analyzer, code, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), AnalyzerAssert.MetadataReferences); AnalyzerAssert.Valid(analyzer, new[] { code }, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), AnalyzerAssert.MetadataReferences); var descriptor = NoErrorAnalyzer.Descriptor; AnalyzerAssert.Valid <NoErrorAnalyzer>(descriptor, code); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), descriptor, code); AnalyzerAssert.Valid(analyzer, descriptor, code); AnalyzerAssert.Valid <NoErrorAnalyzer>(new[] { descriptor }, code); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), new[] { descriptor }, code); AnalyzerAssert.Valid(analyzer, new[] { descriptor }, code); }
public void SingleClassNoErrorAnalyzer() { var code = @" namespace RoslynSandbox { class Foo { } }"; var analyzer = new NoErrorAnalyzer(); AnalyzerAssert.Valid <NoErrorAnalyzer>(code); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), code); AnalyzerAssert.Valid(analyzer, code); AnalyzerAssert.Valid(analyzer, code, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), AnalyzerAssert.MetadataReferences); AnalyzerAssert.Valid(analyzer, new[] { code }, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), AnalyzerAssert.MetadataReferences); var descriptor = NoErrorAnalyzer.Descriptor; AnalyzerAssert.Valid <NoErrorAnalyzer>(descriptor, code); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), descriptor, code); AnalyzerAssert.Valid(analyzer, descriptor, code); AnalyzerAssert.Valid <NoErrorAnalyzer>(new[] { descriptor }, code); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), new[] { descriptor }, code); AnalyzerAssert.Valid(analyzer, new[] { descriptor }, code); }
public void TwoClassesNoErrorAnalyzer() { var code1 = @" namespace RoslynSandbox { class Code1 { } }"; var code2 = @" namespace RoslynSandbox { class Code2 { } }"; AnalyzerAssert.Valid <NoErrorAnalyzer>(code1, code2); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), code1, code2); var analyzer = new NoErrorAnalyzer(); AnalyzerAssert.Valid(analyzer, code1, code2); AnalyzerAssert.Valid(analyzer, new List <string> { code1, code2 }); }
public void WithTransitiveMetadataReference() { var code = @" namespace RoslynSandbox { class Foo { } }"; var analyzer = new NoErrorAnalyzer(); var metadataReferences = Gu.Roslyn.Asserts.MetadataReferences.Transitive(typeof(Microsoft.CodeAnalysis.CSharp.CSharpCompilation)).ToArray(); AnalyzerAssert.Valid(analyzer, code, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), metadataReferences); }
public void WithSingleMetadataReference() { var code = @" namespace RoslynSandbox { class Foo { } }"; var analyzer = new NoErrorAnalyzer(); AnalyzerAssert.Valid(analyzer, code, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), new[] { Gu.Roslyn.Asserts.MetadataReferences.CreateFromAssembly(typeof(object).Assembly) }); AnalyzerAssert.Valid(analyzer, code, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), Gu.Roslyn.Asserts.MetadataReferences.Transitive(typeof(object).Assembly)); AnalyzerAssert.Valid(analyzer, code, CodeFactory.DefaultCompilationOptions(analyzer, AnalyzerAssert.SuppressedDiagnostics), new[] { Gu.Roslyn.Asserts.MetadataReferences.CreateFromAssembly(typeof(object).Assembly).WithAliases(new[] { "global", "mscorlib" }) }); }
public void ProjectFileNoErrorAnalyzer() { var csproj = ProjectFile.Find("Gu.Roslyn.Asserts.csproj"); var analyzer = new NoErrorAnalyzer(); AnalyzerAssert.Valid <NoErrorAnalyzer>(csproj); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), csproj); AnalyzerAssert.Valid(analyzer, csproj); var descriptor = NoErrorAnalyzer.Descriptor; AnalyzerAssert.Valid <NoErrorAnalyzer>(descriptor, csproj); AnalyzerAssert.Valid(typeof(NoErrorAnalyzer), descriptor, csproj); AnalyzerAssert.Valid(analyzer, descriptor, csproj); AnalyzerAssert.Valid(analyzer, csproj, CodeFactory.DefaultCompilationOptions(analyzer, descriptor, null), AnalyzerAssert.MetadataReferences); }