Set extends Value { @Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof Set)) { return false; } Set that = (Set) other; return Objects.equals(set, that.getSet()); } Set();  Set(java.util.Set<Atom> set); static Set of(Object... elements); static Set of(Atom... elements); static Set of(java.util.Set<T> set); java.util.Set<Atom> getSet(); @Override boolean equals(Object other); @Override int hashCode(); @Override String toString(); final String setString; }
@Test public void testEquals() { new EqualsTester() .addEqualityGroup(new Set(), new Set(Collections.emptySet())) .addEqualityGroup(set, Set.of(ImmutableSet.of("string1", "string2"))) .testEquals(); java.util.Set<String> nullSet = null; assertNull(Set.of(nullSet)); }