@@ -9,12 +9,21 @@ internal class Diagnostics
9
9
private static readonly DiagnosticAnalyzer Analyzer = new GetXAnalyzer ( ) ;
10
10
private static readonly ExpectedDiagnostic ExpectedDiagnostic = ExpectedDiagnostic . Create ( REFL013MemberIsOfWrongType . DiagnosticId ) ;
11
11
12
- [ Test ]
13
- public void GetMethodMatchingProperty ( )
12
+ [ TestCase ( "GetEvent(nameof(this.Bar))" ) ]
13
+ [ TestCase ( "GetEvent(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
14
+ [ TestCase ( "GetField(nameof(this.Bar))" ) ]
15
+ [ TestCase ( "GetField(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
16
+ [ TestCase ( "GetMethod(nameof(this.Bar))" ) ]
17
+ [ TestCase ( "GetMethod(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
18
+ [ TestCase ( "GetNestedType(nameof(this.Bar))" ) ]
19
+ [ TestCase ( "GetNestedType(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
20
+ public void WhenMatchIsProperty ( string call )
14
21
{
15
22
var code = @"
16
23
namespace RoslynSandbox
17
24
{
25
+ using System.Reflection;
26
+
18
27
class Foo
19
28
{
20
29
public Foo()
@@ -24,17 +33,26 @@ public Foo()
24
33
25
34
public int Bar { get; }
26
35
}
27
- }" ;
36
+ }" . AssertReplace ( "GetMethod(nameof(this.Bar))" , call ) ;
28
37
var message = "The type RoslynSandbox.Foo has a member named Bar of type SourcePropertySymbol." ;
29
38
AnalyzerAssert . Diagnostics ( Analyzer , ExpectedDiagnostic . WithMessage ( message ) , code ) ;
30
39
}
31
40
32
- [ Test ]
33
- public void GetPropertyMatchingMethod ( )
41
+ [ TestCase ( "GetEvent(nameof(this.Bar))" ) ]
42
+ [ TestCase ( "GetEvent(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
43
+ [ TestCase ( "GetField(nameof(this.Bar))" ) ]
44
+ [ TestCase ( "GetField(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
45
+ [ TestCase ( "GetProperty(nameof(this.Bar))" ) ]
46
+ [ TestCase ( "GetProperty(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
47
+ [ TestCase ( "GetNestedType(nameof(this.Bar))" ) ]
48
+ [ TestCase ( "GetNestedType(nameof(this.Bar), BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)" ) ]
49
+ public void GetPropertyMatchingMethod ( string call )
34
50
{
35
51
var code = @"
36
52
namespace RoslynSandbox
37
53
{
54
+ using System.Reflection;
55
+
38
56
class Foo
39
57
{
40
58
public Foo()
@@ -44,7 +62,7 @@ public Foo()
44
62
45
63
public int Bar() => 0;
46
64
}
47
- }" ;
65
+ }" . AssertReplace ( "GetProperty(nameof(this.Bar))" , call ) ;
48
66
var message = "The type RoslynSandbox.Foo has a member named Bar of type SourceMemberMethodSymbol." ;
49
67
AnalyzerAssert . Diagnostics ( Analyzer , ExpectedDiagnostic . WithMessage ( message ) , code ) ;
50
68
}
0 commit comments