tests/testthat/test-patterns.R

test_that("basic patterns can be applied", {

	x <- tm(witch ~ wicked + west)
	yd <- apply_pattern(x, "direct")
	expect_length(yd, 3)
	ys <- apply_pattern(x, "sequential")
	expect_length(ys, 3)
	expect_length(ys$outcome, 2)
	yp <- apply_pattern(x, "parallel")
	expect_length(yp, 2)
	expect_named(yp, c("outcome", "covariate_1"))
	yf <- apply_pattern(x, "fundamental")
	expect_length(yf, 2)
	expect_named(yf, c("left", "right"))

	x <- tm(witch ~ wicked + west + green)
	y <- apply_sequential_pattern(x)
	expect_named(y, c("outcome", paste0("covariate_", 1:3)))

	x <- tm(witch ~ .x(wicked) + west + green)
	y <- apply_parallel_pattern(x)
	expect_named(y, c("outcome", "exposure", "covariate_1"))
	expect_length(y, 3)
	expect_length(y$exposure, 2)
	expect_length(unique(y$exposure), 1)

	# Sequential with restricted terms
	x <- tm(witch ~ wicked)
	ys <- apply_sequential_pattern(x)
	yp <- apply_parallel_pattern(x)
	yf <- apply_fundamental_pattern(x)
	yd <- apply_direct_pattern(x)

})

test_that("interaction terms can be rolled through a formula", {

	x <- tm(wicked ~ .x(witch) + west + .i(green) + magic + hat)
	fmls(x, pattern = "parallel")

})
asshah4/octomod documentation built on June 4, 2024, 12:48 p.m.