tests/testthat/test_clustering.heuristics.KendallHeuristic.R

testthat::test_that("KendallHeuristic: heuristic function works", {

  heuristic <- KendallHeuristic$new()

  col1 <- c(2, 0, 1)
  col2 <- c(1, 1, 0)
  column.names <- c("ex", "Class")
  testthat::expect_type(suppressWarnings(heuristic$heuristic(col1 = col1,
                                                             col2 = col2,
                                                             column.names = column.names)),
                        "double")
})

testthat::test_that("KendallHeuristic: heuristic function checks parameter type", {

  heuristic <- KendallHeuristic$new()

  col1 <- c(1, 0, 1)
  col2 <- c(1, 2, 0)
  column.names <- c("ex", "Class")
  testthat::expect_message(heuristic$heuristic(col1 = col1,
                                               col2 = col2,
                                               column.names = column.names),
                           "[KendallHeuristic][WARNING] Columns must be real. Returning NA",
                           fixed = TRUE)

  col1 <- c(1, 2, 1)
  col2 <- c(2, 0, 0)
  column.names <- c("ex", "Class")
  testthat::expect_message(heuristic$heuristic(col1 = col1,
                                               col2 = col2,
                                               column.names = column.names),
                           "[KendallHeuristic][WARNING] Columns must be real. Returning NA",
                           fixed = TRUE)

  col1 <- c("2", "0", "1")
  col2 <- c(1, 1, 0)
  column.names <- c("ex", "Class")
  testthat::expect_equal(heuristic$heuristic(col1 = col1,
                                             col2 = col2,
                                             column.names = column.names),
                         NA)

  testthat::expect_message(heuristic$heuristic(col1 = col1,
                                               col2 = col2,
                                               column.names = column.names),
                           "[KendallHeuristic][ERROR] Error occurred calculating kendall heuristic: 'Error in cor.test.default(col1, col2, method = \"kendall\"): 'x' must be a numeric vector
' . Returning NA",
                           fixed = TRUE)

})

Try the D2MCS package in your browser

Any scripts or data that you put into this service are public.

D2MCS documentation built on Aug. 23, 2022, 5:07 p.m.