public void IndexRecognizesChangeInAChildProperty() { var someObservableObject = new ObservableObject { SomeMutable = 6 }; var someCollection = new ObservableCollection <ObservableObject>( new List <ObservableObject> { someObservableObject }); var indexSpec = IndexSpecification <ObservableObject> .Build() .With(child => child.SomeMutable); var someIndex = IndexBuilder.BuildIndicesFor(someCollection, indexSpec); someObservableObject.SomeMutable = 3; Assert.AreEqual((from v in someIndex where v.SomeMutable == 3 select v).Count(), 1); }