data("expQC", "hld.r", "hlo.r", "ovc.r", "ovd.r", "ovo.r")
test_that("Error if raw and exp different number of columns", {
expect_error(NanoStringQC(hlo.r, expQC[expQC$geneRLF == "hlo.r", ]))
})
test_that("Always returns data frame", {
expect_is(NanoStringQC(hlo.r, expQC[expQC$geneRLF == "HL1", ]), "data.frame")
})
test_that("ncol(raw) == nrow(exp) + 3", {
expect_equal(ncol(hlo.r), nrow(expQC[expQC$geneRLF == "HL1", ]) + 3)
})
test_that("No errors if column names start with a number", {
colnames(hlo.r) <- gsub("^X", "", colnames(hlo.r))
expect_error(NanoStringQC(hlo.r, expQC[expQC$geneRLF == "HL1", ]), NA)
})
test_that("Error if positive controls don't have concentrations in brackets", {
hlo.r$Name[hlo.r$Code.Class == "Positive"] <-
gsub("\\([0-9].*", "\\1", hlo.r$Name[hlo.r$Code.Class == "Positive"])
expect_error(NanoStringQC(hlo.r, expQC[expQC$geneRLF == "HL1", ]))
})
test_that("Error if non-standard column names", {
hlo.r.2 <- hlo.r
names(hlo.r.2)[1:2] <- c("A", "B")
expect_error(NanoStringQC(hlo.r.2, expQC[expQC$geneRLF == "HL1", ]))
})
test_that("Error if missing any gene types", {
hlo.r.3 <- dplyr::filter(hlo.r, Code.Class != "Housekeeping")
expect_error(NanoStringQC(hlo.r.3, expQC[expQC$geneRLF == "HL1", ]))
hlo.r.4 <- dplyr::filter(hlo.r, Code.Class != "Endogenous")
expect_error(NanoStringQC(hlo.r.4, expQC[expQC$geneRLF == "HL1", ]))
hlo.r.5 <- dplyr::filter(hlo.r, Code.Class != "Negative")
expect_error(NanoStringQC(hlo.r.5, expQC[expQC$geneRLF == "HL1", ]))
hlo.r.6 <- dplyr::filter(hlo.r, Code.Class != "Positive")
expect_error(NanoStringQC(hlo.r.6, expQC[expQC$geneRLF == "HL1", ]))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.