Skip to content

Commit 54e69b7

Browse files
committed
Improvements: conditional testing.
1 parent 574b387 commit 54e69b7

3 files changed

Lines changed: 28 additions & 18 deletions

File tree

tests/testthat/test-fHDbetween-fHDwithin-HDB-HDW.R

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,9 @@ if(identical(Sys.getenv("LOCAL"), "TRUE"))
125125

126126
tol <- if(identical(Sys.getenv("LOCAL"), "TRUE")) 1e-5 else 1e-4
127127

128-
if(requireNamespace("fixest", quietly = TRUE)) {
128+
has_fixest <- tryCatch(requireNamespace("fixest", quietly = TRUE), error = function(e) FALSE)
129+
130+
if(has_fixest) {
129131
demean <- fixest::demean # eval(parse(text = paste0("fixest", ":", ":", "demean")))
130132

131133
# lfe is back on CRAN: This now also seems to produce a warning !!!!!!!
@@ -229,7 +231,7 @@ test_that("fhdwithin with only continuous variables performs like baseresid (def
229231
expect_equal(fhdwithin(mtcNA, mtcars, variable.wise = TRUE), fhdwithin(mtcNA, m, variable.wise = TRUE), tolerance = tol)
230232
})
231233

232-
if(requireNamespace("fixest", quietly = TRUE)) {
234+
if(has_fixest) {
233235

234236
data <- wlddev
235237
data$year <- qF(data$year)

tests/testthat/test-fmutate.R

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,11 @@ test_that("fsummarise works like dplyr::summarise with across and simple usage",
156156

157157
expect_true(all_obj_equal(fsummarise(wld, across(is.numeric, bsum, na.rm = TRUE)),
158158
fsummarise(wld, across(is.numeric, fsum)) %>% dapply(unattrib, drop = FALSE),
159-
dplyr::summarise(wld, dplyr::across(where(is.numeric), bsum, na.rm = TRUE))))
159+
dplyr::summarise(wld, dplyr::across(where(is.numeric), \(x) bsum(x, na.rm = TRUE)))))
160160

161161
expect_true(all_obj_equal(fsummarise(mtc, across(NULL, bsum, na.rm = TRUE)),
162162
fsummarise(mtc, across(NULL, fsum)),
163-
dplyr::summarise(mtc, dplyr::across(everything(), bsum, na.rm = TRUE))))
163+
dplyr::summarise(mtc, dplyr::across(everything(), \(x) bsum(x, na.rm = TRUE)))))
164164

165165
expect_equal(fsummarise(mtc, across(cyl:vs, bsum)),
166166
fsummarise(mtc, cyl = bsum(cyl), across(disp:qsec, fsum), vs = fsum(vs)))
@@ -189,15 +189,16 @@ test_that("fsummarise works like dplyr::summarise with across and simple usage",
189189
# Passing additional arguments
190190
expect_true(all_obj_equal(fsummarise(mtc, across(cyl:drat, bsum, na.rm = FALSE)),
191191
fsummarise(mtc, across(cyl:drat, fsum, na.rm = FALSE)),
192-
dplyr::summarise(mtc, dplyr::across(cyl:drat, bsum, na.rm = FALSE))))
192+
dplyr::summarise(mtc, dplyr::across(cyl:drat, \(x) bsum(x, na.rm = FALSE)))))
193193

194194
expect_true(all_obj_equal(fsummarise(mtc, across(cyl:drat, weighted.mean, w = wt)),
195195
fsummarise(mtc, across(cyl:drat, fmean, w = wt)),
196-
dplyr::summarise(mtc, dplyr::across(cyl:drat, weighted.mean, w = wt))))
196+
dplyr::summarise(mtc, dplyr::across(cyl:drat, \(x) weighted.mean(x, w = wt)))))
197197

198198
expect_true(all_obj_equal(fsummarise(mtc, across(cyl:drat, list(mean = weighted.mean, sum = fsum), w = wt)),
199199
fsummarise(mtc, across(cyl:drat, list(mean = fmean, sum = fsum), w = wt)),
200-
dplyr::summarise(mtc, dplyr::across(cyl:drat, list(mean = weighted.mean, sum = fsum), w = wt))))
200+
dplyr::summarise(mtc, dplyr::across(cyl:drat, list(mean = \(x) weighted.mean(x, w = wt),
201+
sum = \(x) fsum(x, w = wt))))))
201202

202203
# Simple programming use
203204
flist <- list(bsum, list(bmean = bmean, bsum = bsum), list(bmean, bsum)) # c("bmean", "bsum"), c(mean = "fmean", sum = "fsum")
@@ -225,11 +226,11 @@ test_that("fsummarise works like dplyr::summarise with across and grouped usage"
225226

226227
expect_true(all_obj_equal(fsummarise(gwld, across(is.numeric, bsum, na.rm = TRUE)) %>% setLabels(NULL),
227228
fsummarise(gwld, across(is.numeric, fsum)) %>% replace_NA() %>% setLabels(NULL),
228-
dplyr::summarise(gwld, dplyr::across(where(is.numeric), bsum, na.rm = TRUE))))
229+
dplyr::summarise(gwld, dplyr::across(where(is.numeric), \(x) bsum(x, na.rm = TRUE)))))
229230

230231
expect_true(all_obj_equal(fsummarise(gmtc, across(NULL, bsum, na.rm = TRUE)) %>% setLabels(NULL),
231232
fsummarise(gmtc, across(NULL, fsum)) %>% setLabels(NULL),
232-
dplyr::summarise(gmtc, dplyr::across(everything(), bsum, na.rm = TRUE), .groups = "drop")))
233+
dplyr::summarise(gmtc, dplyr::across(everything(), \(x) bsum(x, na.rm = TRUE)), .groups = "drop")))
233234

234235
expect_equal(fsummarise(gmtc, across(NULL, bsum, na.rm = TRUE), keep.group_vars = FALSE),
235236
fsummarise(gmtc, across(NULL, bsum, na.rm = TRUE)) %>% slt(-cyl,-vs,-am))
@@ -261,18 +262,21 @@ test_that("fsummarise works like dplyr::summarise with across and grouped usage"
261262
# Passing additional arguments
262263
expect_true(all_obj_equal(fsummarise(gwld, across(c("PCGDP", "LIFEEX"), bsum, na.rm = TRUE)) %>% setLabels(NULL),
263264
fsummarise(gwld, across(c("PCGDP", "LIFEEX"), fsum, na.rm = TRUE)) %>% setLabels(NULL) %>% replace_NA(),
264-
dplyr::summarise(gwld, dplyr::across(c("PCGDP", "LIFEEX"), bsum, na.rm = TRUE), .groups = "drop")))
265+
dplyr::summarise(gwld, dplyr::across(c("PCGDP", "LIFEEX"), \(x) bsum(x, na.rm = TRUE)), .groups = "drop")))
265266

266267
expect_true(all_obj_equal(fsummarise(gmtc, across(hp:drat, weighted.mean, w = wt)),
267268
fsummarise(gmtc, across(hp:drat, fmean, w = wt)),
268-
dplyr::summarise(gmtc, dplyr::across(hp:drat, weighted.mean, w = wt), .groups = "drop")))
269+
dplyr::summarise(gmtc, dplyr::across(hp:drat, \(x) weighted.mean(x, w = wt)), .groups = "drop")))
269270

270271
expect_equal(fsummarise(gmtc, across(cyl:vs, weighted.mean, w = wt)),
271272
fsummarise(gmtc, cyl = weighted.mean(cyl, wt), across(disp:qsec, fmean, w = wt), vs = fmean(vs, wt)))
272273

273274
expect_true(all_obj_equal(fsummarise(gmtc, across(hp:drat, list(mean = weighted.mean, sum = fsum), w = wt)),
274275
fsummarise(gmtc, across(hp:drat, list(mean = fmean, sum = fsum), w = wt)),
275-
dplyr::summarise(gmtc, dplyr::across(hp:drat, list(mean = weighted.mean, sum = fsum), w = wt), .groups = "drop")))
276+
dplyr::summarise(gmtc,
277+
dplyr::across(hp:drat, list(mean = \(x) weighted.mean(x, w = wt),
278+
sum = \(x) fsum(x, w = wt))),
279+
.groups = "drop")))
276280

277281
# Simple programming use
278282
flist <- list(bsum, list(bmean = bmean, bsum = bsum), list(bmean, bsum)) # c("bmean", "bsum"), c(mean = "fmean", sum = "fsum")
@@ -303,12 +307,14 @@ test_that("fsummarise miscellaneous things", {
303307
rsplit(mtcars, disp + hp ~ cyl) %>% lapply(pwcorDF) %>% unlist2d("cyl", "var") %>% tfm(cyl = as.numeric(cyl))
304308
)
305309

306-
if(identical(Sys.getenv("LOCAL"), "TRUE")) # No tests depending on suggested package (except for major ones).
307-
expect_equal(
308-
mtcars %>% gby(cyl) %>% smr(acr(disp:hp, pwcorDF, w = wt, .apply = FALSE)),
309-
rsplit(mtcars, disp + hp + wt ~ cyl) %>% lapply(function(x) pwcorDF(gv(x, 1:2), w = x$wt)) %>%
310-
unlist2d("cyl", "var") %>% tfm(cyl = as.numeric(cyl))
311-
)
310+
if(identical(Sys.getenv("LOCAL"), "TRUE")) { # No tests depending on suggested package (except for major ones).
311+
skip_if_not_installed("weights")
312+
expect_equal(
313+
mtcars %>% gby(cyl) %>% smr(acr(disp:hp, pwcorDF, w = wt, .apply = FALSE)),
314+
rsplit(mtcars, disp + hp + wt ~ cyl) %>% lapply(function(x) pwcorDF(gv(x, 1:2), w = x$wt)) %>%
315+
unlist2d("cyl", "var") %>% tfm(cyl = as.numeric(cyl))
316+
)
317+
}
312318

313319
if(requireNamespace("data.table", quietly = TRUE)) {
314320
lmest <- function(x) list(Mods = list(lm(disp~., x)))

tests/testthat/test-misc.R

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ if(identical(Sys.getenv("NCRAN"), "TRUE")) {
4141

4242
if(identical(Sys.getenv("LOCAL"), "TRUE"))
4343
test_that("weighted correlations are correct", {
44+
skip_if_not_installed("weights")
45+
skip_if_not_installed("cluster")
4446

4547
# This is to fool very silly checks on CRAN scanning the code of the tests
4648
wtd.cors <- eval(parse(text = paste0("weights", ":", ":", "wtd.cors")))

0 commit comments

Comments
 (0)