我正在尝试在要测试的几个条件下使用
assertthat::assert_that()
,这些条件收集在`pairlist'中。
我的
pairlist
长这样:
pairlist_1 <- as.pairlist(alist(is.null(list()), is.na(list())))
print(pairlist_1)
[[1]]
is.null(list())
[[2]]
is.na(list())
现在,我检查
pairlist
的类型及其元素:
print(typeof(pairlist_1))
[1] "pairlist"
print(typeof(pairlist_1[[1]]))
[1] "language"
print(typeof(pairlist_1[[2]]))
[1] "language"
我尝试使用
assert_that
并检查它是否正常工作:
assertthat::assert_that(2 + 2 == 4)
[1] TRUE
assertthat::assert_that(is.null(list()))
Error: list() is not NULL
问题
但是,当我尝试直接在
assert_that
元素上使用 pairlist
时,我得到 ...
assertthat::assert_that(pairlist_1[[1]])
Error: assert_that: assertion must return a logical value
...而不是像上面的
Error: list() is not NULL
,意思是assert_that()函数不能执行
我如何应用 testthat::test_that() directly 在我的
pairlist
元素上?或者,我如何 extract pairlist
元素并成功地在它们上应用 testthat::test_that() ?
谢谢。