### Question:
Nonuple extends Octuple<R, S, T, U, V, W, X, Y> implements Ninth<Z>,
                   MappableNinth<Z, Nonuple<R, S, T, U, V, W, X, Y, ?>> { public static <R, S, T, U, V, W, X, Y, Z> Nonuple<R, S, T, U, V, W, X, Y, Z> nonuple( R first, S second, T third, U fourth, V fifth, W sixth, X seventh, Y eighth, Z ninth) { return new Nonuple<R, S, T, U, V, W, X, Y, Z>(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth); } Nonuple(R first, S second, T third, U fourth, V fifth, W sixth, X seventh, Y eighth, Z ninth); static Nonuple<R, S, T, U, V, W, X, Y, Z> nonuple(
            R first, S second, T third, U fourth, V fifth, W sixth, X seventh, Y eighth, Z ninth); @Override Z getNinth(); @Override Nonuple<A, S, T, U, V, W, X, Y, Z> mapFirst(UnaryFunction<R, A> function); @Override Nonuple<R, A, T, U, V, W, X, Y, Z> mapSecond(UnaryFunction<S, A> function); @Override Nonuple<R, S, A, U, V, W, X, Y, Z> mapThird(UnaryFunction<T, A> function); @Override Nonuple<R, S, T, A, V, W, X, Y, Z> mapFourth(UnaryFunction<U, A> function); @Override Nonuple<R, S, T, U, A, W, X, Y, Z> mapFifth(UnaryFunction<V, A> function); @Override Nonuple<R, S, T, U, V, A, X, Y, Z> mapSixth(UnaryFunction<W, A> function); @Override Nonuple<R, S, T, U, V, W, A, Y, Z> mapSeventh(UnaryFunction<X, A> function); @Override Nonuple<R, S, T, U, V, W, X, A, Z> mapEighth(UnaryFunction<Y, A> function); @Override Nonuple<R, S, T, U, V, W, X, Y, A> mapNinth(UnaryFunction<Z, A> function); @Override Iterable<Object> getValues();  }### Answer:
@Test public void shouldConstructANonupleWithTheSpecifiedValues() 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"); Age eighth = age(20); Colour ninth = colour("Red"); Nonuple<String, Integer, Long, Character, Boolean, Double, Name, Age, Colour> expected = new Nonuple<String, Integer, Long, Character, Boolean, Double, Name, Age, Colour>( first, second, third, fourth, fifth, sixth, seventh, eighth, ninth); Nonuple<String, Integer, Long, Character, Boolean, Double, Name, Age, Colour> actual = nonuple(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth); assertThat(actual, is(expected)); }