library(testthat) test_that("indirect effect", { model_simple_med <- " m ~ a*x y ~ b*m + x ab := a * b " model_simple_med_es <- c("y ~ m" = "l", "m ~ x" = "m", "y ~ x" = "n") k <- c(y = 3, m = 3, x = 3) rel <- c(y = .70, m = .70, x = .70) sim_only <- power4test(nrep = 5, model = model_simple_med, pop_es = model_simple_med_es, n = 100, number_of_indicators = k, reliability = rel, fit_model_args = list(estimator = "ML"), R = 100, do_the_test = FALSE, progress = !is_testing(), iseed = 1234) test_ind <- power4test(object = sim_only, test_fun = test_indirect_effect, test_args = list(x = "x", m = "m", y = "y", mc_ci = TRUE), progress = !is_testing()) (chk <- test_summary(test_ind)) expect_true(length(chk) == 1) # # This test is sensitive the RNG. Need to revise # test_indb <- power4test(object = sim_only, # test_fun = test_indirect_effect, # test_args = list(x = "x", # m = "m", # y = "y", # mc_ci = TRUE, # test_method = "pvalue"), # progress = !is_testing()) # expect_equal(test_summary(test_ind)[[1]]["sig"], # test_summary(test_indb)[[1]]["sig"]) test_ind2 <- power4test(object = test_ind, test_fun = test_indirect_effect, test_args = list(x = "x", y = "m", mc_ci = TRUE), progress = !is_testing()) (chk <- test_summary(test_ind2)) expect_true(length(chk) == 2) # # This test is sensitive the RNG. Need to revise # test_ind2b <- power4test(object = test_ind, # test_fun = test_indirect_effect, # test_args = list(x = "x", # y = "m", # mc_ci = TRUE, # test_method = "pvalue"), # progress = !is_testing()) # expect_equal(test_summary(test_ind2)[[1]]["sig"], # test_summary(test_ind2b)[[1]]["sig"]) test_ind3 <- power4test(object = test_ind2, test_fun = test_indirect_effect, test_args = list(x = "m", y = "y", mc_ci = TRUE), progress = !is_testing()) (chk <- test_summary(test_ind3)) expect_true(length(chk) == 3) # # This test is sensitive the RNG. Need to revise # test_ind3b <- power4test(object = test_ind2, # test_fun = test_indirect_effect, # test_args = list(x = "m", # y = "y", # mc_ci = TRUE, # test_method = "pvalue"), # progress = !is_testing()) # expect_equal(test_summary(test_ind3)[[1]]["sig"], # test_summary(test_ind3b)[[1]]["sig"]) })