@Test
public void testFunc8() {

    Func8<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> func = new Func8<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer>() {
        @Override
        public Integer call(Integer t1, Integer t2, Integer t3, Integer t4, Integer t5, Integer t6, Integer t7, Integer t8) {
            return t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8;
        }
    };
    Async.toAsync(func, Schedulers.immediate())
            .call(1, 2, 4, 8, 16, 32, 64, 128)
            .subscribe(new TestObserver<Object>(observer));
    verify(observer, never()).onError(any(Throwable.class));
    verify(observer, times(1)).onNext(255);
    verify(observer, times(1)).onCompleted();
}