Nothing
## Tests for functions related to comparison of pathfindR results - Aug 2023
input_df_A <- example_pathfindR_output[1:20, ]
input_df_B <- example_comparison_output[1:20, ]
test_that("`combine_pathfindR_results()` -- works as expected", {
mock_graph <- mockery::mock(NULL)
mock_plot <- mockery::mock(NULL)
mockery::stub(combine_pathfindR_results, "combined_results_graph", mock_graph)
mockery::stub(combine_pathfindR_results, "graphics::plot", mock_plot)
expect_is(combined <- combine_pathfindR_results(input_df_A, input_df_B), "data.frame")
expect_true(nrow(combined) <= nrow(input_df_A) + nrow(input_df_B))
mockery::expect_called(mock_plot, 1)
mockery::expect_called(mock_graph, 1)
})
combined_df <- combine_pathfindR_results(input_df_A, input_df_B, plot_common = FALSE)
combined_df2 <- combined_df[combined_df$status != "common", ]
test_that("`combined_results_graph()` -- produces a ggplot object using the correct data",
{
# Common Terms, default
expect_is(p <- combined_results_graph(combined_df), "ggplot")
expect_true(all(p$data$type %in% c("gene", "common term")))
expect_equal(sum(p$data$type == "common term"), sum(combined_df$status ==
"common"))
# Selected 5 Terms
sel_terms <- combined_df$ID[1:5]
expect_is(p <- combined_results_graph(combined_df, selected_terms = sel_terms),
"ggplot")
expect_true(all(sel_terms %in% p$data$name))
# use_description = TRUE
expect_is(p <- combined_results_graph(combined_df, use_description = TRUE),
"ggplot")
# node_size = 'p_val'
expect_is(p <- combined_results_graph(combined_df, node_size = "p_val"),
"ggplot")
# errors when there are no common terms
expect_error(combined_results_graph(combined_df2), "There are no common terms")
})
test_that("`combined_results_graph()` -- argument checks work", {
expect_error(combined_results_graph(combined_df, use_description = "INVALID"),
"`use_description` must either be TRUE or FALSE!")
val_node_size <- c("num_genes", "p_val")
expect_error(combined_results_graph(combined_df, node_size = "INVALID"), paste0("`node_size` should be one of ",
paste(dQuote(val_node_size), collapse = ", ")))
expect_error(combined_results_graph(combined_df = "INVALID"), "`combined_df` should be a data frame")
wrong_df <- combined_df[, -c(1, 2)]
ID_column <- "ID"
necessary_cols <- c(ID_column, "combined_p", "Up_regulated_A", "Down_regulated_A",
"Up_regulated_B", "Down_regulated_B")
expect_error(combined_results_graph(wrong_df, use_description = FALSE), paste(c("All of",
paste(necessary_cols, collapse = ", "), "must be present in `results_df`!"),
collapse = " "))
ID_column <- "Term_Description"
necessary_cols <- c(ID_column, "combined_p", "Up_regulated_A", "Down_regulated_A",
"Up_regulated_B", "Down_regulated_B")
expect_error(combined_results_graph(wrong_df, use_description = TRUE), paste(c("All of",
paste(necessary_cols, collapse = ", "), "must be present in `results_df`!"),
collapse = " "))
expect_error(combined_results_graph(combined_df, selected_terms = "INVALID"),
"None of the `selected_terms` are in the combined results!")
})
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.