public void CheckForCircularDependencies_GivenNodes_ShouldAddNewCircularDependencies() { //---------------Set up test pack------------------- var graph = new Graph("a"); IDependencyVisualizationNode dependencyVisualizationNode = new DependencyVisualizationNode("z", 2, 8, true, false); dependencyVisualizationNode.NodeDependencies.Add(dependencyVisualizationNode); graph.Nodes.AddRange(new List <IDependencyVisualizationNode>() { dependencyVisualizationNode, new DependencyVisualizationNode("b", 2, 2, true, false), new DependencyVisualizationNode("g", 2, 2, true, false), }); //---------------Assert Precondition---------------- var id0 = graph.Nodes[0].ID; var id1 = graph.Nodes[1].ID; var id2 = graph.Nodes[2].ID; Assert.AreEqual("z", id0); Assert.AreEqual("b", id1); Assert.AreEqual("g", id2); //---------------Execute Test ---------------------- graph.CheckForCircularDependencies(); //---------------Test Result ----------------------- id0 = graph.Nodes[0].ID; id1 = graph.Nodes[1].ID; id2 = graph.Nodes[2].ID; Assert.AreEqual("z", id0); Assert.AreEqual("b", id1); Assert.AreEqual("g", id2); var circularDependencies = graph.CircularDependencies; Assert.AreEqual(1, circularDependencies.Count); }
public void CircularDependency_Equals_GivenNodesNotEquals_GivenNodesNotZero_ShouldReturnFalse() { //---------------Set up test pack------------------- var dependencyVisualizationNode = new DependencyVisualizationNode(Guid.NewGuid().ToString(), 2, 2, true, false); var dependencyVisualizationNode1 = new DependencyVisualizationNode(Guid.NewGuid().ToString(), 2, 2, true, false); var virtualizationNode = new List <IDependencyVisualizationNode>(); virtualizationNode.Add(dependencyVisualizationNode); var virtualizationNode1 = new List <IDependencyVisualizationNode>(); virtualizationNode.Add(dependencyVisualizationNode1); var circularDependency = new CircularDependency(virtualizationNode); var circularDependency1 = new CircularDependency(virtualizationNode1); //---------------Assert Precondition---------------- Assert.AreEqual(2, circularDependency.Nodes.Count, "circularDependency.Nodes"); Assert.AreEqual(0, circularDependency1.Nodes.Count, "circularDependency.Nodes"); //---------------Execute Test ---------------------- //---------------Test Result ----------------------- var @equals = circularDependency.Equals(circularDependency1); Assert.IsFalse(@equals); }
public void Node_ToString_WhenBroken_ExpectStringNode() { //------------Setup for test-------------------------- var node = new DependencyVisualizationNode("Node 1", 100, 100, false, true); const string expected = @"<node id=""Node 1"" x=""100"" y=""100"" broken=""True""></node>"; //------------Execute Test--------------------------- var result = node.ToString(); //------------Assert Results------------------------- StringAssert.Contains(result, expected); }
public void Node_ToString_WhenNodeContainsDependencies_ExpectStringNodeWithDependenices() { //------------Setup for test-------------------------- var node = new DependencyVisualizationNode("Node 1", 100, 100, true, true); node.NodeDependencies.Add(new DependencyVisualizationNode("Dependant Node", 200, 100, false, false)); const string expected = @"<node id=""Node 1"" x=""100"" y=""100"" broken=""True""><dependency id=""Dependant Node"" /></node>"; //------------Execute Test--------------------------- var result = node.ToString(); //------------Assert Results------------------------- StringAssert.Contains(result, expected); }
public void GetItems_GivenNodesAndChilrenWithDependencies_ShouldReturnNodesAndChildDependencies() { //---------------Set up test pack------------------- var aggreMock = new Mock <IEventAggregator>(); var resourceModel = new Mock <IContextualResourceModel>(); var depGrap = new Mock <IDependencyGraphGenerator>(); var resourceId = Guid.NewGuid(); var resourceId1 = Guid.NewGuid(); var server = new Mock <IServer>(); var mVm = new Mock <IShellViewModel>(); var env = new Mock <IEnvironmentViewModel>(); var exploreItm = new Mock <IExplorerItemViewModel>(); exploreItm.SetupGet(model => model.ResourceName).Returns("a"); exploreItm.SetupGet(model => model.ResourceType).Returns("a"); exploreItm.SetupGet(model => model.ResourceId).Returns(resourceId); exploreItm.SetupGet(model => model.UnfilteredChildren).Returns(new BindableCollection <IExplorerItemViewModel>()); var exploreItm1 = new Mock <IExplorerItemViewModel>(); exploreItm1.SetupGet(model => model.ResourceName).Returns("a"); exploreItm1.SetupGet(model => model.ResourceType).Returns("a"); exploreItm1.SetupGet(model => model.ResourceId).Returns(resourceId1); exploreItm1.SetupGet(model => model.UnfilteredChildren).Returns(new BindableCollection <IExplorerItemViewModel>()); env.SetupGet(model => model.UnfilteredChildren).Returns(new BindableCollection <IExplorerItemViewModel>() { exploreItm.Object, exploreItm1.Object }); mVm.SetupGet(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object); mVm.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new BindableCollection <IEnvironmentViewModel>() { env.Object }); CustomContainer.Register(mVm.Object); var value = new Graph("a"); value.Nodes.Add(new DependencyVisualizationNode(resourceId.ToString(), 2, 2, true, false)); value.Nodes.Add(new DependencyVisualizationNode(resourceId.ToString(), 2, 2, true, false)); depGrap.Setup(generator => generator.BuildGraph(It.IsAny <StringBuilder>(), It.IsAny <string>(), It.IsAny <double>(), It.IsAny <double>(), It.IsAny <int>())) .Returns(value); resourceModel.SetupGet(model => model.ResourceName).Returns("a"); var envMock = new Mock <IServer>(); var resourceRepo = new Mock <IResourceRepository>(); resourceRepo.Setup(repository => repository.GetDependenciesXmlAsync(It.IsAny <IContextualResourceModel>(), It.IsAny <bool>())) .Returns(ValueFunction); envMock.SetupGet(model => model.ResourceRepository).Returns(resourceRepo.Object); resourceModel.SetupGet(model => model.Environment).Returns(envMock.Object); var dependencyVisualiserViewModel = new DependencyVisualiserViewModel(depGrap.Object, aggreMock.Object, server.Object); var mock = new Mock <IExplorerItemNodeViewModel>(); var explorerItemNodeViewModels = new List <ExplorerItemNodeViewModel>(); var guids = new List <Guid>(); var item = new DependencyVisualizationNode(resourceId.ToString(), 2, 2, true, true); item.NodeDependencies.Add(new DependencyVisualizationNode(resourceId1.ToString(), 50, 50, true, true)); var nodes = new List <IDependencyVisualizationNode> { item, }; dependencyVisualiserViewModel.ResourceModel = resourceModel.Object; //---------------Assert Precondition---------------- Assert.IsNotNull(dependencyVisualiserViewModel); //---------------Execute Test ---------------------- var itemNodeViewModels = dependencyVisualiserViewModel.GetItems(nodes, mock.Object, explorerItemNodeViewModels, guids); //---------------Test Result ----------------------- Assert.AreEqual(1, itemNodeViewModels.Count); Assert.AreEqual(2, explorerItemNodeViewModels.Count); Assert.AreEqual(2, guids.Count); }