private List<EdgeId> getEdges() { return IntStream.range(0, 10).mapToObj(i -> { return new Edge.Builder() .group(TestGroups.EDGE) .source(i) .dest(i + 1) .build(); }).collect(toList()); }
@Test public void shouldSwapVerticesIfSourceIsGreaterThanDestination_comparable() { // Given final Edge edge = new Edge.Builder().group(TestGroups.EDGE) .directed(false) .source(new Integer(2)) .dest(new Integer(1)) .build(); // Then assertThat(edge.getSource(), equalTo(new Integer(1))); assertThat(edge.getDestination(), equalTo(new Integer(2))); }
@Test public void shouldNotSwapVerticesIfSourceIsLessThanDestination_comparable() { // Given final Edge edge = new Edge.Builder().group(TestGroups.EDGE) .directed(false) .source(new Integer(1)) .dest(new Integer(2)) .build(); // Then assertThat(edge.getSource(), equalTo(new Integer(1))); assertThat(edge.getDestination(), equalTo(new Integer(2))); }
@Test public void shouldReturnFalseForEqualsWhenSourceIsDifferent() { // Given final Edge edge1 = new Edge.Builder() .group("group") .source("source vertex") .dest("dest vertex") .directed(true) .build(); final Edge edge2 = new Edge.Builder() .group(edge1.getGroup()) .source("different source") .dest(edge1.getDestination()) .directed(edge1.isDirected()) .build(); // When boolean isEqual = edge1.equals((Object) edge2); // Then assertFalse(isEqual); assertFalse(edge1.hashCode() == edge2.hashCode()); }
@Test public void shouldCloneEdge() { // Given final String source = "source vertex"; final String destination = "dest vertex"; final boolean directed = true; // When final Edge edge = new Edge.Builder() .group(TestGroups.EDGE) .source(source) .dest(destination) .directed(directed) .build(); final Edge clone = edge.emptyClone(); // Then assertEquals(edge, clone); }
@Test public void shouldSetAndGetIdentifiersWithMatchedSource() { // Given final Edge edge = new Edge.Builder() .group("group") .source("source vertex") .dest("destination vertex") .directed(true) .matchedVertex(EdgeId.MatchedVertex.SOURCE) .build(); // When/Then assertEquals("source vertex", edge.getMatchedVertexValue()); assertEquals("source vertex", edge.getIdentifier(IdentifierType.MATCHED_VERTEX)); assertEquals("destination vertex", edge.getAdjacentMatchedVertexValue()); assertEquals("destination vertex", edge.getIdentifier(IdentifierType.ADJACENT_MATCHED_VERTEX)); assertTrue(edge.isDirected()); }
@Test public void shouldReturnTrueForShallowEqualsWhenAllCoreFieldsAreEqual() { // Given final Edge edge1 = new Edge.Builder() .group("group") .source("source vertex") .dest("dest vertex") .directed(true) .property("some property", "some value") .build(); final Edge edge2 = cloneCoreFields(edge1); edge2.putProperty("some different property", "some other value"); // When boolean isEqual = edge1.shallowEquals((Object) edge2); // Then assertTrue(isEqual); }
@Test public void shouldSetAndGetIdentifiersWithMatchedSourceIsNull() { // Given final Edge edge = new Edge.Builder() .group("group") .source("source vertex") .dest("destination vertex") .directed(true) .matchedVertex(null) .build(); // When/Then assertEquals("source vertex", edge.getMatchedVertexValue()); assertEquals("source vertex", edge.getIdentifier(IdentifierType.MATCHED_VERTEX)); assertEquals("destination vertex", edge.getIdentifier(IdentifierType.ADJACENT_MATCHED_VERTEX)); assertEquals("destination vertex", edge.getIdentifier(IdentifierType.ADJACENT_MATCHED_VERTEX)); assertTrue(edge.isDirected()); }
@Test public void shouldReturnGroupFromEdge() { // Given final ExtractGroup function = new ExtractGroup(); final String group = "testGroup"; final Edge edge = new Edge.Builder() .source("src") .dest("dest") .directed(true) .group(group) .build(); // When final String result = function.apply(edge); // Then assertEquals(group, result); }
@Override @Test public void shouldReturnTrueForEqualsWithTheSameInstance() { // Given final Edge edge = new Edge.Builder() .group("group") .source("source vertex") .dest("dest vertex") .directed(true) .build(); // When boolean isEqual = edge.equals(edge); // Then assertTrue(isEqual); assertEquals(edge.hashCode(), edge.hashCode()); }
@Test public void shouldReturnFalseForEqualsWhenPropertyIsDifferent() { // Given final Edge edge1 = new Edge.Builder() .group("group") .source("source vertex") .dest("dest vertex") .directed(true) .property("some property", "some value") .build(); final Edge edge2 = cloneCoreFields(edge1); edge2.putProperty("some property", "some other value"); // When boolean isEqual = edge1.equals((Object) edge2); // Then assertFalse(isEqual); assertNotEquals(edge1.hashCode(), edge2.hashCode()); }
@Override @Test public void shouldReturnTrueForEqualsWhenAllCoreFieldsAreEqual() { final Edge edge1 = new Edge.Builder() .group("group") .source("source vertex") .dest("dest vertex") .directed(true) .property("some property", "some value") .build(); final Edge edge2 = cloneCoreFields(edge1); edge2.putProperty("some property", "some value"); // When boolean isEqual = edge1.equals((Object) edge2); // Then assertTrue(isEqual); assertEquals(edge1.hashCode(), edge2.hashCode()); }
@Override @Test public void shouldSetAndGetFields() { // Given final Edge edge = new Edge.Builder() .group("group") .source("source vertex") .dest("destination vertex") .directed(true) .build(); // When/Then assertEquals("group", edge.getGroup()); assertEquals("source vertex", edge.getSource()); assertEquals("destination vertex", edge.getDestination()); assertTrue(edge.isDirected()); }
@Test public void shouldSetAndGetIdentifiersWithMatchedDestination() { // Given final Edge edge = new Edge.Builder() .group("group") .source("source vertex") .dest("destination vertex") .directed(true) .matchedVertex(EdgeId.MatchedVertex.DESTINATION) .build(); // When/Then assertEquals("destination vertex", edge.getMatchedVertexValue()); assertEquals("destination vertex", edge.getIdentifier(IdentifierType.MATCHED_VERTEX)); assertEquals("source vertex", edge.getIdentifier(IdentifierType.ADJACENT_MATCHED_VERTEX)); assertEquals("source vertex", edge.getAdjacentMatchedVertexValue()); assertTrue(edge.isDirected()); }
private Edge makeEdge(final Object source, final Object destination) { return new Edge.Builder().group(TestGroups.EDGE).source(source).dest(destination).directed(true).build(); } }
private Edge makeEdge(final String group, final Object source, final Object destination) { return new Edge.Builder().group(TestGroups.EDGE).source(source).dest(destination).directed(true).build(); } }
public static Edge getBasicEdge(final Object source, final Object destination) { return new Edge.Builder() .source(source) .dest(destination) .group(TestGroups.EDGE) .directed(true) .build(); }
private Edge cloneCoreFields(final Edge edge) { return new Edge.Builder() .group(edge.getGroup()) .source(edge.getSource()) .dest(edge.getDestination()) .directed(edge.isDirected()) .build(); }
@Test public void shouldNotSwapVerticesIfSourceIsLessThanDestination_toString() { // Given final Edge edge = new Edge.Builder().group(TestGroups.EDGE) .directed(false) .source(new Vertex("1")) .dest(new Vertex("2")) .build(); // Then assertThat(edge.getSource(), equalTo(new Vertex("1"))); assertThat(edge.getDestination(), equalTo(new Vertex("2"))); }
@Test public void shouldSwapVerticesIfSourceIsGreaterThanDestination_toString() { // Given final Edge edge = new Edge.Builder().group(TestGroups.EDGE) .directed(false) .source(new Vertex("2")) .dest(new Vertex("1")) .build(); // Then assertThat(edge.getSource(), equalTo(new Vertex("1"))); assertThat(edge.getDestination(), equalTo(new Vertex("2"))); }