Nothing
test_that("assign_constraints_num returns expected values", {
conf_data <- mtcars[1:3, c("cyl", "disp", "mpg", "wt")]
start_data <- mtcars[1:3, "cyl", drop = FALSE]
roadmap <- roadmap(conf_data = conf_data, start_data = start_data) |>
add_sequence_manual(disp, mpg, wt)
schema <- schema(conf_data = conf_data, start_data = start_data)
constraints_by_hand_num <-
dplyr::bind_cols(
mtcars[1:3, ],
.assigned_min = c(0, 0, 0),
.assigned_max = c(15, 12, Inf)
)
# constraints by function
constraints_df_num <- tibble::tribble(
~var, ~min, ~max, ~conditions,
"mpg", 0, Inf, "TRUE",
"mpg", -Inf, 15, "cyl == 6",
"mpg", -Inf, 12, "wt >= 2.8"
)
constraints_by_function_num <- assign_constraints_num(
synth_data = mtcars[1:3, ],
constraints = constraints(
schema = schema,
constraints_df_num = constraints_df_num
)$constraints_num[["mpg"]]
)
expect_equal(constraints_by_function_num, constraints_by_hand_num)
})
test_that("assign_constraints_cat returns expected values", {
schema <- schema(
conf_data = dplyr::select(mtcars, mpg, cyl, disp, carb, vs, am, gear) |>
dplyr::mutate(vs = factor(vs),
am = factor(am),
gear = factor(gear)),
start_data = dplyr::select(mtcars, cyl)
)
constraints_df_cat <- tibble::tribble(
~var, ~allowed, ~forbidden, ~conditions,
"vs", "1", NA, "TRUE",
"gear", NA, "5", "TRUE",
"gear", "3", NA, "cyl == 8"
)
constraints_by_function_cat <- assign_constraints_cat(
synth_data = dplyr::select(mtcars, cyl, vs, gear),
constraints = constraints(
schema = schema,
constraints_df_cat = constraints_df_cat
)$constraints_cat[["gear"]]
)
expect_true(
all(
# directly applying the constraint condition IDs...
dplyr::mutate(
mtcars,
.condition_id = dplyr::if_else(
cyl == 8, 2, 1
),
.keep = "none"
) == (
# ...should be the same as using assign_constraints_cat
constraints_by_function_cat$synth_data$.condition_id
)
)
)
expect_true(
all(
# directly applying the constraint modes...
dplyr::mutate(
mtcars,
.constraint_mode = dplyr::if_else(
cyl == 8, "inclusion", "exclusion"
),
.keep = "none"
) == (
# ...should be the same as using assign_constraints_cat
constraints_by_function_cat$synth_data |>
dplyr::inner_join(constraints_by_function_cat$condition_defs,
by = ".condition_id") |>
dplyr::pull(".condition_mode")
)
)
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.