### Question:
Septuple extends Sextuple<R, S, T, U, V, W> implements Seventh<X>,
                   MappableSeventh<X, Septuple<R, S, T, U, V, W, ?>> { public static <R, S, T, U, V, W, X> Septuple<R, S, T, U, V, W, X> septuple(R first, S second, T third, U fourth, V fifth, W sixth, X seventh) { return new Septuple<R, S, T, U, V, W, X>(first, second, third, fourth, fifth, sixth, seventh); } Septuple(R first, S second, T third, U fourth, V fifth, W sixth, X seventh); static Septuple<R, S, T, U, V, W, X> septuple(R first, S second, T third, U fourth, V fifth, W sixth, X seventh); @Override X getSeventh(); @Override Septuple<A, S, T, U, V, W, X> mapFirst(UnaryFunction<R, A> function); @Override Septuple<R, A, T, U, V, W, X> mapSecond(UnaryFunction<S, A> function); @Override Septuple<R, S, A, U, V, W, X> mapThird(UnaryFunction<T, A> function); @Override Septuple<R, S, T, A, V, W, X> mapFourth(UnaryFunction<U, A> function); @Override Septuple<R, S, T, U, A, W, X> mapFifth(UnaryFunction<V, A> function); @Override Septuple<R, S, T, U, V, A, X> mapSixth(UnaryFunction<W, A> function); @Override Septuple<R, S, T, U, V, W, A> mapSeventh(UnaryFunction<X, A> function); @Override Iterable<Object> getValues();  }### Answer:
@Test public void shouldConstructASeptupleWithTheSpecifiedValues() throws Exception { String first = "5"; Integer second = 4; Long third = 5L; Character fourth = 'a'; Boolean fifth = true; Double sixth = 3.6; Name seventh = name("Anna"); Septuple<String, Integer, Long, Character, Boolean, Double, Name> expected = new Septuple<String, Integer, Long, Character, Boolean, Double, Name>( first, second, third, fourth, fifth, sixth, seventh); Septuple<String, Integer, Long, Character, Boolean, Double, Name> actual = septuple(first, second, third, fourth, fifth, sixth, seventh); assertThat(actual, is(expected)); }