context("graph internal")
test_that("empty graph", {
a <- graph_internal()
expect_equal(length(a$nodes), 0)
expect_equal(length(graph_nodes(a)), 0)
expect_is(a$edges, "matrix")
expect_true(mode(a$edges) == "character")
})
test_that("get adjacent", {
e <- graph_from_to_to_edges('a', 'b')
a <- graph_internal(letters[1:5], e)
expect_equal(graph_get_adjacent("a", a), 'b')
expect_equal(graph_get_adjacent("b", a), 'a')
expect_equal(graph_get_adjacent("c", a), character())
expect_error(graph_get_adjacent("z", a))
})
test_that("connected components", {
x <- nbcar()
g <- graph_connected_components(x$.dag)
expect_equal(length(g), 1)
g <- graph_internal()
g <- graph_connected_components(g)
expect_null(g)
})
test_that("graph union", {
edges <- graph_from_to_to_edges('A', 'B')
g <- graph_internal(LETTERS[1:3], edges = edges, edgemode = "directed" );
connected <- graph_connected_components(g)
gs <- lapply(connected, subgraph, g)
gu <- graph_union(gs)
# Currently not identical because I am missing to set some attributes in graph_internal2graph_NEL
# expect_identical(gu, g)
expect_identical(graph_nodes(gu), graph_nodes(g))
expect_equal(gu$edges, g$edges)
})
test_that("Direct tree", {
g <- graph_internal()
e <- direct_tree(g)
expect_equal(e$edgemode, "directed")
# expect_equal(graph::ugraph(graph_internal2graph_NEL(e)), graph_internal2graph_NEL(g))
gr <- pairwise_ode_score_contribs(class = 'class', dataset = car, score = 'loglik')
af <- max_weight_forest(gr)
d <- direct_tree(af)
expect_equal(d$edgemode, "directed")
d <- direct_tree(af, 'maint')
expect_equal(d$edgemode, "directed")
d <- direct_tree(af, 'safety')
expect_equal(d$edgemode, "directed")
})
test_that("node parents no parents", {
g <- graph_internal()
expect_error(graph_node_parents('A', g))
p <- graph_node_parents('A', graph_internal('A'))
expect_equal(p, character())
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.