X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=epclust%2Ftests%2Ftestthat%2Ftest.filter.R;h=8dda50e98ef9a79c93c26d9187bce64e3b41ce95;hb=a52836b23adb4bfa6722642ec6426fb7b5f39650;hp=d94a5ac8052f1e9261bead01498c9e4a51fd4ee0;hpb=37c82bbafbffc19e8b47a521952bac58f189e9ea;p=epclust.git diff --git a/epclust/tests/testthat/test.filter.R b/epclust/tests/testthat/test.filter.R index d94a5ac..8dda50e 100644 --- a/epclust/tests/testthat/test.filter.R +++ b/epclust/tests/testthat/test.filter.R @@ -1,8 +1,17 @@ -TODO: test computeMedoids + filter -# #R-equivalent, requiring a matrix (thus potentially breaking "fit-in-memory" hope) -# mat_meds = medoids[,] -# mi = rep(NA,nb_series) -# for (i in 1:nb_series) -# mi[i] <- which.min( rowSums( sweep(mat_meds, 2, ref_series[i,], '-')^2 ) ) -# rm(mat_meds); gc() +context("filterMA") +test_that("[time-]serie filtering behave as expected", +{ + # Currently just a mean of 3 values + M = matrix(runif(1000,min=-7,max=7), ncol=10) + ref_fM = stats::filter(M, c(1/3,1/3,1/3), circular=FALSE) + fM = epclust:::filterMA(M) + + # Expect an agreement on all inner values + expect_equal(dim(fM), c(100,10)) + expect_equal(fM[2:99,], ref_fM[2:99,]) + + # Border values should be unchanged + expect_equal(fM[1,], M[1,]) + expect_equal(fM[100,], M[100,]) +})