### Question:
Ordinal implements Comparable<Ordinal> { @Override public boolean equals(Object obj) { if (obj instanceof Ordinal) { return num == ((Ordinal) obj).num; } return false; } private  Ordinal(int num); static Ordinal first(); static Stream<Ordinal> natural(); static Ordinal of(int oneBased); static Ordinal fromIndex(int zeroBased); int toIndex(); Ordinal next(); @Override int compareTo(Ordinal that); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void testEquals() { new EqualsTester() .addEqualityGroup(Ordinal.of(1), Ordinal.of(1)) .addEqualityGroup(Ordinal.of(12), Ordinal.of(12)) .addEqualityGroup(12) .testEquals(); }