@Test public void equals_different_ANNOTATIONS() { final Attribute a = new Blueprint().annotations(Lists.newArrayList(Annotation.of(Nonnull.class))).build(); final Attribute b = new Blueprint().annotations(Lists.newArrayList(Annotation.of(Nullable.class))).build(); assertFalse(a.equals(b)); assertFalse(a.hashCode() == b.hashCode()); }
private static final class Blueprint { private List<Annotation> annotations = Lists.newArrayList(); private Final final1 = Final.UNDEFINED; private String name = "attribute"; private Type type = Type.BOOLEAN; public Blueprint() { // default constructor } public Blueprint annotations(final List<Annotation> annotations) { this.annotations = annotations; return this; } @Nonnull public Attribute build() { return new Attribute(name, type, final1, annotations); } public Blueprint final1(final Final final1) { this.final1 = final1; return this; } public Blueprint name(final String name) { this.name = name; return this; } public Blueprint type(final Type type) { this.type = type; return this; } }