diff --git a/R/BatchtoolsParam-class.R b/R/BatchtoolsParam-class.R index 316cd98..5a348b6 100644 --- a/R/BatchtoolsParam-class.R +++ b/R/BatchtoolsParam-class.R @@ -461,8 +461,6 @@ setMethod("bpiterate", c("ANY", "ANY", "BatchtoolsParam"), FUN <- match.fun(FUN) if (missing(REDUCE)) { - if (reduce.in.order) - stop("REDUCE must be provided when 'reduce.in.order = TRUE'") if (!missing(init)) stop("REDUCE must be provided when 'init' is given") } diff --git a/inst/unitTests/test_BatchtoolsParam.R b/inst/unitTests/test_BatchtoolsParam.R index c44af20..f22ac37 100644 --- a/inst/unitTests/test_BatchtoolsParam.R +++ b/inst/unitTests/test_BatchtoolsParam.R @@ -423,12 +423,25 @@ test_BatchtoolsParam_bpiterate <- function() { target <- list(105, 205, 305, 405, 505) checkIdentical(target, res) + ## Test ordered results without REDUCE on multicore + param <- BatchtoolsParam() + res <- bpiterate(ITER=ITER(), FUN=FUN, k=5, + reduce.in.order=TRUE, + BPPARAM=param) + checkIdentical(target, res) + ## socket cluster param <- BatchtoolsParam(cluster="socket") res <- bpiterate(ITER=ITER(), FUN=FUN, k=5, BPPARAM=param) ## Check Identical result checkIdentical(target, res) + ## Test ordered results without REDUCE on socket + res <- bpiterate(ITER=ITER(), FUN=FUN, k=5, + reduce.in.order=TRUE, + BPPARAM=param) + checkIdentical(target, res) + ## Test REDUCE on socket res <- bpiterate(ITER=ITER(), FUN=FUN, k=5, REDUCE=`+`,