/// <summary>Mocks a subscriber for the events of a plugin repository</summary> /// <param name="mockery">Mockery to create an event subscriber in</param> /// <param name="repository">Repository to subscribe the mocked subscriber to</param> /// <returns>The mocked event subscriber</returns> private static IAssemblyLoadedSubscriber mockSubscriber( Mockery mockery, PluginRepository repository ) { IAssemblyLoadedSubscriber mockedSubscriber = mockery.NewMock <IAssemblyLoadedSubscriber>(); repository.AssemblyLoaded += new AssemblyLoadEventHandler( mockedSubscriber.AssemblyLoaded ); return(mockedSubscriber); }
public void TestAssemblyLoadedEvent() { Mockery mockery = new Mockery(); PluginRepository testRepository = new PluginRepository(); IAssemblyLoadedSubscriber subscriber = mockSubscriber(mockery, testRepository); Expect.Once.On(subscriber).Method("AssemblyLoaded").WithAnyArguments(); Assembly self = Assembly.GetAssembly(GetType()); testRepository.AddAssembly(self); mockery.VerifyAllExpectationsHaveBeenMet(); }