tests/testthat/test-SPR.R

library("TreeTools")

test_that("SPR handles root rearrangement", {
  # Soft tests.
  expect_true(inherits(SPR(BalancedTree(4), edgeToBreak = 1), "phylo"))
  expect_true(inherits(SPR(BalancedTree(5), edgeToBreak = 1), "phylo"))
  
  expect_equal(sum(sapply(c(
    # hard-coded 1 %in% 2 due to 
    # https://github.com/r-lib/testthat/issues/1661
    SPR(PectinateTree(4), edgeToBreak = 1, mergeEdge = 3),
    SPR(PectinateTree(4), edgeToBreak = 1, mergeEdge = 4),
    SPR(PectinateTree(4), edgeToBreak = 1, mergeEdge = 5),
    SPR(PectinateTree(4), edgeToBreak = 1, mergeEdge = 6)),
    all.equal, SPR(PectinateTree(4), edgeToBreak = 1))), 1)
  expect_warning(SPR(PectinateTree(4), edgeToBreak = 2),
                 "No rearrangement possible with this root position")
})

Try the TreeSearch package in your browser

Any scripts or data that you put into this service are public.

TreeSearch documentation built on April 11, 2025, 5:49 p.m.