Switch to side-by-side view

--- a
+++ b/tests/testthat/test-plotLong.R
@@ -0,0 +1,138 @@
+context("plotLong")
+
+demo <- suppressWarnings(get_demo_cluster())
+demo$block.pls2 <- suppressWarnings(mixOmics::block.pls(X=list(X=demo$X, 
+                                                               Z=demo$Z), 
+                                                        Y=demo$Y, ncomp = 5, 
+                                                        mode = "canonical"))
+
+
+pdf(NULL)
+test_that("plotLong failed on invalid - object", {
+    expect_error(plotLong(""), "invalid object, should be one of c(pca, spca, mixo_pls, mixo_spls, block.pls, block.spls)", fixed = TRUE)
+    expect_error(plotLong(3), "invalid object, should be one of c(pca, spca, mixo_pls, mixo_spls, block.pls, block.spls)", fixed = TRUE)
+    expect_error(plotLong(matrix()), "invalid object, should be one of c(pca, spca, mixo_pls, mixo_spls, block.pls, block.spls)", fixed = TRUE)    
+    expect_error(plotLong(list()), "invalid object, should be one of c(pca, spca, mixo_pls, mixo_spls, block.pls, block.spls)", fixed = TRUE)
+    expect_error(plotLong(data.frame()), "invalid object, should be one of c(pca, spca, mixo_pls, mixo_spls, block.pls, block.spls)", fixed = TRUE)
+})
+
+test_that("plotLong failed on invalid - time", {
+    # pca / spca
+    expect_error(plotLong(object = demo$pca, time = ""), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pca, time = 1), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pca, time = matrix()), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pca, time = list(1:10)), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pca, time = data.frame(1:10)), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pca, time = NA), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pca, time = 1:9), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pca, time = 1:11), "'time' should be a numeric vector")
+
+    # pls / spls
+    expect_error(plotLong(object = demo$pls, time = ""), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pls, time = 1), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pls, time = matrix()), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pls, time = list(1:10)), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pls, time = data.frame(1:10)), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pls, time = NA), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pls, time = 1:9), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$pls, time = 1:11), "'time' should be a numeric vector")
+    
+    # block.pls / block.spls
+    expect_error(plotLong(object = demo$block.pls, time = ""), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$block.pls, time = 1), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$block.pls, time = matrix()), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$block.pls, time = list(1:10)), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$block.pls, time = data.frame(1:10)), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$block.pls, time = NA), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$block.pls, time = 1:9), "'time' should be a numeric vector")
+    expect_error(plotLong(object = demo$block.pls, time = 1:11), "'time' should be a numeric vector")
+})
+
+test_that("plotLong failed on invalid - legend.block.name", {
+    expect_error(plotLong(object = demo$pca, legend.block.name = list()))
+    expect_error(plotLong(object = demo$pca, legend.block.name = matrix()))
+    expect_error(plotLong(object = demo$pca, legend.block.name = c(1,2)))
+    expect_error(plotLong(object = demo$pca, legend.block.name = c("a", "b")))
+  
+    expect_error(plotLong(object = demo$pls, legend.block.name = c(1,2)))
+    expect_error(plotLong(object = demo$pls, legend.block.name = c("a")))  
+    
+    expect_error(plotLong(object = demo$block.pls, legend.block.name = c(1,2)))
+    expect_error(plotLong(object = demo$block.pls, legend.block.name = c("a")))
+})
+
+
+test_that("plotLong works", {
+    expect_is(plotLong(object = demo$pca), "data.frame")
+    expect_is(plotLong(object = demo$spca), "data.frame")
+    expect_is(plotLong(object = demo$pls), "data.frame")
+    expect_is(plotLong(object = demo$spls), "data.frame")
+    expect_is(plotLong(object = demo$block.pls), "data.frame")
+    expect_is(plotLong(object = demo$block.spls), "data.frame")
+    expect_is(plotLong(object = demo$block.pls, time=1:10), "data.frame")
+    
+    # plot TRUE/FALSE
+    expect_is(plotLong(object = demo$pca, plot=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, plot=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, plot=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, plot=NULL), "data.frame")
+    
+    # scale TRUE/FALSE
+    expect_is(plotLong(object = demo$pca, scale=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, scale=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, scale=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, scale=NULL), "data.frame")
+    
+    # scale TRUE/FALSE
+    expect_is(plotLong(object = demo$pca, center=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, center=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, center=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, center=NULL), "data.frame")
+    
+    # legend TRUE/FALSE
+    expect_is(plotLong(object = demo$pca, legend=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend=NULL), "data.frame")
+    
+    # title string
+    expect_is(plotLong(object = demo$pca, title=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, title=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, title=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, title=list()), "data.frame")
+    expect_is(plotLong(object = demo$pca, title=data.frame()), "data.frame")
+    
+    # X.label
+    expect_is(plotLong(object = demo$pca, X.label=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, X.label=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, X.label=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, X.label=list()), "data.frame")
+    expect_is(plotLong(object = demo$pca, X.label=data.frame()), "data.frame")
+    
+    # Y.label
+    expect_is(plotLong(object = demo$pca, Y.label=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, Y.label=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, Y.label=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, Y.label=list()), "data.frame")
+    expect_is(plotLong(object = demo$pca, Y.label=data.frame()), "data.frame")
+    
+    # legend.title
+    expect_is(plotLong(object = demo$pca, legend.title=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend.title=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend.title=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend.title=list()), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend.title=data.frame()), "data.frame")
+    
+    expect_is(plotLong(object = demo$pca, legend=TRUE, legend.title=""), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend=TRUE, legend.title=FALSE), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend=TRUE, legend.title=1), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend=TRUE, legend.title=list()), "data.frame")
+    expect_is(plotLong(object = demo$pca, legend=TRUE, legend.title=data.frame()), "data.frame")
+    
+    # legend.block.name
+    expect_is(plotLong(object = demo$pca, legend.block.name = "pca.X"), "data.frame")
+    expect_is(plotLong(object = demo$pls, legend.block.name = c("pls.X", "pls.Y")), "data.frame")
+    expect_is(plotLong(object = demo$block.pls, legend.block.name = c("pls.X", "pls.Y", "pls.Z")), "data.frame")
+    
+})
+dev.off()
\ No newline at end of file