test_class.file: singa-mathematics/src/test/java/bio/singa/mathematics/algorithms/graphs/NeighbourhoodExtractorTest.java
test_class.identifier: NeighbourhoodExtractorTest
test_case.body: @Test
      void shouldExtractNeighborhood() {
          UndirectedGraph undirectedGraph = Graphs.buildLinearGraph(10);
          RegularNode node = undirectedGraph.getNode(4);
          UndirectedGraph neighborhood = NeighbourhoodExtractor.extractNeighborhood(undirectedGraph, node, 2);
          assertGraphContainsNodes(neighborhood, 2, 3, 4, 5, 6);
      }
test_case.class_method_signature: NeighbourhoodExtractorTest.shouldExtractNeighborhood()
test_case.full_signature: @Test void shouldExtractNeighborhood()
test_case.identifier: shouldExtractNeighborhood
test_case.invocations: buildLinearGraph getNode extractNeighborhood assertGraphContainsNodes
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldExtractNeighborhood()
focal_class.declarator: graph
focal_class.modifier: private final
focal_class.original_string: private final GraphType graph;
focal_class.type: GraphType
focal_class.var_name: graph
focal_class.declarator: referenceNode
focal_class.modifier: private final
focal_class.original_string: private final NodeType referenceNode;
focal_class.type: NodeType
focal_class.var_name: referenceNode
focal_class.declarator: visitedNodes
focal_class.modifier: private final
focal_class.original_string: private final Set<NodeType> visitedNodes;
focal_class.type: Set<NodeType>
focal_class.var_name: visitedNodes
focal_class.declarator: nodesOfSubgraph
focal_class.modifier: private final
focal_class.original_string: private final List<NodeType> nodesOfSubgraph;
focal_class.type: List<NodeType>
focal_class.var_name: nodesOfSubgraph
focal_class.declarator: edgesOfSubgraph
focal_class.modifier: private final
focal_class.original_string: private final List<EdgeType> edgesOfSubgraph;
focal_class.type: List<EdgeType>
focal_class.var_name: edgesOfSubgraph
focal_class.declarator: currentWave
focal_class.modifier: private
focal_class.original_string: private Queue<NodeType> currentWave;
focal_class.type: Queue<NodeType>
focal_class.var_name: currentWave
focal_class.declarator: nextWave
focal_class.modifier: private
focal_class.original_string: private Queue<NodeType> nextWave;
focal_class.type: Queue<NodeType>
focal_class.var_name: nextWave
focal_class.file: singa-mathematics/src/main/java/bio/singa/mathematics/algorithms/graphs/NeighbourhoodExtractor.java
focal_class.identifier: NeighbourhoodExtractor
focal_class.class_method_signature: NeighbourhoodExtractor.NeighbourhoodExtractor(GraphType graph, NodeType referenceNode)
focal_class.full_signature: public  NeighbourhoodExtractor(GraphType graph, NodeType referenceNode)
focal_class.identifier: NeighbourhoodExtractor
focal_class.modifiers: public
focal_class.parameters: (GraphType graph, NodeType referenceNode)
focal_class.signature:  NeighbourhoodExtractor(GraphType graph, NodeType referenceNode)
focal_class.class_method_signature: NeighbourhoodExtractor.extractNeighborhood(GraphType graph, NodeType referenceNode, int depth)
focal_class.full_signature: public static GraphType extractNeighborhood(GraphType graph, NodeType referenceNode, int depth)
focal_class.identifier: extractNeighborhood
focal_class.modifiers: public static
focal_class.parameters: (GraphType graph, NodeType referenceNode, int depth)
focal_class.return: GraphType
focal_class.signature: GraphType extractNeighborhood(GraphType graph, NodeType referenceNode, int depth)
focal_class.class_method_signature: NeighbourhoodExtractor.extractShell(GraphType graph, NodeType referenceNode, int shell)
focal_class.full_signature: public static List<NodeType> extractShell(GraphType graph, NodeType referenceNode, int shell)
focal_class.identifier: extractShell
focal_class.modifiers: public static
focal_class.parameters: (GraphType graph, NodeType referenceNode, int shell)
focal_class.return: List<NodeType>
focal_class.signature: List<NodeType> extractShell(GraphType graph, NodeType referenceNode, int shell)
focal_class.class_method_signature: NeighbourhoodExtractor.extractNeighborhood(int shell, boolean onlyShell)
focal_class.full_signature: private void extractNeighborhood(int shell, boolean onlyShell)
focal_class.identifier: extractNeighborhood
focal_class.modifiers: private
focal_class.parameters: (int shell, boolean onlyShell)
focal_class.return: void
focal_class.signature: void extractNeighborhood(int shell, boolean onlyShell)
focal_class.class_method_signature: NeighbourhoodExtractor.addConnectionsToVisitedNodes(NodeType neighbour)
focal_class.full_signature: private void addConnectionsToVisitedNodes(NodeType neighbour)
focal_class.identifier: addConnectionsToVisitedNodes
focal_class.modifiers: private
focal_class.parameters: (NodeType neighbour)
focal_class.return: void
focal_class.signature: void addConnectionsToVisitedNodes(NodeType neighbour)
focal_class.class_method_signature: NeighbourhoodExtractor.createSubgraph()
focal_class.full_signature: private GraphType createSubgraph()
focal_class.identifier: createSubgraph
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: GraphType
focal_class.signature: GraphType createSubgraph()
focal_method.body: public static <NodeType extends Node<NodeType, VectorType, IdentifierType>,
              EdgeType extends Edge<NodeType>, VectorType extends bio.singa.mathematics.vectors.Vector, IdentifierType,
              GraphType extends Graph<NodeType, EdgeType, IdentifierType>> GraphType extractNeighborhood(GraphType graph, NodeType referenceNode, int depth) {
          // create new instance for the given graph
          NeighbourhoodExtractor<NodeType, EdgeType, VectorType, IdentifierType, GraphType> finder = new NeighbourhoodExtractor<>(graph, referenceNode);
          finder.extractNeighborhood(depth, false);
          return finder.createSubgraph();
      }
focal_method.class_method_signature: NeighbourhoodExtractor.extractNeighborhood(GraphType graph, NodeType referenceNode, int depth)
focal_method.full_signature: public static GraphType extractNeighborhood(GraphType graph, NodeType referenceNode, int depth)
focal_method.identifier: extractNeighborhood
focal_method.invocations: extractNeighborhood createSubgraph
focal_method.modifiers: public static
focal_method.parameters: (GraphType graph, NodeType referenceNode, int depth)
focal_method.return: GraphType
focal_method.signature: GraphType extractNeighborhood(GraphType graph, NodeType referenceNode, int depth)