public void RemoveNodeUndoBeforeExecute() { var dict = BuildTestTree(); IRootCauseCommand command = new RemoveNodeCommand(new NullDb(), dict["Node 1"]); command.Undo(); }
public void RemoveNodeTwice() { var dict = BuildTestTree(); IRootCauseCommand command = new RemoveNodeCommand(new NullDb(), dict["Node 1"], true); command.Execute(); }
public void RemoveNodeWithParentChildLinks() { var db = new NullDb(); var node1 = new AddNodeCommand(db, problem, "Node 1", true).NewNode; var node2 = new AddNodeCommand(db, node1, "Node 2", true).NewNode; new AddLinkCommand(db, problem, node2, true); var command = new RemoveNodeCommand(db, node1, true); Assert.AreEqual(1, problem.CountChildNodes()); Assert.ReferenceEquals(node2, Enumerable.First(problem.ChildNodes)); Assert.AreEqual(1, node2.CountParentNodes()); Assert.ReferenceEquals(problem, Enumerable.First(node2.ParentNodes)); command.Undo(); Assert.AreEqual(2, problem.CountChildNodes()); Assert.ReferenceEquals(node1, Enumerable.First(problem.ChildNodes)); Assert.ReferenceEquals(node2, Enumerable.Last(problem.ChildNodes)); Assert.AreEqual(2, node2.CountParentNodes()); Assert.ReferenceEquals(problem, Enumerable.First(node2.ParentNodes)); Assert.ReferenceEquals(node1, Enumerable.Last(node2.ParentNodes)); Assert.AreEqual(1, node1.CountParentNodes()); Assert.AreEqual(1, node1.CountChildNodes()); Assert.ReferenceEquals(problem, Enumerable.First(node1.ParentNodes)); Assert.ReferenceEquals(node2, Enumerable.First(node1.ChildNodes)); }
public void RemoveNodeAndUndo() { var dict = BuildTestTree(); IRootCauseCommand command = new RemoveNodeCommand(new NullDb(), dict["Node 1"]); Assert.AreEqual(defaultTestTree, StringifyTree(dict["Problem"])); command.Execute(); foreach (var node in new Node[] { dict["Node 1.1"], dict["Node 1.2"] }) { Assert.AreEqual(1, node.CountParentNodes()); foreach (var parent in node.ParentNodes) { Assert.AreEqual("Problem", parent.Text); } } Assert.AreEqual(3, dict["Problem"].CountChildNodes()); foreach (var node in dict["Problem"].ChildNodes) { Assert.IsTrue("Node 1.1,Node 1.2,Node 2".Contains(node.Text)); } Assert.AreEqual(true, command.Executed); command.Undo(); Assert.AreEqual(defaultTestTree, StringifyTree(dict["Problem"])); Assert.AreEqual(false, command.Executed); }
public void RemovingNodeOnSceneShouldResultInRemovingFromInRepo() { var node = testModel.CreateElement(testNodeType); ICommand command = new RemoveNodeCommand(model, node); command.Execute(); Assert.Zero(testModel.Nodes.Count()); }
public void ClearButtonClicked() { foreach (var edge in this.graphArea.EdgesList.Keys) { var command = new RemoveEdgeCommand(this.model, edge.Edge); this.controller.Execute(command); } foreach (var node in this.graphArea.VertexList.Keys) { var command = new RemoveNodeCommand(this.model, node.Node); this.controller.Execute(command); } }
protected override void OnModelPropertyChanged(string propertyName) { RaisePropertyChanged(propertyName); if (propertyName == "Presentation") { RemoveNodeCommand.RaiseCanExecuteChanged(); RemoveAllButCommand.RaiseCanExecuteChanged(); ShowCyclesCommand.RaiseCanExecuteChanged(); RemoveNodesWithoutSourcesCommand.RaiseCanExecuteChanged(); RemoveNodesWithoutTargetsCommand.RaiseCanExecuteChanged(); RemoveNodesWithoutSiblingsCommand.RaiseCanExecuteChanged(); ShowNodesOutsideClustersCommand.RaiseCanExecuteChanged(); FoldUnfoldAllClustersCommand.RaiseCanExecuteChanged(); AddVisibleNodesOutsideClustersToClusterCommand.RaiseCanExecuteChanged(); ClearSelectionCommand.RaiseCanExecuteChanged(); InvertSelectionCommand.RaiseCanExecuteChanged(); HomeCommand.RaiseCanExecuteChanged(); InvalidateLayoutCommand.RaiseCanExecuteChanged(); PrintGraphCommand.RaiseCanExecuteChanged(); BuildClustersMenu(); BuildSelectedNodesMenu(); if (myTransformationsModuleObserver != null) { mySelectionObserver.ModuleChanged -= OnSelectionChanged; mySelectionObserver.Dispose(); mySelectionObserver = null; myTransformationsModuleObserver.ModuleChanged -= OnTransformationsModuleChanged; myTransformationsModuleObserver.Dispose(); myTransformationsModuleObserver = null; } if (Presentation != null) { var transformations = Presentation.GetModule <ITransformationModule>(); myTransformationsModuleObserver = transformations.CreateObserver(); myTransformationsModuleObserver.ModuleChanged += OnTransformationsModuleChanged; mySelectionObserver = Presentation.GetPropertySetFor <Selection>().CreateObserver(); mySelectionObserver.ModuleChanged += OnSelectionChanged; } } }
public void TwoNodesShareTheSameConfigurationAndIncludeTypeRemoveOneIncludeTypeRemains() { AddConfigurationSectionCommand cmd = new AddConfigurationSectionCommand(Host, typeof(MyConfigurationNode), section); cmd.Execute(GeneratedApplicationNode); cmd.Execute(GeneratedApplicationNode); ConfigurationNode secondAddedNode = cmd.ChildNode; RemoveNodeCommand removeNodeCommand = new RemoveNodeCommand(Host); removeNodeCommand.Execute(secondAddedNode); ConfigurationSectionCollectionNode node = (ConfigurationSectionCollectionNode)GeneratedHierarchy.FindNodeByType(typeof(ConfigurationSectionCollectionNode)); Assert.IsNotNull(node); ConfigurationSectionNode sectionNode = (ConfigurationSectionNode)GeneratedHierarchy.FindNodeByName(node, section); ConfigurationNode[] types = GeneratedHierarchy.FindNodesByType(sectionNode, typeof(XmlIncludeTypeNode)); Assert.AreEqual(1, types.Length); XmlIncludeTypeNode xmlIncludeTypeNode = types[0] as XmlIncludeTypeNode; Assert.IsNotNull(xmlIncludeTypeNode); Assert.AreEqual(xmlIncludeTypeNode.Name, typeof(MyConfigurationData).Name); }