@Override public boolean equals(final Object element) { return edge.equals(element); }
/** * Note this does not include the matchedVertex field. * * @param obj the reference object with which to compare. * @return {@code true} if this object is the same as the obj * argument; {@code false} otherwise. */ @Override public boolean equals(final Object obj) { return null != obj && (obj instanceof Edge) && equals((Edge) obj); }
@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()); }
@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()); }
@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()); }
@Test public void shouldReturnTrueForEqualsWhenUndirectedIdentifiersFlipped() { // Given final Edge edge1 = new Edge.Builder() .group("group") .source("source vertex") .dest("dest vertex") .directed(false) .build(); // Given final Edge edge2 = new Edge.Builder() .group("group") .source("dest vertex") .dest("source vertex") .directed(false) .build(); // When boolean isEqual = edge1.equals((Object) edge2); // Then assertTrue(isEqual); assertTrue(edge1.hashCode() == edge2.hashCode()); }
@Test public void shouldReturnFalseForEqualsWhenDirectedIdentifiersFlipped() { // Given final Edge edge1 = new Edge.Builder() .group("group") .source("source vertex") .dest("dest vertex") .directed(true) .build(); // Given final Edge edge2 = new Edge.Builder() .group("group") .source("dest vertex") .dest("source vertex") .directed(true) .build(); // When boolean isEqual = edge1.equals((Object) edge2); // Then assertFalse(isEqual); assertFalse(edge1.hashCode() == edge2.hashCode()); }
@Test public void shouldReturnFalseForEqualsWhenDestinationIsDifferent() { // 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(edge1.getSource()) .dest("different destination") .directed(edge1.isDirected()) .build(); // When boolean isEqual = edge1.equals((Object) edge2); // Then assertFalse(isEqual); assertFalse(edge1.hashCode() == edge2.hashCode()); }
@Override @Test public void shouldReturnFalseForEqualsWhenGroupIsDifferent() { // 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("a different group") .source(edge1.getSource()) .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 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 shouldReturnFalseForEqualsWhenDirectedIsDifferent() { // 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(edge1.getSource()) .dest(edge1.getDestination()) .directed(!edge1.isDirected()) .build(); // When boolean isEqual = edge1.equals((Object) edge2); // Then assertFalse(isEqual); assertFalse(edge1.hashCode() == edge2.hashCode()); }
/** * Note this does not include the matchedVertex field. * * @param obj the reference object with which to compare. * @return {@code true} if this object is the same as the obj * argument; {@code false} otherwise. */ @Override public boolean equals(final Object obj) { return null != obj && (obj instanceof Edge) && equals((Edge) obj); }
@Override public boolean equals(final Object element) { return edge.equals(element); }
if(!edges.add(newEdge)){ Iterator<Edge> iter = edges.iterator(); while(iter.hasNext()){ Edge edge = iter.next(); if(edge.equals(newEdge)){ edge.updateWeight(newEdge.getWeight()); //this.weight+=moreWeight } } }
Edge e0 = new Edge("edge0"); Edge e1 = new Edge("edge0"); System.out.println(e0.equals(e1)); // prints "false"