Nothing
describe("neuromaps_available", {
it("returns full registry when no filters", {
local_mocked_bindings(
build_neuromaps_registry = function(refresh = FALSE) {
tibble::tibble(
source = c("a", "b"), desc = c("x", "y"),
space = "fs", den = "10k", res = NA,
hemi = "L", format = "surface",
fname = c("f1", "f2"),
full_desc = c("A map", "B map"),
tags = list("pet", "mri"),
N = c(10, 20), age = c("30", "40")
)
}
)
result <- neuromaps_available()
expect_s3_class(result, "tbl_df")
expect_equal(nrow(result), 2)
})
it("applies filters", {
local_mocked_bindings(
build_neuromaps_registry = function(refresh = FALSE) {
tibble::tibble(
source = c("abagen", "beliveau"),
desc = c("x", "y"),
space = "fs", den = "10k", res = NA,
hemi = "L", format = "surface",
fname = c("f1", "f2"),
full_desc = c("A", "B"),
tags = list("genetics", "pet"),
N = c(6, 18), age = c("30", "40")
)
}
)
result <- neuromaps_available(source = "beliveau")
expect_equal(nrow(result), 1)
expect_equal(result$source, "beliveau")
})
})
describe("fetch_neuromaps_annotation", {
it("errors when both density and resolution provided", {
expect_error(
fetch_neuromaps_annotation(
"a", "b", "c",
density = "10k", resolution = "1mm"
),
"mutually exclusive"
)
})
it("downloads resolved entries", {
downloaded <- list()
tmp_dir <- withr::local_tempdir()
local_mocked_bindings(
resolve_neuromaps_entries = function(...) {
tibble::tibble(
source = "test", desc = "m", space = "fs",
den = "10k", res = NA, hemi = c("L", "R"),
fname = c("left.gii", "right.gii"),
rel_path = c("test/m/fs/", "test/m/fs/"),
checksum = c("aaa", "bbb"),
osf_project = c("4mw3a", "4mw3a"),
osf_file_id = c("f1", "f2")
)
},
download_neuromaps_file = function(url, destfile, ...) {
downloaded[[length(downloaded) + 1]] <<- destfile
destfile
}
)
result <- fetch_neuromaps_annotation(
"test", "m", "fs",
density = "10k", data_dir = tmp_dir
)
expect_length(result, 2)
expect_length(downloaded, 2)
})
})
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.