예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }