Require usage of expect_false(x)
over expect_true(!x)
Source: R/expect_not_linter.R
expect_not_linter.Rd
testthat::expect_false()
exists specifically for testing that an output is
FALSE
. testthat::expect_true()
can also be used for such tests by
negating the output, but it is better to use the tailored function instead.
The reverse is also true -- use expect_false(A)
instead of
expect_true(!A)
.
See also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "expect_true(!x)",
linters = expect_not_linter()
)
#> ::warning file=<text>,line=1,col=1::file=<text>,line=1,col=1,[expect_not_linter] expect_false(x) is better than expect_true(!x), and vice versa.
# okay
lint(
text = "expect_false(x)",
linters = expect_not_linter()
)