public void ReadOnlyObservableCollection_ObserveReplaceChangedItemsTest()
        {
            var l = new List <OldNewPair <string[]> >();
            var c = new ObservableCollection <string>(new[] { "a", "b", "c" });
            var r = new ReadOnlyObservableCollection <string>(c);

            r.ObserveReplaceChangedItems()
            .Subscribe(x => l.Add(x));

            l.Count.Is(0);
            c[0] = "aaa";
            l.Count.Is(1);
            l[0].Is(x => x.OldItem[0] == "a" && x.NewItem[0] == "aaa");

            c[2] = "ccc";
            l.Count.Is(2);
            l[1].Is(x => x.OldItem[0] == "c" && x.NewItem[0] == "ccc");
        }