### Question:
DrmInitData implements Comparator<SchemeData>, Parcelable { @Override public boolean equals(@Nullable Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } DrmInitData other = (DrmInitData) obj; return Util.areEqual(schemeType, other.schemeType) && Arrays.equals(schemeDatas, other.schemeDatas); } DrmInitData(List<SchemeData> schemeDatas);  DrmInitData(@Nullable String schemeType, List<SchemeData> schemeDatas);  DrmInitData(SchemeData... schemeDatas);  DrmInitData(@Nullable String schemeType, SchemeData... schemeDatas); private  DrmInitData(@Nullable String schemeType, boolean cloneSchemeDatas,
      SchemeData... schemeDatas);   DrmInitData(Parcel in); static @Nullable DrmInitData createSessionCreationData(
      @Nullable DrmInitData manifestData, @Nullable DrmInitData mediaData); @Deprecated @Nullable SchemeData get(UUID uuid); SchemeData get(int index); DrmInitData copyWithSchemeType(@Nullable String schemeType); DrmInitData merge(DrmInitData drmInitData); @Override int hashCode(); @Override boolean equals(@Nullable Object obj); @Override int compare(SchemeData first, SchemeData second); @Override int describeContents(); @Override void writeToParcel(Parcel dest, int flags); final @Nullable String schemeType; final int schemeDataCount; static final Parcelable.Creator<DrmInitData> CREATOR; }### Answer:
@Test public void testEquals() { DrmInitData drmInitData = new DrmInitData(DATA_1, DATA_2); DrmInitData testInitData = new DrmInitData(DATA_1, DATA_2); assertThat(testInitData).isEqualTo(drmInitData); assertThat(testInitData.hashCode()).isEqualTo(drmInitData.hashCode()); testInitData = new DrmInitData(DATA_1B, DATA_2B); assertThat(testInitData).isEqualTo(drmInitData); assertThat(testInitData.hashCode()).isEqualTo(drmInitData.hashCode()); testInitData = new DrmInitData(DATA_2, DATA_1); assertThat(testInitData).isEqualTo(drmInitData); assertThat(testInitData.hashCode()).isEqualTo(drmInitData.hashCode()); testInitData = new DrmInitData(DATA_2B, DATA_1B); assertThat(testInitData).isEqualTo(drmInitData); assertThat(testInitData.hashCode()).isEqualTo(drmInitData.hashCode()); testInitData = new DrmInitData(DATA_1); assertThat(drmInitData).isNotEqualTo(testInitData); testInitData = new DrmInitData(DATA_1, DATA_UNIVERSAL); assertThat(testInitData).isNotEqualTo(drmInitData); }