/// <summary> /// Converts a set of vertices into an adjacency graph, /// using an edge factory. /// </summary> /// <typeparam name="TVertex">The type of the vertex.</typeparam> /// <typeparam name="TEdge">The type of the edge.</typeparam> /// <param name="vertices">The vertices.</param> /// <param name="outEdgesFactory">The out edges factory.</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>( #if !NET20 this #endif IEnumerable <TVertex> vertices, Func <TVertex, IEnumerable <TEdge> > outEdgesFactory, bool allowParallelEdges ) where TEdge : IEdge <TVertex> { Contract.Requires(vertices != null); Contract.Requires(outEdgesFactory != null); Contract.Requires(EnumerableContract.ElementsNotNull(vertices)); var g = new AdjacencyGraph <TVertex, TEdge>(allowParallelEdges); g.AddVertexRange(vertices); foreach (var vertex in g.Vertices) { g.AddEdgeRange(outEdgesFactory(vertex)); } return(g); }
public void VerticesGet <TVertex, TEdge>([PexAssumeUnderTest] AdjacencyGraph <TVertex, TEdge> target) where TEdge : IEdge <TVertex> { // TODO: add assertions to method AdjacencyGraphTVertexTEdgeTest.VerticesGet(AdjacencyGraph`2<!!0,!!1>) IEnumerable <TVertex> result = target.Vertices; }
public void TrimEdgeExcess <TVertex, TEdge>([PexAssumeUnderTest] AdjacencyGraph <TVertex, TEdge> target) where TEdge : IEdge <TVertex> { // TODO: add assertions to method AdjacencyGraphTVertexTEdgeTest.TrimEdgeExcess(AdjacencyGraph`2<!!0,!!1>) target.TrimEdgeExcess(); }
public void IsVerticesEmptyGet <TVertex, TEdge>([PexAssumeUnderTest] AdjacencyGraph <TVertex, TEdge> target) where TEdge : IEdge <TVertex> { // TODO: add assertions to method AdjacencyGraphTVertexTEdgeTest.IsVerticesEmptyGet(AdjacencyGraph`2<!!0,!!1>) bool result = target.IsVerticesEmpty; }
public void EdgeCountGet <TVertex, TEdge>([PexAssumeUnderTest] AdjacencyGraph <TVertex, TEdge> target) where TEdge : IEdge <TVertex> { // TODO: add assertions to method AdjacencyGraphTVertexTEdgeTest.EdgeCountGet(AdjacencyGraph`2<!!0,!!1>) int result = target.EdgeCount; }
public void ClearOutEdges <TVertex, TEdge>([PexAssumeUnderTest] AdjacencyGraph <TVertex, TEdge> target, TVertex v) where TEdge : IEdge <TVertex> { // TODO: add assertions to method AdjacencyGraphTVertexTEdgeTest.ClearOutEdges(AdjacencyGraph`2<!!0,!!1>, !!0) target.ClearOutEdges(v); }
public void AllowParallelEdgesGet <TVertex, TEdge>([PexAssumeUnderTest] AdjacencyGraph <TVertex, TEdge> target) where TEdge : IEdge <TVertex> { // TODO: add assertions to method AdjacencyGraphTVertexTEdgeTest.AllowParallelEdgesGet(AdjacencyGraph`2<!!0,!!1>) bool result = target.AllowParallelEdges; }