tests/testthat/test-feature-growth.R

context("Feature Growth")


test_that("generating ms cmd for growth works", {
  scrm <- get_simulator("scrm")
  model <- coal_model(4, 1) + feat_mutation(1)
  expect_equal(scrm$get_cmd(model + feat_growth(5, 1)), "scrm 4 1 -t 1 -G 5 ")
  expect_equal(scrm$get_cmd(model + feat_growth(5, 1, 2)),
               "scrm 4 1 -t 1 -eG 2 5 ")

  model <- coal_model(4:5, 1) + feat_mutation(1) +
    feat_migration(1, symmetric = TRUE)

  expect_equal(scrm$get_cmd(model + feat_growth(5, 1)),
               "scrm 9 1 -I 2 4 5 -t 1 -eM 0 1 -g 1 5 ")
  expect_equal(scrm$get_cmd(model + feat_growth(5, 1, 1.5)),
               "scrm 9 1 -I 2 4 5 -t 1 -eM 0 1 -eg 1.5 1 5 ")

  model <- model +
    par_range("a", 0, 1) +
    feat_growth(par_expr(2 * a), 1, par_expr(3 * a))
  expect_equal(scrm$get_cmd(model),
               "scrm 9 1 -I 2 4 5 -t 1 -eM 0 1 -eg 3 * a 1 2 * a ")
  expect_that(simulate(model, pars = c(a = .5)), is_a("list"))
})
statgenlmu/coala documentation built on March 5, 2024, 10:49 p.m.