tests/testthat/test-exact.r

data(vemu_wide)

baskets <- c(1, 2, 3)

vemu_wide1 <- vemu_wide[baskets, ]


# Full Bayes
test_that("Full Bayes can be calculated correctly.",
  {

    set.seed(123)
    exact_res <- mem_exact(
      responses = vemu_wide1$responders,
      size = vemu_wide1$evaluable,
      name = vemu_wide1$baskets,
      cluster_analysis = TRUE,
      p0 = 0.25)

    expect_snapshot(unclass(summary(exact_res)))

    expect_true(class(summary(exact_res)) == "mem_summary")
    expect_output(print(summary(exact_res)), "The Null Response Rates")

    expect_true(class(summary(exact_res$basket)) == "mem_basket_summary")
    expect_output(print(summary(exact_res$basket)), "The Null Response Rates")
    expect_true(class(summary(exact_res$cluster)) == "mem_cluster_summary")

    expect_output(
      print(summary(exact_res$cluster)), "The Null Response Rates")

    res1 <- update(exact_res, p0 = 0.15)
    expect_true(inherits(res1, "mem_exact"))

    expect_equal(basket_name(res1), c("NSCLC", "CRC (vemu)", "CRC (vemu+cetu)"))

    expect_true(inherits(
      exact_res_up <- update_p0(exact_res, alternative = "less"),
      "exchangeability_model"
    ))
  }
)

test_that("Exact corner case models", {

  skip_on_cran()

  set.seed(123)
  exact_res <- mem_exact(
    responses = vemu_wide1$responders,
    size = vemu_wide1$evaluable,
    name = vemu_wide1$baskets,
    cluster_analysis = TRUE,
    p0 = 0.25)

  set.seed(123)
  exact_res_basket <- basket(
    responses = vemu_wide1$responders,
    size = vemu_wide1$evaluable,
    name = vemu_wide1$baskets,
    cluster_analysis = TRUE,
    p0 = 0.25,
    method = "exact")

  set.seed(123)
  expect_snapshot(
    summary(basket(
      responses = vemu_wide1$responders,
      size = vemu_wide1$evaluable,
      name = vemu_wide1$baskets,
      cluster_analysis = TRUE,
      p0 = 0.25,
      method = "exact"
    ))
  )

  
  set.seed(123)
  expect_snapshot(
    summary(mem_exact(
      responses = c(4, 3, 0),
      size = c(10, 3, 0),
      name = letters[1:3],
      cluster_analysis = TRUE,
      p0 = 0.25
    ))
  )

  set.seed(123)
  expect_snapshot(
    summary(mem_exact(
      responses = c(4, 3),
      size = c(10, 3),
      name = letters[1:2],
      cluster_analysis = TRUE,
      p0 = 0.25
    ))
  )

  # Remove the call and check for equality.
  expect_equal(exact_res$basket[-18], 
               exact_res_basket$basket[-18], 
               tolerance = 0.5)

})
presagia-analytics/basket documentation built on July 26, 2023, 2:10 p.m.