Nothing
test_that("sample_degseq() works -- 'configuration' generator", {
degrees <- rep(2, 100)
undirected_graph <- sample_degseq(degrees, method = "configuration")
expect_equal(degree(undirected_graph), degrees)
directed_graph <- sample_degseq(1:10, 10:1)
expect_equal(degree(directed_graph, mode = "out"), 1:10)
expect_equal(degree(directed_graph, mode = "in"), 10:1)
})
test_that("sample_degseq() works -- sample_gnp()", {
erdos_renyi <- sample_gnp(1000, 1 / 1000)
new_graph <- sample_degseq(degree(erdos_renyi), method = "configuration")
expect_equal(degree(new_graph), degree(erdos_renyi))
directed_erdos_renyi <- sample_gnp(1000, 2 / 1000, directed = TRUE)
new_directed_graph <- sample_degseq(
degree(directed_erdos_renyi, mode = "out"),
degree(directed_erdos_renyi, mode = "in"),
method = "configuration"
)
expect_equal(
degree(new_directed_graph, mode = "out"),
degree(directed_erdos_renyi, mode = "out")
)
expect_equal(
degree(new_directed_graph, mode = "in"),
degree(directed_erdos_renyi, mode = "in")
)
})
test_that("sample_degseq() works -- 'configuration' generator, connected", {
original_graph <- largest_component(sample_gnp(1000, 2 / 1000))
simple_graph <- sample_degseq(degree(original_graph), method = "configuration")
expect_equal(degree(simple_graph), degree(original_graph))
vl_graph <- sample_degseq(degree(simple_graph), method = "vl")
expect_equal(degree(vl_graph), degree(original_graph))
expect_true(is_connected(vl_graph))
expect_true(is_simple(vl_graph))
})
test_that("sample_degseq() works -- vl generator", {
degrees <- rep(2, 100)
vl_graph <- sample_degseq(degrees, method = "vl")
expect_equal(degree(vl_graph), degrees)
expect_true(is_simple(vl_graph))
})
test_that("sample_degseq() works -- exponential degree ok", {
withr::local_seed(1)
exponential_degrees <- sample(1:100, 100, replace = TRUE, prob = exp(-0.5 * (1:100)))
exp_vl_graph <- sample_degseq(exponential_degrees, method = "vl")
expect_equal(degree(exp_vl_graph), exponential_degrees)
})
test_that("sample_degseq() works -- exponential degree error", {
withr::local_seed(11)
exponential_degrees <- sample(1:100, 100, replace = TRUE, prob = exp(-0.5 * (1:100)))
expect_snapshot(
{
sample_degseq(exponential_degrees, method = "vl")
},
error = TRUE,
transform = function(x) sub("\\:[0-9]+", ":<linenumber>", x)
)
})
test_that("sample_degseq() works -- Power-law degree ok", {
withr::local_seed(3)
powerlaw_degrees <- sample(1:100, 100, replace = TRUE, prob = (1:100)^-2)
powerlaw_vl_graph <- sample_degseq(powerlaw_degrees, method = "vl")
expect_equal(degree(powerlaw_vl_graph), powerlaw_degrees)
})
test_that("sample_degseq() works -- Power-law degree error", {
withr::local_seed(7)
powerlaw_degrees <- sample(1:100, 100, replace = TRUE, prob = (1:100)^-2)
expect_snapshot(
{
sample_degseq(powerlaw_degrees, method = "vl")
},
error = TRUE,
transform = function(x) sub("\\:[0-9]+", ":<linenumber>", x)
)
})
test_that("sample_degseq() works -- fast.heur.simple", {
g <- sample_gnp(1000, 1 / 1000)
simple_nm_graph <- sample_degseq(
degree(g, mode = "out"),
degree(g, mode = "in"),
method = "fast.heur.simple"
)
expect_equal(degree(simple_nm_graph, mode = "out"), degree(g, mode = "out"))
expect_equal(degree(simple_nm_graph, mode = "in"), degree(g, mode = "in"))
})
test_that("sample_degseq() works -- configuration.simple", {
g <- sample_gnp(1000, 1 / 1000)
simple_nmu_graph <- sample_degseq(degree(g, mode = "out"),
degree(g, mode = "in"),
method = "configuration.simple"
)
expect_equal(degree(simple_nmu_graph, mode = "out"), degree(g, mode = "out"))
expect_equal(degree(simple_nmu_graph, mode = "in"), degree(g, mode = "in"))
})
test_that("sample_degseq() works -- edge.switching.simple directed", {
g <- sample_gnp(1000, 1 / 1000, directed = TRUE)
simple_switch_graph <- sample_degseq(degree(g, mode = "out"),
degree(g, mode = "in"),
method = "edge.switching.simple"
)
expect_equal(degree(simple_switch_graph, mode = "out"), degree(g, mode = "out"))
expect_equal(degree(simple_switch_graph, mode = "in"), degree(g, mode = "in"))
})
test_that("sample_degseq() works -- edge.switching.simple undirected", {
g <- sample_gnp(1000, 1 / 1000, directed = FALSE)
simple_switch_graph <- sample_degseq(
degree(g, mode = "all"),
method = "edge.switching.simple"
)
expect_equal(degree(simple_switch_graph, mode = "all"), degree(g, mode = "all"))
})
test_that("sample_degseq supports the sample_(...) syntax", {
degs <- rep(4, 20)
g1 <- sample_(degseq(degs))
g2 <- sample_(degseq(degs))
expect_equal(degree(g1), degs)
expect_equal(degree(g2), degs)
expect_false(identical_graphs(g1, g2))
})
test_that("sample_degseq works() -- old method names", {
withr::local_options("lifecycle_verbosity" = "warning")
expect_warning(
sample_degseq(c(1, 1, 2, 2, 2), method = "simple"),
"must be"
)
expect_warning(
sample_degseq(c(1, 1, 2, 2, 2), method = "simple.no.multiple"),
"must be"
)
expect_warning(
sample_degseq(c(1, 1, 2, 2, 2), method = "simple.no.multiple.uniform"),
"must be"
)
})
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.