CodePoints implements Serializable { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } CodePoints that = (CodePoints) o; return set.equals(that.set); } CodePoints(Integer... codePoints);  CodePoints(String... strings);  CodePoints(Collection<Integer> codePoints);  CodePoints(CodePoints codePoints); boolean containsAll(String s); int firstExcludedCodePoint(String s); Set<Integer> allExcludedCodePoints(String s); CodePoints union(CodePoints codePoints); CodePoints subtract(CodePoints codePoints); CodePoints intersect(CodePoints codePoints); @SuppressWarnings("unchecked") static T of(Class<T> clazz); static boolean containsAllInAnyCodePoints(String s,
            final CodePoints... codePointsList); @Override boolean equals(Object o); @Override int hashCode(); static final int NOT_FOUND; }
@Test public void testEquals() { ABCD cp1 = new ABCD(); ABCD cp2 = new ABCD(); ABCD cp3 = cp1; assertThat(cp1.equals(cp2), is(true)); assertThat(cp1.equals(cp3), is(true)); }
@Test public void testEquals_different_codepoints() { CodePoints cp1 = new CodePoints("abcd"); CodePoints cp2 = new CodePoints("ABCD"); assertThat(cp1.equals(cp2), is(false)); }
@Test public void testEquals_same_codepoints_other_class() { CodePoints cp1 = new ABCD(); CodePoints cp2 = new CodePoints("ABCD"); assertThat(cp1.equals(cp2), is(false)); }
@Test public void testEqualsNull() { CodePoints cp1 = new CodePoints("ABCD"); CodePoints cp2 = null; assertThat(cp1.equals(cp2), is(false)); }