Пример #1
0
        public void VertexDescriptor_RemoveEdge_FailsByAttemptToAddEdgeWithWrongVertices()
        {
            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(10);
            EdgeDescriptor <int, string>   edgeDesciptor    = new EdgeDescriptor <int, string>(10, 20, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);
            Assert.AreEqual(1, vertexDescriptor.Edges.Count());

            EdgeDescriptor <int, string> unrelatedEdgeDesciptor = new EdgeDescriptor <int, string>(100, 200, "edge");

            vertexDescriptor.AddEdge(unrelatedEdgeDesciptor);
        }
Пример #2
0
        public void VertexDescriptor_RemoveEdge_FailsByAttemptToAddEdgeWithWrongVertices()
        {
            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(10);
            EdgeDescriptor <int, string>   edgeDesciptor    = new EdgeDescriptor <int, string>(10, 20, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);
            Assert.Single(vertexDescriptor.Edges);

            EdgeDescriptor <int, string> unrelatedEdgeDesciptor = new EdgeDescriptor <int, string>(100, 200, "edge");
            var exception = Assert.Throws <InvalidOperationException>(() => vertexDescriptor.AddEdge(unrelatedEdgeDesciptor));

            Assert.Equal("Vertex '10' does not belong to the current edge that contains '100' and '200'", exception.Message);
        }
Пример #3
0
        public void VertexDescriptor_AddEdge_FailsByAttemptToAddEdgeWithWrongVertices()
        {
            int vertex1 = 10;
            int vertex2 = 20;
            int vertex3 = 30;

            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(vertex3);
            EdgeDescriptor <int, string>   edgeDesciptor    = new EdgeDescriptor <int, string>(vertex1, vertex2, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);
        }
Пример #4
0
        public void VertexDescriptor_AddEdge_FailsByAttemptToAddEdgeWithWrongVertices()
        {
            int vertex1 = 10;
            int vertex2 = 20;
            int vertex3 = 30;

            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(vertex3);
            EdgeDescriptor <int, string>   edgeDesciptor    = new EdgeDescriptor <int, string>(vertex1, vertex2, "edge");
            var exception = Assert.Throws <InvalidOperationException>(() => vertexDescriptor.AddEdge(edgeDesciptor));

            Assert.Equal("Vertex '30' does not belong to the current edge that contains '10' and '20'", exception.Message);
        }
Пример #5
0
        public void VertexDescriptor_AddEdge_AddsDescriptorToEdges()
        {
            int vertex1 = 10;
            int vertex2 = 20;
            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(vertex1);

            Assert.Empty(vertexDescriptor.Edges);
            EdgeDescriptor <int, string> edgeDesciptor = new EdgeDescriptor <int, string>(vertex1, vertex2, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);
            Assert.Contains(edgeDesciptor, vertexDescriptor.Edges);
        }
Пример #6
0
        public void VertexDescriptor_AddEdge_AddsDescriptorToEdges()
        {
            int vertex1 = 10;
            int vertex2 = 20;
            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(vertex1);

            Assert.AreEqual(0, vertexDescriptor.Edges.Count());
            EdgeDescriptor <int, string> edgeDesciptor = new EdgeDescriptor <int, string>(vertex1, vertex2, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);
            Assert.IsTrue(vertexDescriptor.Edges.Contains(edgeDesciptor));
        }
Пример #7
0
        public void VertexDescriptor_RemoveEdge_RemovesEdgeFromVertex()
        {
            int vertex1 = 10;
            int vertex2 = 20;
            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(vertex1);
            EdgeDescriptor <int, string>   edgeDesciptor    = new EdgeDescriptor <int, string>(vertex1, vertex2, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);

            Assert.Contains(edgeDesciptor, vertexDescriptor.Edges);

            vertexDescriptor.RemoveEdge(edgeDesciptor);
            Assert.DoesNotContain(edgeDesciptor, vertexDescriptor.Edges);
        }
Пример #8
0
        public void VertexDescriptor_TryFindEdge_ReturnsFalseForWrongVertex()
        {
            int vertex1 = 10;
            int vertex2 = 20;
            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(vertex1);
            EdgeDescriptor <int, string>   edgeDesciptor    = new EdgeDescriptor <int, string>(vertex1, vertex2, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);

            EdgeDescriptor <int, string> foundEdge;
            bool result = vertexDescriptor.TryFindEdge(vertex2, vertex1, out foundEdge);

            Assert.False(result);
            Assert.Equal(default(EdgeDescriptor <int, string>), foundEdge);
        }
Пример #9
0
        public void VertexDescriptor_TryFindEdge_ReturnsEdgeByVertex()
        {
            int vertex1 = 10;
            int vertex2 = 20;
            VertexDescriptor <int, string> vertexDescriptor = new VertexDescriptor <int, string>(vertex1);
            EdgeDescriptor <int, string>   edgeDesciptor    = new EdgeDescriptor <int, string>(vertex1, vertex2, "edge");

            vertexDescriptor.AddEdge(edgeDesciptor);

            EdgeDescriptor <int, string> foundEdge;
            bool result = vertexDescriptor.TryFindEdge(vertex1, vertex2, out foundEdge);

            Assert.True(result);
            Assert.Equal(foundEdge, edgeDesciptor);
        }