@Test(expected = NullPointerException.class) public void shouldThrowNullPointerExceptionIfNullMapperPassedToMapThird() throws Exception { Quadruple<Integer, String, Boolean, Double> quadruple = tuple(5, "Five", true, 3.6); Mapper<Boolean, String> mapper = null; quadruple.mapThird(mapper); }
@Override public <A> Quadruple<R, S, A, U> mapThird(UnaryFunction<T, A> function) { return quadruple(getFirst(), getSecond(), function.call(getThird()), getFourth()); }
Quadruple extends Triple<R, S, T> implements Fourth<U>,
                   MappableFourth<U, Quadruple<R, S, T, ?>> { @Override public <A> Quadruple<R, S, A, U> mapThird(UnaryFunction<T, A> function) { return quadruple(getFirst(), getSecond(), function.call(getThird()), getFourth()); } }
Quadruple extends Triple<R, S, T> implements Fourth<U>,
                   MappableFourth<U, Quadruple<R, S, T, ?>> { @Override public <A> Quadruple<R, S, A, U> mapThird(UnaryFunction<T, A> function) { return quadruple(getFirst(), getSecond(), function.call(getThird()), getFourth()); } Quadruple(R first, S second, T third, U fourth); }
Quadruple extends Triple<R, S, T> implements Fourth<U>,
                   MappableFourth<U, Quadruple<R, S, T, ?>> { @Override public <A> Quadruple<R, S, A, U> mapThird(UnaryFunction<T, A> function) { return quadruple(getFirst(), getSecond(), function.call(getThird()), getFourth()); } Quadruple(R first, S second, T third, U fourth); static Quadruple<R, S, T, U> quadruple(R first, S second, T third, U fourth); @Override U getFourth(); @Override Quadruple<A, S, T, U> mapFirst(UnaryFunction<R, A> function); @Override Quadruple<R, A, T, U> mapSecond(UnaryFunction<S, A> function); @Override Quadruple<R, S, A, U> mapThird(UnaryFunction<T, A> function); @Override Quadruple<R, S, T, A> mapFourth(UnaryFunction<U, A> function); @Override Iterable<Object> getValues(); }
Quadruple extends Triple<R, S, T> implements Fourth<U>,
                   MappableFourth<U, Quadruple<R, S, T, ?>> { @Override public <A> Quadruple<R, S, A, U> mapThird(UnaryFunction<T, A> function) { return quadruple(getFirst(), getSecond(), function.call(getThird()), getFourth()); } Quadruple(R first, S second, T third, U fourth); static Quadruple<R, S, T, U> quadruple(R first, S second, T third, U fourth); @Override U getFourth(); @Override Quadruple<A, S, T, U> mapFirst(UnaryFunction<R, A> function); @Override Quadruple<R, A, T, U> mapSecond(UnaryFunction<S, A> function); @Override Quadruple<R, S, A, U> mapThird(UnaryFunction<T, A> function); @Override Quadruple<R, S, T, A> mapFourth(UnaryFunction<U, A> function); @Override Iterable<Object> getValues();  }