Example #1
0
            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);
            }
Example #2
0
            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);
            }
Example #3
0
            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
                });
            }
Example #4
0
            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);
            }
Example #5
0
            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" }) });
            }
Example #6
0
            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);
            }