public void KeepListStructureUpdatesPortViewCorrectly() { var openPath = System.IO.Path.Combine(GetTestDirectory(ExecutingDirectory), @"UI\keepListStructure.dyn"); ViewModel.OpenCommand.Execute(openPath); var rankNode = this.Model.CurrentWorkspace.Nodes.Where(x => x.Name == "List.Rank").FirstOrDefault(); Assert.NotNull(rankNode); Assert.AreEqual(4, this.Model.CurrentWorkspace.Nodes.Count()); RunCurrentModel(); var rank = rankNode.CachedValue.Data; Assert.AreEqual(2, rank); var addNode = this.Model.CurrentWorkspace.Nodes.Where(x => x.Name == "+").FirstOrDefault(); Assert.NotNull(addNode); addNode.InPorts.First().KeepListStructure = true; RunCurrentModel(); rank = rankNode.CachedValue.Data; Assert.AreEqual(3, rank); //find the nodeView that has the same dataContext as the addNode. Utility.DispatcherUtil.DoEvents(); var nodeViews = WpfUtilities.ChildrenOfType <NodeView>(View); var nodeViewModel = ViewModel.CurrentSpaceViewModel.Nodes.Where(x => x.Id == addNode.GUID).FirstOrDefault(); var matchingNodeView = nodeViews.Where(x => (x.DataContext as NodeViewModel).Id == nodeViewModel.Id).FirstOrDefault(); Assert.NotNull(nodeViewModel); Assert.NotNull(matchingNodeView); //when keeplist structure is on highlight should be blue ItemsControl inputItemsControl = WpfUtilities.ChildrenOfType <ItemsControl>(matchingNodeView).Where(x => x.Name == "inputPortControl").FirstOrDefault(); Assert.NotNull(inputItemsControl); var portViewModel = inputItemsControl.ItemsSource.OfType <PortViewModel>().FirstOrDefault(); Assert.NotNull(portViewModel); var trueColor = SharedDictionaryManager.DynamoColorsAndBrushesDictionary["PortKeepListStructureBackground"] as SolidColorBrush; Assert.AreEqual(trueColor.Color, portViewModel.PortBackgroundColor.Color); //when keeplist structure is on text should start with @@. var spinner = WpfUtilities.ChildrenOfType <UseLevelSpinner>(matchingNodeView).FirstOrDefault(); Assert.True(spinner.ContentText.StartsWith("@@")); }
public void ClickingToCloseViewExtensionTabTest() { RaiseLoadedEvent(this.View); var extensionManager = View.viewExtensionManager; extensionManager.Add(viewExtension); // Open a graph which should bring up the Workspace References view extension window with one tab Open(@"pkgs\Dynamo Samples\extra\CustomRenderExample.dyn"); Assert.AreEqual(1, View.ExtensionTabItems.Count); Utility.DispatcherUtil.DoEvents(); View.CloseExtensionTab(WpfUtilities.ChildrenOfType <Button>(View.ExtensionTabItems.FirstOrDefault()).FirstOrDefault(), null); Assert.AreEqual(0, View.ExtensionTabItems.Count); }