public void SignalsOnDerivedSourceChanges()
        {
            var fake = new DerivedFake();

            fake.ObservePropertyChangedWithValue(x => x.Name, false)
            .Subscribe(_changes.Add);
            CollectionAssert.IsEmpty(_changes);
            fake.Name = "El Kurro";
            Assert.AreEqual(1, _changes.Count);
            Assert.AreEqual("El Kurro", _changes.Single().EventArgs.Value);
            Assert.AreSame(fake, _changes.Single().Sender);
            Assert.IsTrue(_changes.Single().EventArgs.HasValue);
        }
示例#2
0
        public void ReactsOnEventDerived()
        {
            var fake = new DerivedFake {
                Value = 1
            };

            fake.ObservePropertyChanged()
            .Subscribe(_changes.Add);
            Assert.AreEqual(0, _changes.Count);
            fake.OnPropertyChanged("SomeProp");
            Assert.AreEqual(1, _changes.Count);
            AssertRx.AreEqual(fake, "SomeProp", _changes.Last());
        }
            public void SignalsOnDerivedSourceChanges()
            {
                var changes = new List <EventPattern <PropertyChangedAndValueEventArgs <string> > >();
                var fake    = new DerivedFake();

                using (fake.ObservePropertyChangedWithValue(x => x.Name, signalInitial: false)
                       .Subscribe(changes.Add))
                {
                    CollectionAssert.IsEmpty(changes);

                    fake.Name = "Johan";
                    EventPatternAssert.AreEqual(fake, "Name", Maybe.Some("Johan"), changes.Single());
                }
            }
示例#4
0
            public void ReactsOnEventDerived()
            {
                var changes = new List <EventPattern <PropertyChangedEventArgs> >();
                var fake    = new DerivedFake {
                    Value = 1
                };

                using (fake.ObservePropertyChanged()
                       .Subscribe(changes.Add))
                {
                    Assert.AreEqual(0, changes.Count);
                    fake.OnPropertyChanged("SomeProp");
                    Assert.AreEqual(1, changes.Count);
                    EventPatternAssert.AreEqual(fake, "SomeProp", changes.Last());
                }
            }
        public static void ReactsOnEventDerived()
        {
            var changes = new List <EventPattern <PropertyChangedEventArgs> >();
            var source  = new DerivedFake {
                Value = 1
            };

            using (source.ObservePropertyChanged()
                   .Subscribe(changes.Add))
            {
                Assert.AreEqual(0, changes.Count);
                source.OnPropertyChanged(nameof(source.Name));
                Assert.AreEqual(1, changes.Count);
                EventPatternAssert.AreEqual(source, nameof(source.Name), changes.Last());
            }
        }