drop enercast submodule; drop Rcpp requirement; fix doc, complete code, fix fix fix
[epclust.git] / epclust / tests / testthat / test-assignMedoids.R
index 0192563..9b55d78 100644 (file)
@@ -3,35 +3,17 @@ context("assignMedoids")
 test_that("assignMedoids behave as expected",
 {
        # Generate a gaussian mixture
-       n = 999
-       L = 7
-       medoids = cbind( rep(0,L), rep(-5,L), rep(5,L) )
+       n <- 999
+       L <- 7
+       medoids <- cbind( rep(0,L), rep(-5,L), rep(5,L) )
        # short series...
-       series = t( rbind( MASS::mvrnorm(n/3, medoids[,1], diag(L)),
+       require("MASS", quietly=TRUE)
+       series <- t( rbind( MASS::mvrnorm(n/3, medoids[,1], diag(L)),
                MASS::mvrnorm(n/3, medoids[,2], diag(L)),
                MASS::mvrnorm(n/3, medoids[,3], diag(L)) ) )
 
        # With high probability, medoids indices should resemble 1,1,1,...,2,2,2,...,3,3,3,...
-       mi = epclust:::assignMedoids(medoids, series)
-       mi_ref = rep(1:3, each=n/3)
+       mi <- assignMedoids(series, medoids)
+       mi_ref <- rep(1:3, each=n/3)
        expect_lt( mean(mi != mi_ref), 0.01 )
-
-       # Now with a random matrix, compare with (~trusted) R version
-       series = matrix(runif(n*L, min=-7, max=7), nrow=L)
-       mi = epclust:::assignMedoids(medoids, series)
-       mi_ref = R_assignMedoids(medoids, series)
-       expect_equal(mi, mi_ref)
 })
-
-# R-equivalent of , requiring a matrix
-# (thus potentially breaking "fit-in-memory" hope)
-R_assignMedoids <- function(medoids, series)
-{
-       nb_series = ncol(series) #series in columns
-
-       mi = rep(NA,nb_series)
-       for (i in 1:nb_series)
-               mi[i] <- which.min( colSums( sweep(medoids, 1, series[,i], '-')^2 ) )
-
-       mi
-}