R:创建lapply()类型的测试用例

时间:2010-07-21 15:37:17

标签: testing r lapply

我一直致力于创建一个并行lapply()类型函数的代码,该函数使用Amazon的Elastic Map Reduce引擎作为'grid'进行处理(是的,它是一个没有reducer的mapper)。在我得到代码稳定后,我将它抽象为foreach后端。但首先我需要构建测试来测试我的代码。

这个函数有什么好的测试用例?

我现在的规范测试案例如下:

myList <- NULL
set.seed(1)
for (i in 1:10){
  a <- c(rnorm(999), NA)
  myList[[i]] <- a
}
outputLocal <- lapply(myList, mean, na.rm=T)
outputEmr   <- emrlapply(myList, mean, myCluster, na.rm=T)
all.equal(outputEmr, outputLocal) 

此测试用例确保可选参数na.rm=T正确传递给远程计算机。我可以使用的其他一些测试用例是什么?我目前不支持simplifyUSE.NAMES个参数,但我将来会这样做。

1 个答案:

答案 0 :(得分:1)

如果您通过emrlapply

会怎样?
  • 字符向量列表
  • 空列表
  • 在删除所有NA值后仅为空的列表
  • NULL
  • 向量(lapply适用于向量)
  • 矩阵
  • 数据框架
  • 列表清单

您还需要进行测试,以查看您的函数是否正常处理EMR无法使用或缺少所需的包。