Exemplo n.º 1
0
        /// <summary>
        /// Converts a sequence of vertex pairs into an adjancency graph
        /// </summary>
        /// <typeparam name="TVertex">type of the vertices</typeparam>
        /// <param name="vertexPairs"></param>
        /// <returns></returns>
        public static AdjacencyGraph <TVertex, SEquatableEdge <TVertex> > ToAdjacencyGraph <TVertex>
            (this IEnumerable <SEquatableEdge <TVertex> > vertexPairs)
        {
            Contract.Requires(vertexPairs != null);

            var g = new AdjacencyGraph <TVertex, SEquatableEdge <TVertex> >();

            g.AddVerticesAndEdgeRange(vertexPairs);
            return(g);
        }
Exemplo n.º 2
0
        public int AddVerticesAndEdgeRange <TVertex, TEdge>(
            [PexAssumeUnderTest] AdjacencyGraph <TVertex, TEdge> target,
            TEdge[] edges
            )
            where TEdge : IEdge <TVertex>
        {
            // TODO: add assertions to method AdjacencyGraphTVertexTEdgeTest.AddVerticesAndEdgeRange(AdjacencyGraph`2<!!0,!!1>, !!1[])
            int result = target.AddVerticesAndEdgeRange((IEnumerable <TEdge>)edges);

            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Converts a set of edges into an adjacency graph.
        /// </summary>
        /// <typeparam name="TVertex">The type of the vertex.</typeparam>
        /// <typeparam name="TEdge">The type of the edge.</typeparam>
        /// <param name="edges">The edges.</param>
        /// <param name="allowParallelEdges">if set to <c>true</c>, the graph allows parallel edges.</param>
        /// <returns></returns>
        public static AdjacencyGraph <TVertex, TEdge> ToAdjacencyGraph <TVertex, TEdge>
            (this IEnumerable <TEdge> edges, bool allowParallelEdges)
            where TEdge : IEdge <TVertex>
        {
            Contract.Requires(edges != null);
            Contract.Requires(EnumerableContract.ElementsNotNull(edges));

            var g = new AdjacencyGraph <TVertex, TEdge>(allowParallelEdges);

            g.AddVerticesAndEdgeRange(edges);
            return(g);
        }