Switch to side-by-side view

--- a
+++ b/tests/testthat/test_pathway_enrichment.R
@@ -0,0 +1,69 @@
+context("Pathway enrichment")
+
+# load transcriptomic features
+data(transcriptome)
+rF_trans <- rankFeatures(transcriptome$logFC, transcriptome$pValue)
+names(rF_trans) <- transcriptome$Symbol
+
+# load proteomic features
+data(proteome)
+rF_prot <- rankFeatures(proteome$logFC, proteome$pValue)
+names(rF_prot) <- proteome$Symbol
+
+# load metabolomic features
+data(metabolome)
+rF_meta <- rankFeatures(metabolome$logFC, metabolome$pValue)
+names(rF_meta) <- metabolome$HMDB
+names(rF_meta) <- gsub("HMDB", "HMDB00", names(rF_meta))
+
+library(metaboliteIDmapping)
+
+test_that("provided data can be ranked", {
+  expect_is(rF_trans, "numeric")
+  expect_equal(length(rF_trans), nrow(transcriptome))
+
+  expect_is(rF_prot, "numeric")
+  expect_equal(length(rF_prot), nrow(proteome))
+
+  expect_is(rF_meta, "numeric")
+  expect_equal(length(rF_meta), nrow(metabolome))
+})
+
+test_that("pathway enrichment works.", {
+  dbs <- "kegg"
+  df <- getMultiOmicsFeatures(dbs = dbs)
+
+  omics_data <- initOmicsDataStructure()
+  expect_is(omics_data, "list")
+  expect_equal(length(omics_data), 3)
+  expect_equivalent(names(omics_data), c("transcriptome", "proteome", "metabolome"))
+
+  omics_data$transcriptome <- rF_trans
+  omics_data$proteome <- rF_prot
+  omics_data$metabolome <- rF_meta
+
+  expect_warning((es <- multiGSEA(df, omics_data)))
+  expect_equal(length(es), length(omics_data))
+  expect_true("pathway" %in% colnames(es$transcriptome))
+  expect_true("pval" %in% colnames(es$transcriptome))
+  expect_true("padj" %in% colnames(es$transcriptome))
+
+  expect_true("pathway" %in% colnames(es$proteome))
+  expect_true("pval" %in% colnames(es$proteome))
+  expect_true("padj" %in% colnames(es$proteome))
+
+  expect_true("pathway" %in% colnames(es$metabolome))
+  expect_true("pval" %in% colnames(es$metabolome))
+  expect_true("padj" %in% colnames(es$metabolome))
+
+  eP <- extractPvalues(
+    enrichmentScores = es,
+    pathwayNames = names(df[[1]])
+  )
+
+  expect_equal(ncol(eP), 2 * length(omics_data))
+  expect_equal(nrow(eP), length(df$transcriptome))
+
+  expect_lte(max(eP, na.rm = TRUE), 1)
+  expect_gte(min(eP, na.rm = TRUE), 0)
+})