tests/testthat/test-PPTrank.R

# context("test-PPTrank")

X <- matrix(1:20, nrow = 10, ncol = 2)
Y <- data.frame(a = rep("a", 10), b = rep("b", 10))
Y1 <- matrix(1:20, nrow = 10, ncol = 2)
X1 <- matrix(1:20, nrow = 5)
X2 <- c(1,2,3,4,5)
Y2 <- c(1,2,3,4,5)

test_that("Can identify correct input", {
  # expect_error(PPTrank(X, Y, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y1, max = "1", penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X1, Y1, max = "1", penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X2, Y1, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X1, Y1, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y2, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "None", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "Fixed", rho_x = 90, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "Fixed", rho_x = 90, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = "abx"))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "CV", rho_x = 1:2, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10, alpha = 1))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10, alpha = "1"))
})

test_that("Can identify unmatched input",{
  expect_error(PPTrank(X, Y1, max = 1, penalty = "CV", rho_x = 0.9, rho_y = 0.9, permutation_no = 10))
  expect_error(PPTrank(X, Y1, max = 1, penalty = "Fixed", rho_x = seq(0.1,0.9,0.2), rho_y = seq(0.1,0.9,0.2), permutation_no = 10))
})

test_that("Can output correct values", {
  expect_length(PPTrank(X, Y1, max = 1, penalty = "CV", rho_x = seq(0.1,0.2,0.1), rho_y = seq(0.1,0.2,0.1), permutation_no = 10), 2)
  expect_length(PPTrank(X, Y1, max = 1, penalty = "Fixed", rho_x = 0.9, rho_y = 0.9, permutation_no = 10), 2)
})
YunhuiQi/TestPMD documentation built on May 5, 2022, 8:23 p.m.