Skip to content

Commit f9515d4

Browse files
committed
Annotate code in tests.
1 parent 070f782 commit f9515d4

2 files changed

Lines changed: 47 additions & 35 deletions

File tree

PropertyChangedAnalyzers.Test/Helpers/LibrarySettings.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ public static class LibrarySettings
2121

2222
internal static Settings Prism { get; } = Settings.Default.WithMetadataReferences(MetadataReferences.Transitive(typeof(Microsoft.Practices.Prism.Mvvm.BindableBase)));
2323

24+
internal static Settings Reactive { get; } = Settings.Default
25+
.WithCompilationOptions(x => x.WithSuppressedDiagnostics("CS1701"))
26+
.WithMetadataReferences(MetadataReferences.Transitive(typeof(Gu.Wpf.Reactive.AsyncCommand)));
27+
2428
// Use this if the dll is not signed
2529
private static Assembly LoadUnsigned(string dllName)
2630
{

PropertyChangedAnalyzers.Test/ValidWithAllAnalyzers.cs

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
using System;
44
using System.Collections.Generic;
55
using System.Linq;
6+
67
using Gu.Roslyn.Asserts;
8+
79
using Microsoft.CodeAnalysis;
810
using Microsoft.CodeAnalysis.Diagnostics;
911

1012
using NUnit.Framework;
1113

14+
using PropertyChangedAnalyzers.Test.Helpers;
15+
1216
public static class ValidWithAllAnalyzers
1317
{
1418
private static readonly IReadOnlyList<DiagnosticAnalyzer> AllAnalyzers =
@@ -57,9 +61,9 @@ namespace N.Core
5761
5862
public abstract class ViewModelBase : INotifyPropertyChanged
5963
{
60-
public event PropertyChangedEventHandler PropertyChanged;
64+
public event PropertyChangedEventHandler? PropertyChanged;
6165
62-
protected bool TrySet<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
66+
protected bool TrySet<T>(ref T field, T value, [CallerMemberName] string? propertyName = null)
6367
{
6468
if (EqualityComparer<T>.Default.Equals(field, value))
6569
{
@@ -71,7 +75,7 @@ protected bool TrySet<T>(ref T field, T value, [CallerMemberName] string propert
7175
return true;
7276
}
7377
74-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
78+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
7579
{
7680
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
7781
}
@@ -145,7 +149,7 @@ public class ViewModel2 : INotifyPropertyChanged
145149
private int p;
146150
private readonly WithMutableField withMutableField = new WithMutableField();
147151
148-
public event PropertyChangedEventHandler PropertyChanged;
152+
public event PropertyChangedEventHandler? PropertyChanged;
149153
150154
public int Squared => this.P * this.P;
151155
@@ -185,7 +189,7 @@ public int P2
185189
}
186190
}
187191
188-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
192+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
189193
{
190194
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
191195
}
@@ -202,7 +206,7 @@ public class OldStyleOnPropertyChanged : INotifyPropertyChanged
202206
{
203207
private int p;
204208
205-
public event PropertyChangedEventHandler PropertyChanged;
209+
public event PropertyChangedEventHandler? PropertyChanged;
206210
207211
public int P
208212
{
@@ -220,7 +224,7 @@ public int P
220224
}
221225
}
222226
223-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
227+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
224228
{
225229
var handler = this.PropertyChanged;
226230
if (handler != null)
@@ -243,7 +247,7 @@ public class WrappingPoint : INotifyPropertyChanged
243247
{
244248
private Point point;
245249
246-
public event PropertyChangedEventHandler PropertyChanged;
250+
public event PropertyChangedEventHandler? PropertyChanged;
247251
248252
public int X
249253
{
@@ -279,7 +283,7 @@ public int Y
279283
}
280284
}
281285
282-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
286+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
283287
{
284288
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
285289
}
@@ -297,7 +301,7 @@ public class WrappingTimeSpan : INotifyPropertyChanged
297301
{
298302
private TimeSpan timeSpan;
299303
300-
public event PropertyChangedEventHandler PropertyChanged;
304+
public event PropertyChangedEventHandler? PropertyChanged;
301305
302306
public long Ticks
303307
{
@@ -314,7 +318,7 @@ public long Ticks
314318
}
315319
}
316320
317-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
321+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
318322
{
319323
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
320324
}
@@ -332,7 +336,7 @@ public class RadioButtonViewModel : INotifyPropertyChanged
332336
{
333337
private double speed;
334338
335-
public event PropertyChangedEventHandler PropertyChanged;
339+
public event PropertyChangedEventHandler? PropertyChanged;
336340
337341
public bool IsSpeed1
338342
{
@@ -357,7 +361,7 @@ public double Speed
357361
}
358362
}
359363
360-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
364+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
361365
{
362366
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
363367
}
@@ -372,11 +376,11 @@ namespace N
372376
373377
public abstract class AbstractWithAbstractProperty : INotifyPropertyChanged
374378
{
375-
public event PropertyChangedEventHandler PropertyChanged;
379+
public event PropertyChangedEventHandler? PropertyChanged;
376380
377381
public abstract int P { get; }
378382
379-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
383+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
380384
{
381385
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
382386
}
@@ -408,14 +412,14 @@ namespace N
408412
409413
public class ExceptionHandlingRelayCommand : ConditionRelayCommand
410414
{
411-
private Exception _exception;
415+
private Exception? _exception;
412416
413417
public ExceptionHandlingRelayCommand(Action action, ICondition condition)
414418
: base(action, condition)
415419
{
416420
}
417421
418-
public Exception Exception
422+
public Exception? Exception
419423
{
420424
get => _exception;
421425
@@ -436,17 +440,21 @@ private set
436440
}";
437441
RoslynAssert.Valid(
438442
analyzer,
439-
viewModelBase,
440-
withMutableField,
441-
viewModel1,
442-
viewModel2,
443-
oldStyleOnPropertyChanged,
444-
wrappingPoint,
445-
wrappingTimeSpan,
446-
radioButtonViewModel,
447-
abstractWithAbstractProperty,
448-
subClassingAbstractWithAbstractProperty,
449-
exceptionHandlingRelayCommand);
443+
new[]
444+
{
445+
viewModelBase,
446+
withMutableField,
447+
viewModel1,
448+
viewModel2,
449+
oldStyleOnPropertyChanged,
450+
wrappingPoint,
451+
wrappingTimeSpan,
452+
radioButtonViewModel,
453+
abstractWithAbstractProperty,
454+
subClassingAbstractWithAbstractProperty,
455+
exceptionHandlingRelayCommand,
456+
},
457+
settings: LibrarySettings.Reactive);
450458
}
451459

452460
[TestCaseSource(nameof(AllAnalyzers))]
@@ -461,9 +469,9 @@ namespace N.Core
461469
462470
public abstract class ViewModelBase<T> : INotifyPropertyChanged
463471
{
464-
public event PropertyChangedEventHandler PropertyChanged;
472+
public event PropertyChangedEventHandler? PropertyChanged;
465473
466-
protected bool TrySet<U>(ref U field, U value, [CallerMemberName] string propertyName = null)
474+
protected bool TrySet<U>(ref U field, U value, [CallerMemberName] string? propertyName = null)
467475
{
468476
if (EqualityComparer<U>.Default.Equals(field, value))
469477
{
@@ -475,7 +483,7 @@ protected bool TrySet<U>(ref U field, U value, [CallerMemberName] string propert
475483
return true;
476484
}
477485
478-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
486+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
479487
{
480488
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
481489
}
@@ -537,13 +545,13 @@ namespace N
537545
538546
public class GenericViewModel<T> : INotifyPropertyChanged
539547
{
540-
private T p;
548+
private T? p;
541549
542-
public event PropertyChangedEventHandler PropertyChanged;
550+
public event PropertyChangedEventHandler? PropertyChanged;
543551
544552
public string Text => $""{this.P} {this.P}"";
545553
546-
public T P
554+
public T? P
547555
{
548556
#pragma warning disable INPC020 // Prefer expression body accessor.
549557
get
@@ -565,7 +573,7 @@ public T P
565573
}
566574
}
567575
568-
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
576+
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
569577
{
570578
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
571579
}

0 commit comments

Comments
 (0)