title: How to unit test OnPropertyChanged event handler in ViewModel
body: <p>I'm running into the following issue with unit testing view models. </p>
  
  <p>In my project, there are multiple view models (let's say A,B,C and D).
  View Model A is the main view model where it is handling PropertyChanges coming from View models B,C, and D and then update the main view.</p>
  
  <p>Most of the methods/properties in View Model A are unit testable except the event handler methods handling the propertychanged events from B,C and D.</p>
  
  <p>For example:</p>
  
  <pre><code>public A()
  {
    b.PropertyChanged += b_PropertyChanged;
    c.PropertyChanged += c_PropertyChanged;         
  }
  
  
  protected void b_PropertyChanged(object sender, PropertyChangedEventArgs e)
  {
    //process something based on the e.PropertyName 
    //might call some private or protected methods here to help with the processing
    switch(e.Property)
    {
       case "SearchResults":
          SearchResults = b.SearchResults;
          break;
    }   
  }
  </code></pre>
  
  <p>How can i go about testing b_PropertyChanged without making it public?</p>