test_that("father() and mother() works", {
x = nuclearPed(father="fa", mother="mo", child="ch")
y = list(singleton(1), x, singleton(2))
expect_equal(father(x, "ch"), "fa")
expect_equal(mother(x, "ch"), "mo")
expect_equal(father(y, "ch"), "fa")
expect_equal(mother(y, "ch"), "mo")
expect_equal(father(x, "fa"), character(0))
expect_equal(mother(x, "fa"), character(0))
expect_equal(father(y, "fa"), character(0))
expect_equal(mother(y, "fa"), character(0))
expect_equal(father(y, 1), character(0))
expect_equal(mother(y, 1), character(0))
expect_equal(father(x, 3, internal=T), 1)
expect_equal(mother(x, 3, internal=T), 2)
expect_equal(father(x, 1, internal=T), 0)
expect_equal(mother(x, 1, internal=T), 0)
expect_error(father(y, 1, internal=T),
"Argument `internal` cannot be TRUE when `x` is a pedlist")
expect_error(mother(y, 1, internal=T),
"Argument `internal` cannot be TRUE when `x` is a pedlist")
})
test_that("children() are correct", {
x = nuclearPed(4)
y = list(singleton("NN1"), x, singleton("NN2"))
true_offs = as.character(3:6)
expect_setequal(children(x, 1), true_offs)
expect_setequal(children(x, 2), true_offs)
expect_setequal(children(y, 1), true_offs)
expect_setequal(children(y, 2), true_offs)
})
test_that("children() are correct after reorder", {
x = reorderPed(nuclearPed(4), 6:1)
true_offs = as.character(3:6)
expect_setequal(children(x, 1), true_offs)
expect_setequal(children(x, 2), true_offs)
})
test_that("spouses() are correct", {
x = nuclearPed(4)
y = list(singleton("NN1"), x, singleton("NN2"))
expect_equal(spouses(x,1), "2")
expect_equal(spouses(x,2), "1")
expect_equal(spouses(x,3), character(0))
expect_equal(spouses(y,1), "2")
expect_equal(spouses(y,2), "1")
expect_equal(spouses(y,3), character(0))
expect_equal(spouses(x,3, internal=T), numeric(0))
})
test_that("spouses are correct after reorder", {
x = reorderPed(nuclearPed(4), 6:1)
expect_equal(spouses(x,1), "2")
expect_equal(spouses(x,2), "1")
expect_equal(spouses(x,3), character(0))
expect_equal(spouses(x,3, internal=T), numeric(0))
})
test_that("siblings are correctly detected", {
x = halfSibPed(nch1 = 2, nch2 = 1)
y = list(singleton("NN1"), x, singleton("NN2"))
expect_equal(siblings(x, 1), character(0))
expect_equal(siblings(x, 4), c("5", "6"))
expect_equal(siblings(x, 4, half = T), "6")
expect_equal(siblings(x, 4, half = F), "5")
expect_equal(siblings(y, 1), character(0))
expect_equal(siblings(y, 4), c("5", "6"))
expect_equal(siblings(y, 4, half = T), "6")
expect_equal(siblings(y, 4, half = F), "5")
})
test_that("unrelated ped members are correctly detected", {
x = halfCousinPed(0, removal = 1, child = T)
y = list(singleton("NN1"), x, singleton("NN2"))
expect_equal(unrelated(x, 4), c("3", "6"))
expect_equal(unrelated(x, 8), character(0))
expect_equal(unrelated(y, 4), c("3", "6", "NN1", "NN2"))
expect_equal(unrelated(y, 8), c("NN1", "NN2"))
})
test_that("internal = TRUE results in integer output", {
x = singleton(1)
expect_type(father(x, 1, internal = T), "integer")
expect_type(mother(x, 1, internal = T), "integer")
expect_type(parents(x, 1, internal = T), "integer")
expect_type(children(x, 1, internal = T), "integer")
# expect_type(cousins(x, 1, internal = T), "integer")
expect_type(ancestors(x, 1, internal = T), "integer")
expect_type(descendants(x, 1, internal = T), "integer")
expect_type(unrelated(x, 1, internal = T), "integer")
})
test_that("common ancestors are properly detected", {
x = nuclearPed(2)
expect_equal(commonAncestors(x, leaves(x)), as.character(1:2))
expect_equal(commonAncestors(x, leaves(x), inclusive = T), as.character(1:2))
expect_equal(commonAncestors(x, 2:3), character(0))
expect_equal(commonAncestors(x, 2:3, inclusive = T), "2")
expect_equal(commonAncestors(x, 1:4, inclusive = T), character(0))
y = list(singleton("NN1"), x, singleton("NN2"))
expect_equal(commonAncestors(y, leaves(x)), as.character(1:2))
expect_equal(commonAncestors(y, 2:3, inclusive = T), "2")
})
test_that("common descendants are properly detected", {
x = nuclearPed(2)
expect_equal(commonDescendants(x, founders(x)), as.character(3:4))
expect_equal(commonDescendants(x, founders(x), inclusive = T), as.character(3:4))
expect_equal(commonDescendants(x, 2:3), character(0))
expect_equal(commonDescendants(x, 2:3, inclusive = T), "3")
expect_equal(commonDescendants(x, 1:4, inclusive = T), character(0))
y = list(singleton("NN1"), x, singleton("NN2"))
expect_equal(commonDescendants(y, founders(x)), as.character(3:4))
expect_equal(commonDescendants(y, 2:3, inclusive = T), "3")
})
test_that("common ancestors/descendants are detected in selfing ped", {
x = selfingPed(3)
expect_equal(commonAncestors(x, 1:4), character(0))
expect_equal(commonAncestors(x, 1:4, inclusive = T), "1")
expect_equal(commonAncestors(x, 2:4), "1")
expect_equal(commonDescendants(x, 1:4), character(0))
expect_equal(commonDescendants(x, 1:4, inclusive = T), "4")
expect_equal(commonDescendants(x, 1:3), "4")
y = list(singleton("NN1"), x, singleton("NN2"))
expect_equal(commonAncestors(y, 1:4, inclusive = T), "1")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.