Nothing
context("nLTTstat_exact")
test_that("nLTTstat_exact use", {
# temporary fix to keep R-devel happy.
# should be updated upon release of version 3.6
suppressWarnings(RNGversion("3.5.0"))
set.seed(42)
p <- ape::rcoal(10)
q <- ape::rcoal(10)
expect_equal(
0.0, nLTTstat_exact(tree1 = p, tree2 = p, distance_method = "abs"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
tolerance = 0.0001
)
expect_equal(
0.0, nLTTstat_exact(tree1 = p, tree2 = p, distance_method = "squ"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
tolerance = 0.0001
)
expect_equal(
0.1108467, nLTTstat_exact(tree1 = p, tree2 = q, distance_method = "abs"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
tolerance = 0.0001
)
expect_equal(
nLTTstat_exact(tree1 = p, tree2 = q, distance_method = "abs"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
nLTTstat_exact(tree1 = p, tree2 = q, distance_method = "abs"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
tolerance = 0.0001
)
expect_equal(
0.0, nLTTstat_exact(tree1 = q, tree2 = q, distance_method = "abs"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
tolerance = 0.0001
)
expect_equal(
0.0, nLTTstat_exact(tree1 = q, tree2 = q, distance_method = "squ"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
tolerance = 0.0001
)
})
test_that("nLTTstat_exact abuse", {
phylo <- ape::rcoal(10)
expect_error(
nLTTstat_exact(tree1 = 42, tree2 = phylo, distance_method = "abs"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
"nLTTstat_exact: tree1 must be of class 'phylo'"
)
expect_error(
nLTTstat_exact(tree1 = phylo, tree2 = 42, distance_method = "abs"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
"nLTTstat_exact: tree2 must be of class 'phylo'"
)
expect_error(
nLTTstat_exact(tree1 = phylo, tree2 = phylo, distance_method = "nonsense"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
"nLTTstat_exact: distance method unknown"
)
expect_error(
nLTTstat_exact(tree1 = phylo, tree2 = phylo, ignore_stem = "no logical"), # nolint nLTTstat_exact should be all lowercase, left in for backwards compatibility
"nLTTstat_exact: ignore_stem must be logical"
)
})
test_that("nLTTstat_exact may ignore the stem", {
# Create a stemless phylogeny with two branches of length 1.0
tree1 <- ape::rcoal(2)
tree1$edge.length <- tree1$edge.length / tree1$edge.length[1] # nolint ape variable name
# Create a phylogeny with two branches of length 1.0 and a stem length of 1
tree2 <- tree1
tree2$root.edge <- 1 # nolint ape variable name
# Without taking the stem into account, the nLTT statistic between
# identical trees is zero
expect_equal(0.0, nLTT::nLTTstat_exact(tree1, tree1, ignore_stem = TRUE))
expect_equal(0.0, nLTT::nLTTstat_exact(tree2, tree2, ignore_stem = TRUE))
# Without the stem, there is no nLTT difference between the two phylogenies
expect_equal(0.00, nLTT::nLTTstat_exact(tree1, tree2, ignore_stem = TRUE))
expect_equal(0.00, nLTT::nLTTstat_exact(tree2, tree1, ignore_stem = TRUE))
# With taking the stem into account, the nLTT statistic between
# identical trees is zero
expect_equal(0.0, nLTT::nLTTstat_exact(tree1, tree1, ignore_stem = FALSE))
expect_equal(0.0, nLTT::nLTTstat_exact(tree2, tree2, ignore_stem = FALSE))
# With taking the stem into account, the nLTT statistic between
# different trees is about one quarter
expect_equal(0.25, nLTT::nLTTstat_exact(tree1, tree2, ignore_stem = FALSE))
expect_equal(0.25, nLTT::nLTTstat_exact(tree2, tree1, ignore_stem = FALSE))
})
test_that("nLTTstat_exact on two rcoal trees, do ignore stem", {
# temporary fix to keep R-devel happy.
# should be updated upon release of version 3.6
suppressWarnings(RNGversion("3.5.0"))
set.seed(42)
p <- ape::rcoal(5)
p$root.edge <- 0.1 # nolint ape variable name
q <- ape::rcoal(5)
p$root.edge <- 0.2 # nolint ape variable name
testthat::expect_silent(nLTT::nLTTstat_exact(p, q, ignore_stem = TRUE))
})
test_that("nLTTstat_exact on two rcoal trees, do not ignore stem", {
# temporary fix to keep R-devel happy.
# should be updated upon release of version 3.6
suppressWarnings(RNGversion("3.5.0"))
set.seed(42)
p <- ape::rcoal(5)
p$root.edge <- 0.1 # nolint ape variable name
q <- ape::rcoal(5)
p$root.edge <- 0.2 # nolint ape variable name
testthat::expect_silent(nLTT::nLTTstat_exact(p, q, ignore_stem = FALSE))
})
test_that("adding a stem causes branch lengths to become NAs", {
# temporary fix to keep R-devel happy.
# should be updated upon release of version 3.6
suppressWarnings(RNGversion("3.5.0"))
set.seed(42)
p <- ape::rcoal(5)
testthat::expect_true(!any(is.na(ape::branching.times(p))))
p$root.edge <- 0.1 # nolint ape variable name
testthat::expect_true(!any(is.na(ape::branching.times(p))))
})
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.