@@ -9,12 +9,21 @@ internal class Diagnostics
99 private static readonly DiagnosticAnalyzer Analyzer = new GetXAnalyzer ( ) ;
1010 private static readonly ExpectedDiagnostic ExpectedDiagnostic = ExpectedDiagnostic . Create ( REFL013MemberIsOfWrongType . DiagnosticId ) ;
1111
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 )
1421 {
1522 var code = @"
1623namespace RoslynSandbox
1724{
25+ using System.Reflection;
26+
1827 class Foo
1928 {
2029 public Foo()
@@ -24,17 +33,26 @@ public Foo()
2433
2534 public int Bar { get; }
2635 }
27- }" ;
36+ }" . AssertReplace ( "GetMethod(nameof(this.Bar))" , call ) ;
2837 var message = "The type RoslynSandbox.Foo has a member named Bar of type SourcePropertySymbol." ;
2938 AnalyzerAssert . Diagnostics ( Analyzer , ExpectedDiagnostic . WithMessage ( message ) , code ) ;
3039 }
3140
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 )
3450 {
3551 var code = @"
3652namespace RoslynSandbox
3753{
54+ using System.Reflection;
55+
3856 class Foo
3957 {
4058 public Foo()
@@ -44,7 +62,7 @@ public Foo()
4462
4563 public int Bar() => 0;
4664 }
47- }" ;
65+ }" . AssertReplace ( "GetProperty(nameof(this.Bar))" , call ) ;
4866 var message = "The type RoslynSandbox.Foo has a member named Bar of type SourceMemberMethodSymbol." ;
4967 AnalyzerAssert . Diagnostics ( Analyzer , ExpectedDiagnostic . WithMessage ( message ) , code ) ;
5068 }
0 commit comments