Ejemplo n.º 1
0
        public void IsLinked_ReturnsFalseIfItSelfTest()
        {
            // Arrange
            var node = new Node();

            // Assert
            Assert.False(node.IsLinked(node));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Returns weight of link between current and provided <paramref name="node"/>
        /// </summary>
        /// <exception cref="NodesAreNotLinkedToGetWeghtException"></exception>
        public virtual int LinkWeight(Node node)
        {
            if (!IsLinked(node))
            {
                throw new NodesAreNotLinkedToGetWeghtException(Id, node.Id);
            }

            return Links.Where(t => t.Ref == node.Id).Select(t => t.Weight).Min();
        }
Ejemplo n.º 3
0
        public void IsFinish_True_Test()
        {
            // Arrange
            var node = new Node
            {
                Role = "finish"
            };

            // Assert
            Assert.True(node.IsFinish);
        }
Ejemplo n.º 4
0
        public void IsFinish_False_Test()
        {
            // Arrange
            var node = new Node
            {
                Role = "somerole"
            };

            // Assert
            Assert.False(node.IsFinish);
        }
Ejemplo n.º 5
0
        public void IsCrash_True_Test()
        {
            // Arrange
            var node = new Node
            {
                Status = "crash"
            };

            // Assert
            Assert.True(node.IsCrash);
        }
Ejemplo n.º 6
0
        public void IsCrash_False_Test()
        {
            // Arrange
            var node = new Node
            {
                Status = "somestatus"
            };

            // Assert
            Assert.False(node.IsCrash);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Returns true if current node is linked provided <paramref name="node"/>
        /// </summary>
        /// <exception cref="LinksAreNotSetupException"></exception>
        public virtual bool IsLinked(Node node)
        {
            if (node.Equals(this))
            {
                return false;
            }

            if(Links == null)
                throw new LinksAreNotSetupException(Id);

            return Links.Any(t => t.Ref == node.Id);
        }
Ejemplo n.º 8
0
        public void IsLinked_Test()
        {
            // Arrange
            var target = Mock.Of<Node>(t => t.Id == 1);
            var node = new Node
            {
                Links = new[]
                {
                    Mock.Of<Link>(t => t.Ref == 1)
                }
            };

            // Assert
            Assert.True(node.IsLinked(target));
        }
Ejemplo n.º 9
0
        public void IsLinked_ReturnsFalseIfThereIsNoLink_Test()
        {
            // Arrange
            var target = Mock.Of<Node>(t => t.Id == 1);
            var node = new Node
            {
                Links = new[]
                {
                    Mock.Of<Link>(t => t.Ref == 2)
                }
            };

            // Assert
            Assert.False(node.IsLinked(target));
        }
Ejemplo n.º 10
0
        public void IsStart_True_Test()
        {
            // Arrange
            var node = new Node
            {
                Role = "start"
            };

            // Assert
            Assert.True(node.IsStart);
        }
Ejemplo n.º 11
0
        public void IsLinked_ThrowsIfLinksIsNull_Test()
        {
            // Arrange
            var node = new Node { Id = 1 };

            // Assert
            var ex = Assert.Throws<LinksAreNotSetupException>(() => node.IsLinked(Mock.Of<Node>()));
            Assert.AreEqual(ex.Message, "Links are not setup for node [1]");
        }