### Question:
Tuple8 extends Tuple7<T1, T2, T3, T4, T5, T6, T7> implements Tuple { @Override public int hashCode() { return Objects.hash(super.hashCode(), item8); } Tuple8(T1 a, T2 b, T3 c, T4 d, T5 e, T6 f, T7 g, T8 h); static Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> of(T1 a, T2 b, T3 c, T4 d, T5 e, T6 f, //NOSONAR
            T7 g, T8 h); T8 getItem8(); @Override Tuple8<T, T2, T3, T4, T5, T6, T7, T8> mapItem1(Function<T1, T> mapper); @Override Tuple8<T1, T, T3, T4, T5, T6, T7, T8> mapItem2(Function<T2, T> mapper); @Override Tuple8<T1, T2, T, T4, T5, T6, T7, T8> mapItem3(Function<T3, T> mapper); @Override Tuple8<T1, T2, T3, T, T5, T6, T7, T8> mapItem4(Function<T4, T> mapper); @Override Tuple8<T1, T2, T3, T4, T, T6, T7, T8> mapItem5(Function<T5, T> mapper); @Override Tuple8<T1, T2, T3, T4, T5, T, T7, T8> mapItem6(Function<T6, T> mapper); @Override Tuple8<T1, T2, T3, T4, T5, T6, T, T8> mapItem7(Function<T7, T> mapper); Tuple8<T1, T2, T3, T4, T5, T6, T7, T> mapItem8(Function<T8, T> mapper); @Override Object nth(int index); @Override List<Object> asList(); @Override int size(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testHashCode() { Tuple8<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> same = Tuple8 .of(1, 2, 3, 4, 5, 6, 7, 8); Tuple8<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> different = Tuple8 .of(1, 2, 1, 4, 6, 7, 8, 10); assertThat(someTuple.hashCode()) .isEqualTo(same.hashCode()) .isNotEqualTo(different.hashCode()); }