/// <summary>
 /// Asserts that a property changed has been raised for a specific property
 /// </summary>
 /// <param name="handler">handler to check</param>
 /// <param name="propertyName">Property to check for</param>
 public static void AssertPropertyChangedWasCalled(this PropertyChangedEventHandler handler, string propertyName)
 {
     handler
     .AssertWasCalled(h => h(Arg <object> .Is.Anything,
                             Arg <PropertyChangedEventArgs>
                             .Matches(args => args.PropertyName == propertyName)));
 }
 /// <summary>
 /// Asserts that a property has raised the expected property changed
 /// </summary>
 /// <param name="handler">Handler to check</param>
 /// <param name="sender">Source that sends the event</param>
 /// <param name="propertyName">name to check</param>
 public static void AssertPropertyChangedWasCalled(this PropertyChangedEventHandler handler,
                                                   INotifyPropertyChanged sender, string propertyName)
 {
     handler
     .AssertWasCalled(h => h(Arg.Is(sender),
                             Arg <PropertyChangedEventArgs>
                             .Matches(args => args.PropertyName == propertyName)));
 }
 /// <summary>
 /// Assert that a property changed event has been raised
 /// </summary>
 /// <param name="handler">Handler to check for</param>
 public static void AssertPropertyChangedWasCalled(this PropertyChangedEventHandler handler)
 {
     handler.AssertWasCalled(h => h(Arg <object> .Is.Anything, Arg <PropertyChangedEventArgs> .Is.Anything));
 }