static void assertSeedlessHashFunctionEquals(Class<?> clazz) throws Exception { for (Method method : clazz.getDeclaredMethods()) { if (method.getReturnType().equals(HashFunction.class) // must return HashFunction && Modifier.isPublic(method.getModifiers()) // only the public methods && method.getParameterTypes().length == 0) { // only the seed-less hash functions HashFunction hashFunction1a = (HashFunction) method.invoke(clazz); HashFunction hashFunction1b = (HashFunction) method.invoke(clazz); new EqualsTester().addEqualityGroup(hashFunction1a, hashFunction1b).testEquals(); // Make sure we're returning not only equal instances, but constants. assertSame(hashFunction1a, hashFunction1b); assertEquals(hashFunction1a.toString(), hashFunction1b.toString()); } } }
static void assertSeedlessHashFunctionEquals(Class<?> clazz) throws Exception { for (Method method : clazz.getDeclaredMethods()) { if (method.getReturnType().equals(HashFunction.class) // must return HashFunction && Modifier.isPublic(method.getModifiers()) // only the public methods && method.getParameterTypes().length == 0) { // only the seed-less hash functions HashFunction hashFunction1a = (HashFunction) method.invoke(clazz); HashFunction hashFunction1b = (HashFunction) method.invoke(clazz); new EqualsTester() .addEqualityGroup(hashFunction1a, hashFunction1b) .testEquals(); // Make sure we're returning not only equal instances, but constants. assertSame(hashFunction1a, hashFunction1b); assertEquals(hashFunction1a.toString(), hashFunction1b.toString()); } } }