@@ -14,15 +14,56 @@ blocks <- lapply(nodes, function(x){
1414blocks <- do.call(" rbind" , blocks )
1515
1616pp <- ncol(dat )
17+ node_names <- names(dat )
1718len_saturate <- pp * (pp - 1 )/ 2
1819nlambda <- 20
1920
2021test_that(" White lists work OK" , {
2122 dags <- ccdr.run(sbdata , lambdas.length = nlambda , whitelist = blocks )
2223 expect_equal(num.edges(dags ), rep(len_saturate , nlambda ))
24+
25+ # One edge
26+ from <- " a0"
27+ to <- " b0"
28+ from.idx <- match(from , node_names )
29+ to.idx <- match(to , node_names )
30+ white <- rbind(c(from , to ))
31+ dags <- ccdr.run(sbdata , lambdas.length = nlambda , whitelist = white )
32+ check_edge <- all(unlist(lapply(dags , function (x ) from.idx %in% as.list(x $ edges )[[to ]])))
33+ expect_true(check_edge )
34+
35+ # Two edges
36+ from <- " e0"
37+ to <- " c0"
38+ from.idx <- match(from , node_names )
39+ to.idx <- match(to , node_names )
40+ white <- rbind(c(" a0" , " b0" ), c(from , to ))
41+ dags <- ccdr.run(sbdata , lambdas.length = nlambda , whitelist = white )
42+ check_edge <- all(unlist(lapply(dags , function (x ) from.idx %in% as.list(x $ edges )[[to ]])))
43+ expect_true(check_edge )
2344})
2445
2546test_that(" Black lists work OK" , {
2647 dags <- ccdr.run(sbdata , lambdas.length = nlambda , blacklist = blocks )
2748 expect_equal(num.edges(dags ), rep(0 , nlambda ))
49+
50+ # One edge
51+ from <- " a0"
52+ to <- " b0"
53+ from.idx <- match(from , node_names )
54+ to.idx <- match(to , node_names )
55+ black <- rbind(c(from , to ))
56+ dags <- ccdr.run(sbdata , lambdas.length = nlambda , blacklist = black )
57+ check_edge <- any(unlist(lapply(dags , function (x ) from.idx %in% as.list(x $ edges )[[to ]])))
58+ expect_false(check_edge )
59+
60+ # Two edges
61+ from <- " e0"
62+ to <- " c0"
63+ from.idx <- match(from , node_names )
64+ to.idx <- match(to , node_names )
65+ black <- rbind(c(" a0" , " b0" ), c(from , to ))
66+ dags <- ccdr.run(sbdata , lambdas.length = nlambda , blacklist = black )
67+ check_edge <- any(unlist(lapply(dags , function (x ) from.idx %in% as.list(x $ edges )[[to ]])))
68+ expect_false(check_edge )
2869})
0 commit comments