public void AdjacencyList_Filter_SelectesPartOfVertices() { int vertex1 = 10; int vertex2 = 20; int vertex3 = 30; int vertex4 = 40; string edge1 = "20-30"; string edge2 = "30-40"; AdjacencyList <int, string> adjacencyList = new AdjacencyList <int, string>(); adjacencyList.AddVertex(vertex1); adjacencyList.AddVertex(vertex2); adjacencyList.AddVertex(vertex3); adjacencyList.AddVertex(vertex4); adjacencyList.AddEdge(vertex2, vertex3, edge1); adjacencyList.AddEdge(vertex3, vertex4, edge2); IGraph <int, string> filtered = adjacencyList.Filter((v1, v2, ed) => v1 == 20); Assert.Equal(2, filtered.NumVertices); Assert.True(filtered.HasVertex(vertex2)); Assert.True(filtered.HasVertex(vertex3)); Assert.Equal(edge1, filtered.FindEdge(vertex2, vertex3)); }