public void ReadOnlyObservableCollectionCount()
            {
                var ints    = new ObservableCollection <int>();
                var source  = new ReadOnlyObservableCollection <int>(ints);
                var changes = new List <EventPattern <PropertyChangedAndValueEventArgs <int> > >();

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

                    ints.Add(1);
                    EventPatternAssert.AreEqual(source, "Count", Maybe <int> .Some(1), changes.Single());

                    ints.Add(2);
                    Assert.AreEqual(2, changes.Count);
                    EventPatternAssert.AreEqual(source, "Count", Maybe <int> .Some(2), changes.Last());
                }
            }