public void TestFilter() { //arrange var child = new Mock <IExplorerItemViewModel>(); child.SetupGet(it => it.IsVisible).Returns(true); _target.Children = new ObservableCollection <IExplorerItemViewModel>() { child.Object }; var isChildrenChanged = false; _target.PropertyChanged += (s, e) => { isChildrenChanged = isChildrenChanged || e.PropertyName == "Children"; }; var filterText = "someFilterText"; //act _target.Filter(filterText); //assert child.Verify(it => it.Filter(filterText)); Assert.IsTrue(isChildrenChanged); }