public void Observers_ValidWrappedObjectInstance_ReturnsObserversOfWrappedObject() { // Setup var sourceObject = new SimpleObservable(new object()); var context = new SimpleObservableWrappedObjectContext(sourceObject); // Call & Assert Assert.AreSame(sourceObject.Observers, context.Observers); }
public void Constructor_ValidWrappedObjectInstance_ExpectedValues() { // Setup var sourceObject = new SimpleObservable(new object()); // Call var context = new SimpleObservableWrappedObjectContext(sourceObject); // Assert Assert.IsInstanceOf <IObservable>(context); Assert.IsInstanceOf <WrappedObjectContextBase <IObservable> >(context); Assert.AreSame(sourceObject, context.WrappedData); CollectionAssert.IsEmpty(context.Observers); }
public void NotifyObservers_ObserverDetached_ObserverIsNoLongerNotified() { // Setup var mocks = new MockRepository(); var observer = mocks.StrictMock <IObserver>(); mocks.ReplayAll(); var equalitySource = new object(); var sourceObject = new SimpleObservable(equalitySource); var context = new SimpleObservableWrappedObjectContext(sourceObject); context.Attach(observer); context.Detach(observer); // Call context.NotifyObservers(); // Assert mocks.VerifyAll(); // Expect no UpdateObserver calls on 'observer' }
public void GivenContextWithAttachedObserver_WhenWrappedDataNotifiesObservers_ThenObserverIsNotified() { // Given var mocks = new MockRepository(); var observer = mocks.StrictMock <IObserver>(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); var equalitySource = new object(); var sourceObject = new SimpleObservable(equalitySource); var context = new SimpleObservableWrappedObjectContext(sourceObject); context.Attach(observer); // When sourceObject.NotifyObservers(); // Then mocks.VerifyAll(); // Expect call UpdateObserver on 'observer' }
public void NotifyObservers_ObserverAttachedToWrappedData_ObserverIsNotified() { // Setup var mocks = new MockRepository(); var observer = mocks.StrictMock <IObserver>(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); var equalitySource = new object(); var sourceObject = new SimpleObservable(equalitySource); var context = new SimpleObservableWrappedObjectContext(sourceObject); sourceObject.Attach(observer); // Call context.NotifyObservers(); // Assert mocks.VerifyAll(); // Expect call UpdateObserver on 'observer' }