Device implements Identifiable, Serializable { @Override public int hashCode() { return hash; } Device(@Nonnull final String name, @Nonnegative final int id, @Nonnull final Category category, @Nonnull final String icon,
			@Nonnull final String infoUrl, @Nonnull final SortedSet<DevicePattern> patterns); @Override boolean equals(final Object obj); @Nonnull Category getCategory(); @Nonnull String getIcon(); @Override @Nonnegative int getId(); @Nonnull String getInfoUrl(); @Nonnull String getName(); @Nonnull SortedSet<DevicePattern> getPatterns(); @Override int hashCode(); @Override String toString();  }
@Test public void equals_identical() { final Device a = new Blueprint().build(); final Device b = new Blueprint().build(); assertThat(b).isEqualTo(a); assertThat(a.hashCode() == b.hashCode()).isTrue(); }
@Test public void equals_same() { final Device a = new Blueprint().build(); assertThat(a).isEqualTo(a); assertThat(a).isSameAs(a); assertThat(a.hashCode() == a.hashCode()).isTrue(); }