public void TestFindPath() { //arrange var childVersion = new Mock <IExplorerItemViewModel>(); childVersion.SetupGet(it => it.IsVisible).Returns(true); childVersion.SetupGet(it => it.ResourceType).Returns("Version"); var childMessage = new Mock <IExplorerItemViewModel>(); childMessage.SetupGet(it => it.IsVisible).Returns(true); childMessage.SetupGet(it => it.ResourceType).Returns("Message"); var childFolder = new Mock <IExplorerItemViewModel>(); childFolder.SetupGet(it => it.IsVisible).Returns(true); childFolder.SetupGet(it => it.ResourceType).Returns("Folder"); childFolder.SetupGet(it => it.IsFolder).Returns(true); childFolder.SetupGet(it => it.ChildrenCount).Returns(2); var childDbService = new Mock <IExplorerItemViewModel>(); childDbService.SetupGet(it => it.IsVisible).Returns(true); childDbService.SetupGet(it => it.ResourceName).Returns("DbSource"); childDbService.SetupGet(it => it.ResourcePath).Returns("DbSourcePath"); childDbService.SetupGet(it => it.IsSource).Returns(true); _target.Children = new ObservableCollection <IExplorerItemViewModel>() { childVersion.Object, childMessage.Object, childFolder.Object, childDbService.Object }; //act _target.IsSource = true; _target.IsService = false; _target.IsFolder = false; _target.IsReservedService = false; _target.IsResourceVersion = false; _target.IsServer = false; _target.ResourcePath = ""; _target.ResourceName = "localhost"; _target.UpdateChildrenCount(); var value = _target.FindByPath("DbSource"); //assert Assert.AreEqual(_target, value); }