test_class.declarator: graph1
test_class.modifier: private static
test_class.original_string: private static UndirectedGraph graph1;
test_class.type: UndirectedGraph
test_class.var_name: graph1
test_class.declarator: graph2
test_class.modifier: private static
test_class.original_string: private static UndirectedGraph graph2;
test_class.type: UndirectedGraph
test_class.var_name: graph2
test_class.file: singa-mathematics/src/test/java/bio/singa/mathematics/graphs/model/GraphsTest.java
test_class.identifier: GraphsTest
test_case.body: @Test
      void modularProductWithEdgeCondition() {
          GenericGraph<Pair<RegularNode>> modularProduct = Graphs.modularProduct(graph1, graph2, (n1, n2) -> true, (e1, e2) -> !(e1.getIdentifier() == 0 && e2.getIdentifier() == 0));
          GenericNode<Pair<RegularNode>> a1b1 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(0), graph2.getNode(0))).get();
          GenericNode<Pair<RegularNode>> a1b2 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(0), graph2.getNode(1))).get();
          GenericNode<Pair<RegularNode>> a1b3 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(0), graph2.getNode(2))).get();
          GenericNode<Pair<RegularNode>> a2b1 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(1), graph2.getNode(0))).get();
          GenericNode<Pair<RegularNode>> a2b2 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(1), graph2.getNode(1))).get();
          GenericNode<Pair<RegularNode>> a2b3 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(1), graph2.getNode(2))).get();
          GenericNode<Pair<RegularNode>> a3b1 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(2), graph2.getNode(0))).get();
          GenericNode<Pair<RegularNode>> a3b2 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(2), graph2.getNode(1))).get();
          GenericNode<Pair<RegularNode>> a3b3 = modularProduct.getNodeWithContent(new Pair<>(graph1.getNode(2), graph2.getNode(2))).get();
  
          // check pairing
          assertFalse(modularProduct.getEdgeBetween(a1b1, a2b2).isPresent());
          assertTrue(modularProduct.getEdgeBetween(a1b1, a3b3).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a1b2, a2b1).isPresent());
          assertTrue(modularProduct.getEdgeBetween(a1b2, a2b3).isPresent());
          assertTrue(modularProduct.getEdgeBetween(a1b3, a2b2).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a2b1, a1b2).isPresent());
          assertTrue(modularProduct.getEdgeBetween(a2b1, a3b2).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a2b2, a1b1).isPresent());
          assertTrue(modularProduct.getEdgeBetween(a3b1, a2b2).isPresent());
          assertTrue(modularProduct.getEdgeBetween(a3b3, a2b2).isPresent());
  
          // check no pairing
          assertFalse(modularProduct.getEdgeBetween(a1b1, a1b2).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a1b1, a1b3).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a1b3, a2b3).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a2b3, a3b3).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a3b3, a3b2).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a3b1, a2b1).isPresent());
          assertFalse(modularProduct.getEdgeBetween(a2b1, a1b1).isPresent());
      }
test_case.class_method_signature: GraphsTest.modularProductWithEdgeCondition()
test_case.full_signature: @Test void modularProductWithEdgeCondition()
test_case.identifier: modularProductWithEdgeCondition
test_case.invocations: modularProduct getIdentifier getIdentifier get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode get getNodeWithContent getNode getNode assertFalse isPresent getEdgeBetween assertTrue isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertTrue isPresent getEdgeBetween assertTrue isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertTrue isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertTrue isPresent getEdgeBetween assertTrue isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertFalse isPresent getEdgeBetween assertFalse isPresent getEdgeBetween
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void modularProductWithEdgeCondition()
focal_class.declarator: DEFAULT_BOUNDING_BOX = new Rectangle(400, 400)
focal_class.modifier: public static final
focal_class.original_string: public static final Rectangle DEFAULT_BOUNDING_BOX = new Rectangle(400, 400);
focal_class.type: Rectangle
focal_class.var_name: DEFAULT_BOUNDING_BOX
focal_class.declarator: logger = LoggerFactory.getLogger(Graphs.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(Graphs.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.file: singa-mathematics/src/main/java/bio/singa/mathematics/graphs/model/Graphs.java
focal_class.identifier: Graphs
focal_class.class_method_signature: Graphs.buildLinearGraph(int numberOfNodes)
focal_class.full_signature: public static UndirectedGraph buildLinearGraph(int numberOfNodes)
focal_class.identifier: buildLinearGraph
focal_class.modifiers: public static
focal_class.parameters: (int numberOfNodes)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildLinearGraph(int numberOfNodes)
focal_class.class_method_signature: Graphs.buildLinearGraph(int numberOfNodes, Rectangle boundingBox)
focal_class.full_signature: public static UndirectedGraph buildLinearGraph(int numberOfNodes, Rectangle boundingBox)
focal_class.identifier: buildLinearGraph
focal_class.modifiers: public static
focal_class.parameters: (int numberOfNodes, Rectangle boundingBox)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildLinearGraph(int numberOfNodes, Rectangle boundingBox)
focal_class.class_method_signature: Graphs.buildCircularGraph(int numberOfNodes)
focal_class.full_signature: public static UndirectedGraph buildCircularGraph(int numberOfNodes)
focal_class.identifier: buildCircularGraph
focal_class.modifiers: public static
focal_class.parameters: (int numberOfNodes)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildCircularGraph(int numberOfNodes)
focal_class.class_method_signature: Graphs.buildCircularGraph(int numberOfNodes, Rectangle boundingBox)
focal_class.full_signature: public static UndirectedGraph buildCircularGraph(int numberOfNodes, Rectangle boundingBox)
focal_class.identifier: buildCircularGraph
focal_class.modifiers: public static
focal_class.parameters: (int numberOfNodes, Rectangle boundingBox)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildCircularGraph(int numberOfNodes, Rectangle boundingBox)
focal_class.class_method_signature: Graphs.buildTreeGraph(int depth)
focal_class.full_signature: public static UndirectedGraph buildTreeGraph(int depth)
focal_class.identifier: buildTreeGraph
focal_class.modifiers: public static
focal_class.parameters: (int depth)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildTreeGraph(int depth)
focal_class.class_method_signature: Graphs.buildTreeGraph(int depth, Rectangle boundingBox)
focal_class.full_signature: public static UndirectedGraph buildTreeGraph(int depth, Rectangle boundingBox)
focal_class.identifier: buildTreeGraph
focal_class.modifiers: public static
focal_class.parameters: (int depth, Rectangle boundingBox)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildTreeGraph(int depth, Rectangle boundingBox)
focal_class.class_method_signature: Graphs.growTree(int depth, UndirectedGraph graph, RegularNode predecessor, Rectangle boundingBox)
focal_class.full_signature: private static void growTree(int depth, UndirectedGraph graph, RegularNode predecessor, Rectangle boundingBox)
focal_class.identifier: growTree
focal_class.modifiers: private static
focal_class.parameters: (int depth, UndirectedGraph graph, RegularNode predecessor, Rectangle boundingBox)
focal_class.return: void
focal_class.signature: void growTree(int depth, UndirectedGraph graph, RegularNode predecessor, Rectangle boundingBox)
focal_class.class_method_signature: Graphs.buildRandomGraph(int numberOfNodes, double edgeProbability)
focal_class.full_signature: public static UndirectedGraph buildRandomGraph(int numberOfNodes, double edgeProbability)
focal_class.identifier: buildRandomGraph
focal_class.modifiers: public static
focal_class.parameters: (int numberOfNodes, double edgeProbability)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildRandomGraph(int numberOfNodes, double edgeProbability)
focal_class.class_method_signature: Graphs.buildRandomGraph(int numberOfNodes, double edgeProbability, Rectangle boundingBox)
focal_class.full_signature: public static UndirectedGraph buildRandomGraph(int numberOfNodes, double edgeProbability, Rectangle boundingBox)
focal_class.identifier: buildRandomGraph
focal_class.modifiers: public static
focal_class.parameters: (int numberOfNodes, double edgeProbability, Rectangle boundingBox)
focal_class.return: UndirectedGraph
focal_class.signature: UndirectedGraph buildRandomGraph(int numberOfNodes, double edgeProbability, Rectangle boundingBox)
focal_class.class_method_signature: Graphs.buildGridGraph(int columns, int rows)
focal_class.full_signature: public static GridGraph buildGridGraph(int columns, int rows)
focal_class.identifier: buildGridGraph
focal_class.modifiers: public static
focal_class.parameters: (int columns, int rows)
focal_class.return: GridGraph
focal_class.signature: GridGraph buildGridGraph(int columns, int rows)
focal_class.class_method_signature: Graphs.buildGridGraph(int columns, int rows, Rectangle boundingBox)
focal_class.full_signature: public static GridGraph buildGridGraph(int columns, int rows, Rectangle boundingBox)
focal_class.identifier: buildGridGraph
focal_class.modifiers: public static
focal_class.parameters: (int columns, int rows, Rectangle boundingBox)
focal_class.return: GridGraph
focal_class.signature: GridGraph buildGridGraph(int columns, int rows, Rectangle boundingBox)
focal_class.class_method_signature: Graphs.convertTreeToGraph(BinaryTree<ContentType> tree)
focal_class.full_signature: public static GenericGraph<ContentType> convertTreeToGraph(BinaryTree<ContentType> tree)
focal_class.identifier: convertTreeToGraph
focal_class.modifiers: public static
focal_class.parameters: (BinaryTree<ContentType> tree)
focal_class.return: GenericGraph<ContentType>
focal_class.signature: GenericGraph<ContentType> convertTreeToGraph(BinaryTree<ContentType> tree)
focal_class.class_method_signature: Graphs.traverseNode(GenericGraph<ContentType> graph,
                                                     GenericNode<ContentType> source, BinaryTreeNode<ContentType> treeNode)
focal_class.full_signature: private static void traverseNode(GenericGraph<ContentType> graph,
                                                     GenericNode<ContentType> source, BinaryTreeNode<ContentType> treeNode)
focal_class.identifier: traverseNode
focal_class.modifiers: private static
focal_class.parameters: (GenericGraph<ContentType> graph,
                                                     GenericNode<ContentType> source, BinaryTreeNode<ContentType> treeNode)
focal_class.return: void
focal_class.signature: void traverseNode(GenericGraph<ContentType> graph,
                                                     GenericNode<ContentType> source, BinaryTreeNode<ContentType> treeNode)
focal_class.class_method_signature: Graphs.convertNode(BinaryTreeNode<ContentType> treeNode,
                                                                        GenericGraph<ContentType> graph)
focal_class.full_signature: private static GenericNode<ContentType> convertNode(BinaryTreeNode<ContentType> treeNode,
                                                                        GenericGraph<ContentType> graph)
focal_class.identifier: convertNode
focal_class.modifiers: private static
focal_class.parameters: (BinaryTreeNode<ContentType> treeNode,
                                                                        GenericGraph<ContentType> graph)
focal_class.return: GenericNode<ContentType>
focal_class.signature: GenericNode<ContentType> convertNode(BinaryTreeNode<ContentType> treeNode,
                                                                        GenericGraph<ContentType> graph)
focal_class.class_method_signature: Graphs.findDisconnectedSubgraphs(GraphType graph)
focal_class.full_signature: public static List<GraphType> findDisconnectedSubgraphs(GraphType graph)
focal_class.identifier: findDisconnectedSubgraphs
focal_class.modifiers: public static
focal_class.parameters: (GraphType graph)
focal_class.return: List<GraphType>
focal_class.signature: List<GraphType> findDisconnectedSubgraphs(GraphType graph)
focal_class.class_method_signature: Graphs.modularProduct(
              GraphType graph1, GraphType graph2)
focal_class.full_signature: public static GenericGraph<Pair<NodeType>> modularProduct(
              GraphType graph1, GraphType graph2)
focal_class.identifier: modularProduct
focal_class.modifiers: public static
focal_class.parameters: (
              GraphType graph1, GraphType graph2)
focal_class.return: GenericGraph<Pair<NodeType>>
focal_class.signature: GenericGraph<Pair<NodeType>> modularProduct(
              GraphType graph1, GraphType graph2)
focal_class.class_method_signature: Graphs.modularProduct(
              GraphType graph1, GraphType graph2, BiFunction<NodeType, NodeType, Boolean> nodeCondition,
              BiFunction<EdgeType, EdgeType, Boolean> edgeCondition)
focal_class.full_signature: public static GenericGraph<Pair<NodeType>> modularProduct(
              GraphType graph1, GraphType graph2, BiFunction<NodeType, NodeType, Boolean> nodeCondition,
              BiFunction<EdgeType, EdgeType, Boolean> edgeCondition)
focal_class.identifier: modularProduct
focal_class.modifiers: public static
focal_class.parameters: (
              GraphType graph1, GraphType graph2, BiFunction<NodeType, NodeType, Boolean> nodeCondition,
              BiFunction<EdgeType, EdgeType, Boolean> edgeCondition)
focal_class.return: GenericGraph<Pair<NodeType>>
focal_class.signature: GenericGraph<Pair<NodeType>> modularProduct(
              GraphType graph1, GraphType graph2, BiFunction<NodeType, NodeType, Boolean> nodeCondition,
              BiFunction<EdgeType, EdgeType, Boolean> edgeCondition)
focal_class.class_method_signature: Graphs.copy(GraphType graph)
focal_class.full_signature: public static GraphType copy(GraphType graph)
focal_class.identifier: copy
focal_class.modifiers: public static
focal_class.parameters: (GraphType graph)
focal_class.return: GraphType
focal_class.signature: GraphType copy(GraphType graph)
focal_method.body: public static <NodeType extends Node<NodeType, VectorType, IdentifierType>,
              EdgeType extends Edge<NodeType>, VectorType extends Vector, IdentifierType,
              GraphType extends Graph<NodeType, EdgeType, IdentifierType>> GenericGraph<Pair<NodeType>> modularProduct(
              GraphType graph1, GraphType graph2) {
          return modularProduct(graph1, graph2, (n1, n2) -> true, (e1, e2) -> true);
      }
focal_method.class_method_signature: Graphs.modularProduct(
              GraphType graph1, GraphType graph2)
focal_method.full_signature: public static GenericGraph<Pair<NodeType>> modularProduct(
              GraphType graph1, GraphType graph2)
focal_method.identifier: modularProduct
focal_method.invocations: modularProduct
focal_method.modifiers: public static
focal_method.parameters: (
              GraphType graph1, GraphType graph2)
focal_method.return: GenericGraph<Pair<NodeType>>
focal_method.signature: GenericGraph<Pair<NodeType>> modularProduct(
              GraphType graph1, GraphType graph2)