title: Firing UI control events from a Unit Test
body: <p>As a beginner to TDD I am trying to write a test that assumes a property has had its value changed on a PropertyGrid (C#, WinForms, .NET 3.5).</p>
  
  <p>Changing a property on an object in a property grid does not fire the event (fair enough, as it's a UI raised event, so I can see why changing the owned object may be invisible to it).</p>
  
  <p>I also had the same issue with getting an AfterSelect on a TreeView to fire when changing the SelectedNode property.</p>
  
  <p>I could have a function that my unit test can call that simulates the code a UI event would fire, but that would be cluttering up my code, and unless I make it public, I would have to write all my tests in the same project, or even class, of the objects I am testing (again, I see this as clutter). This seems ugly to me, and would suffer from maintainability problems.</p>
  
  <p>Is there a convention to do this sort of UI based unit-testing</p>