tests/testthat/test-tree-search.R

library(ape)
library(testthat)
library(TreeSearch)

context("Test tree search")
test_that("tree search finds shortest tree", {
  true_tree <- ape::read.tree(text = "(((((1,2),3),4),5),6);")
  malformed_tree <- ape::read.tree(text = "((((1,2),3),4),5,6);")
  dataset <- StringToPhyDat('110000 111000 111100', 1:6, byTaxon=FALSE)
  expect_error(TreeSearch(malformed_tree, dataset))
  start_tree <- TreeSearch::RenumberTips(read.tree(text = "(((1, 6), 3), (2, (4, 5)));"), true_tree$tip.label)
  expect_equal(InapplicableFitch(start_tree, dataset), 6)
  expect_equal(InapplicableFitch(BasicSearch(start_tree, dataset, Rearrange=TreeSearch::NNI, verbosity=0), dataset), InapplicableFitch(true_tree, dataset), 3)
  expect_equal(InapplicableFitch(BasicSearch(start_tree, dataset, Rearrange=TreeSearch::SPR, verbosity=0), dataset), InapplicableFitch(true_tree, dataset), 3)
  expect_equal(InapplicableFitch(BasicSearch(start_tree, dataset, Rearrange=TreeSearch::TBR, verbosity=0), dataset), InapplicableFitch(true_tree, dataset), 3)
  expect_equal(InapplicableFitch(RatchetSearch(start_tree, dataset, rearrangements=list(TreeSearch::TBR, TreeSearch::SPR, TreeSearch::NNI), k=3, maxHits=5, verbosity=0), dataset), InapplicableFitch(true_tree, dataset), 3)
})
ms609/inapplicable documentation built on May 23, 2019, 7:49 a.m.