private static void Exec(char keyChar) { if (keyChar == '1') { var lesson = new LessonOne(); lesson.Start(); } else if (keyChar == '2') { var lesson = new LessonTwo(); lesson.Start(); } else if (keyChar == '3') { var lesson = new SimpleObservable(); lesson.Start(); } else if (keyChar == '4') { var lesson = new Wrapper(); lesson.Start(); } else if (keyChar == '5') { var lesson = new Function(); lesson.Start(); } }
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 static IObservable <IVehicle> WatchVehicles(this IClient client, CancellationToken?cancellationToken = null, Action <IVehicle> changedAction = null) { lock (_lock) { if (!monitoring) { Task.Factory.StartNew(() => MonitorVehicles(client, cancellationToken, changedAction), TaskCreationOptions.LongRunning); monitoring = true; } } var newObserver = new SimpleObservable <IVehicle>(); VehicleObservers.Add(newObserver); return(newObserver); }
public void ShouldRaisePropertyChangedUsingPropertyName() { var m1 = new SimpleObservable(); string propertyName = null; m1.PropertyChanged += (sender, args) => { propertyName = args.PropertyName; }; const string p1 = "p1"; m1.Text1 = p1; Assert.AreEqual(nameof(SimpleObservable.Text1), propertyName); Assert.AreEqual(p1, m1.Text1); }
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' }