WritableTypeInfo extends TypeInformation<T> implements AtomicType<T> { @Override public int hashCode() { return typeClass.hashCode(); } @PublicEvolving  WritableTypeInfo(Class<T> typeClass); @SuppressWarnings({ "rawtypes", "unchecked" }) @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 equals(Object obj); @Override boolean canEqual(Object obj);  }
@Test public void testWritableTypeInfoEquality() { WritableTypeInfo<TestClass> tpeInfo1 = new WritableTypeInfo<>(TestClass.class); WritableTypeInfo<TestClass> tpeInfo2 = new WritableTypeInfo<>(TestClass.class); assertEquals(tpeInfo1, tpeInfo2); assertEquals(tpeInfo1.hashCode(), tpeInfo2.hashCode()); }