11package denoptim.graph;
13import static org.junit.jupiter.api.Assertions.assertEquals;
14import static org.junit.jupiter.api.Assertions.assertFalse;
15import static org.junit.jupiter.api.Assertions.assertTrue;
17import java.util.ArrayList;
18import java.util.Arrays;
20import java.util.logging.Logger;
22import org.junit.jupiter.api.BeforeEach;
23import org.junit.jupiter.api.Test;
25import denoptim.exception.DENOPTIMException;
26import denoptim.graph.Vertex.BBType;
27import denoptim.graph.Vertex.VertexType;
63 null,
null,
null,
null);
77 null,
null,
null,
null,
null);
94 assertFalse(byType.
matches(v2));
113 assertFalse(query.
matches(v2));
114 assertFalse(query.
matches(v7));
118 assertFalse(query.
matches(v1));
119 assertFalse(query.
matches(v2));
134 null, incoming,
null);
137 assertFalse(query.
matches(v1));
138 assertFalse(query.
matches(v2));
157 assertFalse(query.
matches(v4));
175 null, incoming, outgoing);
178 assertFalse(query.
matches(v1));
179 assertFalse(query.
matches(v4));
199 Arrays.asList(apClB1, apIdx),
null,
null);
202 assertFalse(query.
matches(v2));
203 assertFalse(query.
matches(v4));
213 null,
null, emptyEdgeQuery, emptyEdgeQuery);
215 List<Vertex> matched =
new ArrayList<>();
224 assertEquals(2, matched.size());
233 null, 0,
null,
null,
null);
234 Logger logger = Logger.getLogger(
"test");
237 List<Vertex> fromMatches =
new ArrayList<>();
246 assertEquals(2, fromFind.size());
247 assertEquals(2, fromMatches.size());
249 assertTrue(fromMatches.containsAll(fromFind));
250 assertTrue(fromFind.containsAll(fromMatches));
static APClass make(String ruleAndSubclass)
Creates an APClass if it does not exist already, or returns the reference to the existing instance.
Query for searching AttachmentPoints.
Container for the list of vertices and the edges that connect them.
List< Vertex > findVertices(VertexQuery vrtxQuery, Logger logger)
Filters a list of vertices according to a query.
Vertex getVertexAtPosition(int pos)
Returns the vertex that is in the given position of the list of vertices belonging to this graph.
List< Vertex > getVertexList()
Returns the list of vertexes without entering Templates.
Unit test for DENOPTIMGraph.
static DGraph makeTestGraphA2()
Build a graph meant to be used in unit tests.
A query for edges: a list of properties that target edges should possess in order to match this query...
A vertex is a data structure that has an identity and holds a list of AttachmentPoints.
Query for searching vertices.
boolean matches(Vertex v)
Tests whether the given vertex satisfies all non-null criteria in this query.
Unit tests for VertexQuery#matches(Vertex).
void testMatchesAllNullCriteria()
void testEmptyEdgeQueryFiltersVertices()
void testMatchesVertexType()
void testMatchesIncomingAndOutgoingEdgeQueries()
void testMatchesBuildingBlockTypeAndId()
void testMatchesAttachmentPointQueries()
void testMatchesOutgoingEdgeQuery()
void testMatchesIncomingEdgeQuery()
void testMatchesVertexId()
void testFindVerticesUsesMatches()
The type of building block.
Flag declaring the type of Vertex implementation.