### Question:
Sextuple extends Quintuple<R, S, T, U, V> implements Sixth<W>,
                   MappableSixth<W, Sextuple<R, S, T, U, V, ?>> { public static <R, S, T, U, V, W> Sextuple<R, S, T, U, V, W> sextuple(R first, S second, T third, U fourth, V fifth, W sixth) { return new Sextuple<R, S, T, U, V, W>(first, second, third, fourth, fifth, sixth); } Sextuple(R first, S second, T third, U fourth, V fifth, W sixth); static Sextuple<R, S, T, U, V, W> sextuple(R first, S second, T third, U fourth, V fifth, W sixth); @Override W getSixth(); @Override Sextuple<A, S, T, U, V, W> mapFirst(UnaryFunction<R, A> function); @Override Sextuple<R, A, T, U, V, W> mapSecond(UnaryFunction<S, A> function); @Override Sextuple<R, S, A, U, V, W> mapThird(UnaryFunction<T, A> function); @Override Sextuple<R, S, T, A, V, W> mapFourth(UnaryFunction<U, A> function); @Override Sextuple<R, S, T, U, A, W> mapFifth(UnaryFunction<V, A> function); @Override Sextuple<R, S, T, U, V, A> mapSixth(UnaryFunction<W, A> function); @Override Iterable<Object> getValues();  }### Answer:
@Test public void shouldConstructASextupleWithTheSpecifiedValues() throws Exception { String first = "5"; Integer second = 4; Long third = 5L; Character fourth = 'a'; Boolean fifth = true; Double sixth = 3.6; Sextuple<String, Integer, Long, Character, Boolean, Double> expected = new Sextuple<String, Integer, Long, Character, Boolean, Double>(first, second, third, fourth, fifth, sixth); Sextuple<String, Integer, Long, Character, Boolean, Double> actual = sextuple(first, second, third, fourth, fifth, sixth); assertThat(actual, is(expected)); }