Exemplo n.º 1
0
 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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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'
        }