### Question:
Quintuple extends Quadruple<R, S, T, U> implements Fifth<V>,
                   MappableFifth<V, Quintuple<R, S, T, U, ?>> { public static <R, S, T, U, V> Quintuple<R, S, T, U, V> quintuple(R first, S second, T third, U fourth, V fifth) { return new Quintuple<R, S, T, U, V>(first, second, third, fourth, fifth); } Quintuple(R first, S second, T third, U fourth, V fifth); static Quintuple<R, S, T, U, V> quintuple(R first, S second, T third, U fourth, V fifth); @Override V getFifth(); @Override Quintuple<A, S, T, U, V> mapFirst(UnaryFunction<R, A> function); @Override Quintuple<R, A, T, U, V> mapSecond(UnaryFunction<S, A> function); @Override Quintuple<R, S, A, U, V> mapThird(UnaryFunction<T, A> function); @Override Quintuple<R, S, T, A, V> mapFourth(UnaryFunction<U, A> function); @Override Quintuple<R, S, T, U, A> mapFifth(UnaryFunction<V, A> function); @Override Iterable<Object> getValues();  }### Answer:
@Test public void shouldConstructAQuintupleWithTheSpecifiedValues() throws Exception { String first = "5"; Integer second = 4; Long third = 5L; Character fourth = 'a'; Boolean fifth = true; Quintuple<String, Integer, Long, Character, Boolean> expected = new Quintuple<String, Integer, Long, Character, Boolean>(first, second, third, fourth, fifth); Quintuple<String, Integer, Long, Character, Boolean> actual = quintuple(first, second, third, fourth, fifth); assertThat(actual, is(expected)); }