Load implements Serializable { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Load load = (Load) o; if (failoverDb != load.failoverDb) return false; if (mainDb != load.mainDb) return false; if (mainDbLoadHigher != null ? !mainDbLoadHigher.equals(load.mainDbLoadHigher) : load.mainDbLoadHigher != null) return false; return true; } private  Load(LoadLevel mainDb, LoadLevel failoverDb, Boolean mainDbLoadHigher);  Load(LoadLevel mainDb, LoadLevel failoverDb);  Load(LoadLevel loadLevel, boolean mainDbLoadHigher);  Load(LoadLevel loadLevel); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); LoadLevel getFailoverDb(); LoadLevel getMainDb(); Boolean isMainDbLoadHigher(); boolean canBeGeneralized(); Load generalize(); LoadLevel getLoadLevel(boolean failover);  }
@Test public void shouldNotBeEqual() { Assert.assertFalse(new Load(low, medium).equals(new Load(low, high))); Assert.assertFalse(new Load(low, medium).equals(new Load(high, medium))); Assert.assertFalse(new Load(medium, true).equals(new Load(high, true))); Assert.assertFalse(new Load(medium, true).equals(new Load(medium, false))); Assert.assertFalse(new Load(high).equals(new Load(medium))); }