public void Find_Parent_Should_Find_Parent() { List <TreeContainerSupport> searchTrees = CreateTrees(5, 4); Dictionary <object, ContainerBinding> dict = CreateDict(new object[] { searchTrees[0], searchTrees [1], searchTrees[2], searchTrees[3] }); object parent = parentFinder.FindParent(searchTrees [3].children [1].children [2].children [1], dict); Assert.That(parent, Is.EqualTo(searchTrees [3])); }
public ContainerBinding FindParentBinding(object container) { if (_parentFinder == null) { return(_fallbackBinding); } object parent = _parentFinder.FindParent(container, _bindingByContainer); if (parent == null) { return(_fallbackBinding); } ContainerBinding binding; if (!_bindingByContainer.TryGetValue(parent, out binding)) { binding = _fallbackBinding; } return(binding); }
protected virtual bool ValidateContextView(object contextView) { List <ContainerBinding> possibleParents = null; if (_parentFinder is ContainerRegistry) { possibleParents = (_parentFinder as ContainerRegistry).RootBindings; } return ((possibleParents == null && _parentFinder.Contains(_contextView, contextView)) || (possibleParents != null && _parentFinder.FindParent(contextView, possibleParents) == _contextView)); }