GpsTracePoint implements JsonRenderable { @Override public boolean equals(@Nullable final Object obj) { boolean eq; if (this == obj) { eq = true; } else if ((obj != null) && (obj instanceof GpsTracePoint)) { final GpsTracePoint that = (GpsTracePoint) obj; eq = that.canEqual(this); eq = eq && time.equals(that.time); eq = eq && position.equals(that.position); } else { eq = false; } return eq; } GpsTracePoint(
            @Nonnull final DateTime time,
            @Nonnull final GeoPoint position); @SuppressWarnings("ConstantConditions") @Deprecated private  GpsTracePoint(); @Nonnull DateTime getTime(); @Nonnull GeoPoint getPosition(); @Nonnull GpsTracePoint withTime(@Nonnull final DateTime time); @Nonnull GpsTracePoint withPosition(@Nonnull final GeoPoint position); boolean canEqual(@Nonnull final Object obj); @Override boolean equals(@Nullable final Object obj); @Override int hashCode(); @Override String toJson(); @Override String toString();  }
@Test public void testEquals() { LOG.info("testEquals"); final GpsTracePoint s = y.withTime(x1).withPosition(x2); final GpsTracePoint t = x.withTime(y1).withPosition(y2); Assert.assertTrue(x.equals(s)); Assert.assertTrue(y.equals(t)); Assert.assertFalse(x.equals(t)); Assert.assertFalse(y.equals(s)); }