public void ReadOnlyObservableCollection_ObserveRemoveChangedItemsTest() { var l = new List <string[]>(); var c = new ObservableCollection <string>(new[] { "a", "b", "c" }); var r = new ReadOnlyObservableCollection <string>(c); r.ObserveRemoveChangedItems() .Subscribe(x => l.Add(x)); l.Count.Is(0); c.Remove("a"); l[0].Is("a"); c.RemoveAt(1); l[0].Is("a"); l[1].Is("c"); }