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