public void GivenRegistry_WhenObserverIsInserted_ItShouldDetectPriorAndAfterRegistrations() { // pre-arrange int countPreRegisteredCalled = 0; int countPostRegisteredCalled = 0; // arrange var semanticBuilder = new SemanticBuilder(); var observer1 = new TestRegistryObserver(package => { countPreRegisteredCalled++; return null; }); var observer2 = new TestRegistryObserver(package => { countPostRegisteredCalled++; return null; }); // act semanticBuilder.RegisterObserver(observer1); semanticBuilder.InstallPipe<TestClassA, TestClassB>((a, innerBroker) => (TestClassB)null); semanticBuilder.RegisterObserver(observer2); // assert Assert.GreaterOrEqual(countPreRegisteredCalled, 1); Assert.GreaterOrEqual(countPostRegisteredCalled, 1); }
public void GivenRegistry_WhenObserverIsInserted_ItShouldDetectPriorAndAfterRegistrations() { // pre-arrange int countPreRegisteredCalled = 0; int countPostRegisteredCalled = 0; // arrange var semanticBuilder = new SemanticBuilder(); var observer1 = new TestRegistryObserver(package => { countPreRegisteredCalled++; return(null); }); var observer2 = new TestRegistryObserver(package => { countPostRegisteredCalled++; return(null); }); // act semanticBuilder.RegisterObserver(observer1); semanticBuilder.InstallPipe <TestClassA, TestClassB>((a, innerBroker) => (TestClassB)null); semanticBuilder.RegisterObserver(observer2); // assert Assert.GreaterOrEqual(countPreRegisteredCalled, 1); Assert.GreaterOrEqual(countPostRegisteredCalled, 1); }
public void GivenRegistry_WhenPipesAreRegistered_ItShouldNotifyObservers() { // pre-arrange bool wasEventCalled = false; // arrange var semanticBuilder = new SemanticBuilder(); var observer = new TestRegistryObserver(package => { wasEventCalled = true; return null; }); semanticBuilder.RegisterObserver(observer); // act semanticBuilder.InstallPipe<TestClassA, TestClassB>((a, innerBroker) => (TestClassB)null); // assert Assert.IsTrue(wasEventCalled); }
public void GivenPopulatedRegistry_WhenObserverEnrollsLater_ItShouldBeNotifiedOfPreviousRegistrations() { // pre-arrange bool wasEventCalled = false; // arrange var semanticBuilder = new SemanticBuilder(); semanticBuilder.InstallPipe<TestClassA, TestClassB>((a, innerBroker) => (TestClassB)null); // act var observer = new TestRegistryObserver(package => { wasEventCalled = true; return null; }); semanticBuilder.RegisterObserver(observer); // assert Assert.IsTrue(wasEventCalled); }
public void GivenRegistry_WhenPipesAreRegistered_ItShouldNotifyObservers() { // pre-arrange bool wasEventCalled = false; // arrange var semanticBuilder = new SemanticBuilder(); var observer = new TestRegistryObserver(package => { wasEventCalled = true; return(null); }); semanticBuilder.RegisterObserver(observer); // act semanticBuilder.InstallPipe <TestClassA, TestClassB>((a, innerBroker) => (TestClassB)null); // assert Assert.IsTrue(wasEventCalled); }
public void GivenPopulatedRegistry_WhenObserverEnrollsLater_ItShouldBeNotifiedOfPreviousRegistrations() { // pre-arrange bool wasEventCalled = false; // arrange var semanticBuilder = new SemanticBuilder(); semanticBuilder.InstallPipe <TestClassA, TestClassB>((a, innerBroker) => (TestClassB)null); // act var observer = new TestRegistryObserver(package => { wasEventCalled = true; return(null); }); semanticBuilder.RegisterObserver(observer); // assert Assert.IsTrue(wasEventCalled); }