assertthat in R with pairlist

问题描述 投票:0回答:0

我正在尝试在要测试的几个条件下使用

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() ?

谢谢。

r assert assertthat
© www.soinside.com 2019 - 2024. All rights reserved.