EnumTypeInfo extends TypeInformation<T> implements AtomicType<T> { @Override public int hashCode() { return typeClass.hashCode(); } @PublicEvolving  EnumTypeInfo(Class<T> typeClass); @Override @PublicEvolving TypeComparator<T> createComparator(boolean sortOrderAscending, ExecutionConfig executionConfig); @Override @PublicEvolving boolean isBasicType(); @Override @PublicEvolving boolean isTupleType(); @Override @PublicEvolving int getArity(); @Override @PublicEvolving int getTotalFields(); @Override @PublicEvolving Class<T> getTypeClass(); @Override @PublicEvolving boolean isKeyType(); @Override @PublicEvolving TypeSerializer<T> createSerializer(ExecutionConfig executionConfig); @Override String toString(); @Override int hashCode(); @Override boolean canEqual(Object obj); @Override boolean equals(Object obj);  }
@Test public void testEnumTypeEquality() { EnumTypeInfo<TestEnum> enumTypeInfo1 = new EnumTypeInfo<TestEnum>(TestEnum.class); EnumTypeInfo<TestEnum> enumTypeInfo2 = new EnumTypeInfo<TestEnum>(TestEnum.class); assertEquals(enumTypeInfo1, enumTypeInfo2); assertEquals(enumTypeInfo1.hashCode(), enumTypeInfo2.hashCode()); }