public void TestRemoveChild() { //arrange var child = new Mock <IExplorerItemViewModel>(); child.SetupGet(it => it.AllowResourceCheck).Returns(true); 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"; }; //act _target.RemoveChild(child.Object); //assert Assert.IsFalse(_target.Children.Any()); Assert.IsTrue(isChildrenChanged); }